Portainer Versions Save

Making Docker and Kubernetes management easy.

2.18.3

11 months ago

2.18.3

See Upgrading Portainer instructions.

Overview of changes

New Portainer CE 2.18.3 release

Kubernetes

Docker

  • Fixed issue preventing configuration of Portainer authentication settings with an alternative mTLS certificate

Portainer

REST API Changes

2.18.2

1 year ago

2.18.2

See Upgrading Portainer instructions.

Upgrade notice:

  • Users upgrading from 2.16.x should note that a bug was introduced then which prevented enforcing of TLS verifications. This has now been fixed but, in circumstances where certificates were not set up correctly and appeared to work due to the bug, you may now need to resolve the certificate issue or deliberately set the new 'Skip verification' toggle.

Overview of changes

New Portainer CE 2.18.2 release

Kubernetes

  • Increased potential success rate of updating portainer with larger databases by changing Kubernetes manifest and Helmchart for Portainer, to have “initialDelaySeconds” of 45(sec) and “failureThreshold” 3. https://github.com/portainer/portainer/issues/8860

Docker

Portainer

2.18.1

1 year ago

2.18.1

See Upgrading Portainer instructions.

Please note 2.18.0 is not publicly available. This release is 2.18.1 and is our next GA release since "2.17.x". This was done due to the need to provide an upgradeable preview image to a customer.

Breaking change

  • For breaking changes in the API, please see the REST API changes section
  • The Kompose functionality in Kubernetes has been removed since 2.17.0. Compose yaml can no longer be deployed on Kubernetes.
  • Moved edge devices to the homepage view and removed edge devices menu option under edge compute
  • Add devices button is replaced with new UX in environment wizard.

Resolved CVEs

Portainer dependencies:

  • SNYK-JS-BOOTBOX-174704
  • SNYK-JS-FASTJSONPATCH-3182961
  • SNYK-JS-MINIMATCH-3050818
  • SNYK-JS-SANITIZEHTML-2957526
  • SNYK-JS-XMLDOMXMLDOM-3042243
  • SNYK-JS-XMLDOMXMLDOM-3092934
  • CVE-2022-23471
  • CVE-2021-41092
  • CVE-2022-41717
  • CVE-2022-32149
  • CVE-2022-27664
  • SNYK-GOLANG-GOLANGORGXNETHTTP2-3160322

Agent dependencies:

  • CVE-2022-41717
  • SNYK-GOLANG-GOLANGORGXNETHTTP2-3160322

Upgrade notice:

  • Since release 2.17.x we have added the ability to upgrade Edge Agents from Portainer when running on Docker Standalone / Docker Swarm / Nomad. Before using this feature we strongly advise to test this on a non-production environment first and have an alternative method available to connect to the Edge Device.
  • Any clusters connected to Portainer of version 1.23 Kubernetes and above will have their Pod Security Policies (if they have any and are using the pod security constraints feature) updated to the Pod Security Standards

Overview of changes

New Portainer CE 2.18.1 release

Edge

Kubernetes

Docker

Portainer

Development

REST API Changes

New Endpoints: 1

  • POST /endpoints/{id}/docker/v2/browse/put

Deleted Endpoints: None

Modified Endpoints: 51

  • POST /custom_templates

  • PUT /custom_templates/{id}

  • GET /edge_groups - Responses changed - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • POST /edge_groups - Responses changed - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • DELETE /edge_groups/{id} - Responses changed - Modified response: 204 - Description changed from '' to 'No Content' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /edge_groups/{id} - Responses changed - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • PUT /edge_groups/{id} - Responses changed - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /edge_jobs - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • POST /edge_jobs - Responses changed - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • DELETE /edge_jobs/{id} - Responses changed - Modified response: 204 - Description changed from '' to 'No Content' - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /edge_jobs/{id} - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • POST /edge_jobs/{id} - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /edge_jobs/{id}/file - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /edge_jobs/{id}/tasks - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • DELETE /edge_jobs/{id}/tasks/{taskID}/logs - Responses changed - Modified response: 204 - Description changed from '' to 'No Content' - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /edge_jobs/{id}/tasks/{taskID}/logs - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • POST /edge_jobs/{id}/tasks/{taskID}/logs - Responses changed - Modified response: 204 - Description changed from '' to 'No Content' - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /edge_stacks - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • POST /edge_stacks - Responses changed - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • DELETE /edge_stacks/{id} - Responses changed - Modified response: 204 - Description changed from '' to 'No Content' - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /edge_stacks/{id} - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • PUT /edge_stacks/{id} - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /edge_stacks/{id}/file - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • PUT /edge_stacks/{id}/status - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 403 - Description changed from '' to 'Forbidden' - Modified response: 404 - Description changed from '' to 'Not Found' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • DELETE /edge_stacks/{id}/status/{endpoint_id} - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 403 - Description changed from '' to 'Forbidden' - Modified response: 404 - Description changed from '' to 'Not Found' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /edge_templates - Responses changed - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • POST /endpoint_groups

  • PUT /endpoint_groups/{id}

  • GET /endpoints - New query param: edgeAsync - Deleted query param: edgeDevice - Modified query param: edgeDeviceUntrusted - Description changed from 'if true, show only untrusted endpoints, if false show only trusted (relevant only for edge devices, and if edgeDevice is true)' to 'if true, show only untrusted edge agents, if false show only trusted edge agents (relevant only for edge agents)'

  • POST /endpoints

  • PUT /endpoints/{id}

  • POST /endpoints/{id}/edge/jobs/{jobID}/logs - Responses changed - Modified response: 200 - Description changed from '' to 'OK' - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /endpoints/{id}/edge/stacks/{stackId} - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 404 - Description changed from '' to 'Not Found' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /endpoints/{id}/kubernetes/helm - Modified query param: filter - Required changed from true to false - Modified query param: namespace - Required changed from true to false - Modified query param: selector - Required changed from true to false

  • DELETE /endpoints/{id}/kubernetes/helm/{release} - Modified query param: namespace - Required changed from true to false

  • PUT /endpoints/{id}/settings

  • POST /registries

  • PUT /registries/{id}

  • POST /resource_controls

  • POST /stacks

  • POST /stacks/{id}/git

  • POST /team

  • PUT /users/{id}

  • GET /webhooks - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • POST /webhooks - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 409 - Description changed from '' to 'Conflict' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • DELETE /webhooks/{id} - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • PUT /webhooks/{id} - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 409 - Description changed from '' to 'Conflict' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • POST /webhooks/{token} - Responses changed - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /websocket/attach - Responses changed - Modified response: 200 - Description changed from '' to 'OK' - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 403 - Description changed from '' to 'Forbidden' - Modified response: 404 - Description changed from '' to 'Not Found' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /websocket/exec - Responses changed - Modified response: 200 - Description changed from '' to 'OK' - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 409 - Description changed from '' to 'Conflict' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

  • GET /websocket/pod - Responses changed - Modified response: 200 - Description changed from '' to 'OK' - Modified response: 400 - Description changed from '' to 'Bad Request' - Modified response: 403 - Description changed from '' to 'Forbidden' - Modified response: 404 - Description changed from '' to 'Not Found' - Modified response: 500 - Description changed from '' to 'Internal Server Error'

2.17.1

1 year ago

2.17.1

See Upgrading Portainer instructions.

Resolved CVEs

Overview of changes

New Portainer CE 2.17.1 release

Docker:

Portainer:

2.17.0

1 year ago

2.17.0

See Upgrading Portainer instructions.

Known Issues

  • Running Portainer with Docker Engine <= 19.03 (Docker API <= 1.40) will cause a fatal error similar to failed initializing upgrade service | error="failed to determine container platform: failed to retrieve docker info: Error response from daemon: client version 1.41 is too new. Maximum supported API version is 1.40"

Breaking change

  • For breaking changes in the API, please see the REST API changes section
  • The Kompose functionality in Kubernetes has been removed. Compose yaml can no longer be deployed on Kubernetes.

Resolved CVEs

Portainer dependencies:

Agent dependencies:

Overview of changes

New Portainer CE 2.17.0 release

Edge:

Kubernetes:

Docker:

Portainer:

Development:

REST API changes

New Endpoints

  • GET /kubernetes/{id}/rbac_enabled
  • GET /status/nodes
  • GET /system/info
  • GET /system/nodes
  • GET /system/status
  • POST /system/upgrade
  • GET /system/version

Deleted Endpoints

  • GET /edge_update_schedules
  • POST /edge_update_schedules
  • GET /edge_update_schedules/active
  • GET /edge_update_schedules/agent_versions
  • DELETE /edge_update_schedules/{id}
  • GET /edge_update_schedules/{id}

Deprecated Endpoints

  • GET /status - Deprecated: use the /system/status endpoint instead to retrieve the Portainer status.
  • GET /status/version - Deprecated: use the /system/version endpoint instead to check if portainer has an update available.

Modified Endpoints

  • POST /edge_jobs
  • POST /edge_jobs/{id}
  • POST /edge_stacks
  • PUT /edge_stacks/{id}
  • PUT /settings

2.16.2

1 year ago

2.16.2

See Upgrading Portainer instructions.

Overview of changes

New Portainer CE 2.16.2 release

Edge:

Portainer:

2.16.1

1 year ago

2.16.1

See Upgrading Portainer instructions.

Overview of changes

New Portainer CE 2.16.1 release

Kubernetes:

Docker:

Portainer:

2.16.0

1 year ago

2.16.0

See Upgrading Portainer instructions.

Deprecation notice:

  • Proposing to deprecate ACI (Azure Container Instances) and remove the functionality to connect to ACI, view existing containers and deploy new containers.

Upgrade notice:

  • portainer/portainer:latest moved to portainer/portainer:2.16 .

React migration:

  • Migrated from Angular to React: Tag selector for Environment Details view.
  • Migrated from Angular to React: Teams view.

Overview of changes

New Portainer CE 2.16.0 release

Kubernetes:

Docker:

Portainer:

Nomad:

Development:

2.15.1

1 year ago

2.15.1

See Upgrading Portainer instructions.

Overview of changes

New Portainer CE 2.15.1 release

Docker:

Portainer:

2.15.0

1 year ago

2.15.0

See Upgrading Portainer instructions.

Deprecation notice:

Breaking change - Edge:

  • Breaking change in API where the endpoint filter edgeDeviceFilter has been replaced by edgeDevice and edgeDeviceUntrusted

Browser cache:

  • Improved caching to prepare a resolution for an issue where certain browsers need a manual browser refresh for new version assets to load. The change only takes effect for upgrades subsequent to migration to 2.15. https://github.com/portainer/portainer/issues/7443

React migration:

  • Migrated docker/containers/list views to React.
  • Migrated the Docker console.
  • Migrated Azure Container Instances views to React.
  • Migrated the sidebar menu and adjusted the Settings page.
  • Migrated the Kubectl shell window.
  • Migrated tooltip into react component.
  • Migrated page header into React component.

Overview of changes

New Portainer CE 2.15.0 release

Kubernetes:

Docker:

Portainer:

Edge:

Registry: