Links

Release Notes

The following release notes are for the Business Edition of Portainer. For Community Edition release notes, refer to the GitHub releases page.

Release 2.18.3

May 22, 2023
In this release, we introduce an experimental ChatGPT integration. Although it promises exciting possibilities, it's in the early stages of development. We recommend its use for testing and development, and urge caution in production environments. We greatly appreciate your feedback and understanding during this phase.

Edge

  • Fixed issue preventing configuration of Portainer authentication settings with an alternative mTLS certificate
  • Resolved issue causing edge agent to skip command processing during full snapshot resend

Kubernetes

  • Restored options and wording in the Kubernetes Advanced deployment screen's Automatic updates section, following regression from changes in 2.17. (portainer/portainer#8950)

Docker

  • Resolved issue preventing correct display of network details when containers are running on an unexpected Docker swarm node. (portainer/portainer#8981)

Portainer

  • Introduced ChatGPT integration as an experimental feature, currently not recommended for production environment use
  • Fixed issue preventing LDAP server from creating a connection when using TLS 1.2. (portainer/portainer#8980)
  • Implemented minor UI changes to clarify existing experimental and beta features, ensuring accurate icon and wording display. (portainer/portainer#8951)
  • Corrected an issue causing the polling indicator to float incorrectly in UI when pulling Git repo list on the stack creation page. (portainer/portainer#8982)
  • Resolved syntax styling display issue in web editor. (portainer/portainer#8984)
  • Improved button color contrast in web editor. (portainer/portainer#8985)
  • Fixed visual hierarchy in web editor selection behavior. (portainer/portainer#8986)

REST API Changes

Release 2.18.2

May 1, 2023

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.

Edge

  • Fixed issue where users were unable to update their Edge Agent to the latest version because the corresponding option was not available when creating a scheduled update

Kubernetes

  • Increased potential success rate of updating Portainer with larger databases by changing Kubernetes manifest and Helm chart for Portainer to have initialDelaySeconds of 45 (sec) and failureThreshold of 3. portainer/portainer#8860

Docker

Portainer

  • Fixed issue where the option to skip TLS verification was missing when editing a stack created from git. Additionally, to adhere to security best practices, the option’s default value has been corrected to be set to off during migration portainer/portainer#8853
  • Fixed issue where TLS verification was being skipped when creating / editing stacks created from git in version 2.16.x portainer/portainer#8853
  • Fixed issue where the port number in the displayed webhook link was incorrect when Portainer was running behind a reverse proxy
  • Resolved an issue with the updated web editor component, where it was not loading long YAML files correctly portainer/portainer#8848

Release 2.18.1

April 18, 2023
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 changes

  • 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

Edge

  • Introduced a retry policy for edge stack deployment to improve success rate
  • Fixed issue where browse snapshot button was clickable for Kubernetes and Nomad edge agents in async mode
  • Fixed issue where upgrading edge agent from ECR private registry using certificates failed
  • Fixed issue when browsing async edge agents before first snapshot is received.
  • Provide feature flag for FDO feature to be shown in UI portainer/portainer#8696
  • Fixed issue when browsing non-existent async agent snapshot cause backend panic
  • Fixed issue for remote update schedules error incorrectly displaying for non admin users
  • Fixed the issue where the edge stack is not removed from edge agent when it has been deleted while edge agent is offline
  • Fixed issue where live connect button is clickable for async environment when it shouldn't be portainer/portainer#8697
  • Fixed issue where edge agent panics with malformed edge key
  • Introduced ability to view container's environment variable when browsing snapshot
  • Removed "Add Edge devices" from Edge Compute and introduced to Environment wizard by renaming Edge Agent to Edge Agent Standard and introduced Edge Agent Async UI options portainer/portainer#8783
  • Fixed an issue where "copy token" button was missing from edge agent environment wizard portainer/portainer#8554
  • Introduced remote updating edge agent from a private registry for docker standalone environment
  • Introduced ability to assign group, edge groups and tags to edge environment when using AEEC script
  • Fixed issue where live connect button is clickable for async environment when it shouldn't be portainer/portainer#8697
  • Fixed issue where edge job logs was not retrieved correctly when edge groups contain async devices
  • Changed default value for async check-in intervals from disabled to 1 minute to improve success rate of initial edge agent connection
  • Renamed AEEC to "Auto onboarding" for better user understanding

Kubernetes

  • Introduced a new feature to allow creating of a MicroK8s Kubernetes cluster on existing machines.
  • Improved performance of Kubernetes screens by adjusting rate limiting of Kubernetes go client. portainer/portainer#8682
  • Fixed an issue when provisioning a Civo Kubernetes cluster with the Kubernetes version left as the latest, due to Civo introducing Talos as a new Kubernetes cluster type (instead of K3s on Alpine) which then only applied to the latest Kubernetes version.
  • Improved Kubernetes Applications page performance by introducing a namespace filter. portainer/portainer#8637
  • Improved Kubernetes Dashboard page performance. portainer/portainer#8635
  • Improved the load time of various Kubernetes pages by removing existing API calls that retrieve namespace resource quota information, where they are not needed. portainer/portainer#8571
  • Introduced the ability to set annotations against various different Kubernetes objects via the existing form pages.
  • Introduced a new Services screen in Kubernetes environments to improve the visibility of all services that may exist in a cluster, and enable removing where they've inadvertently been left behind after manual removal of applications/deployments. portainer/portainer#8613
  • Introduced the ability to upload an internal SSL/TLS certificate which can then be used to access a Helm repository hosted on a private server.
  • Updated the pod security constraints feature to use newer OPA Gatekeeper 2.9 and moved the feature away from using Pod Security Policy resources with Kubernetes clusters of 1.23 and above (as they are now removed in Kubernetes 1.25 and above).
  • Added migration to ensure existing pod security constraints work on environments with new Pod Security Standards of updated OPA Gatekeeper 2.9. This includes migrating edge environments on post-upgrade connect that may occur on clicking into via Homepage.
  • Resolved an issue where pod security constraints were not being enforced (since 2.16).

Docker

  • Fixed issue where users are not able to re-create container with multiple networks
  • Fixed issue with relative path not working when private registry is used, due to private registry credentials not passing to unpacker
  • Resolved an issue where default storage detection logic that runs on Kubernetes environment connection was incorrectly running on Docker environment connection, and was therefore causing an error to be output to the logs (but was otherwise benign). portainer/portainer#8606
  • Improved the existing UI around GPU support for Docker Standalone environments, introduced an overall toggle to turn this on or off and generally improved performance in Docker Containers and Stacks screens where GPU columns may show. portainer/portainer#8646
  • Defaulted the image up to date indicator to on for new Docker environments added, or on upgrade from CE to BE for all Docker environments (now that caching and Ajax load performance improvements have been applied to this feature).
  • Fixed an issue where stack name validation was missing, causing deployments to fail portainer/portainer#8629

Nomad

  • Fixed issue where Nomad Edge Agent install script causes error when using environment variables
  • Introduced ability to upgrade edge agent in Nomad environment from within portainer UI

Portainer

  • Fixed issue where container log not showing when logs contain NULL value
  • Added form validation for S3 compatible host field
  • Resolved a minor UI issue with the Container details page's container health panel alignment and content label wrapping. portainer/portainer#8636
  • Fixed a typo in the placeholder text for the access control component's Authorized users dropdown where it said 'teams' but should have said 'users'. portainer/portainer#8565
  • Fixed issue where stack can not be deleted if relative path is removed from the mount point
  • Fixed issue where logs in JSON format displayed incorrectly in log viewer portainer/portainer#8787
  • Resolved an issue with slow performance of certain actions (such as bulk removing of unused container volumes or adding of Kubernetes ingresses) when a user has a long list of notifications (shown via the bell icon in the page header). portainer/portainer#8604
  • Fixed issue where you can not connect or configure Azure private registry from Portainer while registry is empty
  • Added release testing of ARM32 architecture for Portainer Agent
  • Resolved an issue that occurred when updating user preferences. portainer/portainer#8570
  • Introduced UI mechanism for automatic retrying of tunnel connection when it fails due to high latency portainer/portainer#8784
  • Added certificate support of AWS IAM Role Anywhere authentication for Agent and Edge Agent portainer/portainer#8789
  • Updated hide internal authentication prompt option to default to off
  • Fixed issue where searching is not functional in associated edge environment when creating edge group portainer/portainer#8589
  • Fixed issue with Docker Swarm environment where containers count weren't displaying correctly in homepage. portainer/portainer#8695
  • Fixed issue where skipping https verification was default to true for Azure git deployment portainer/portainer#8698
  • Fixed issue where TLS Min Version was not fully enforced portainer/portainer#8788
  • Fixed a minor issue on restarting a container where the toaster pop-up message shown had an extraneous slash in front of the container name. portainer/portainer#8563
  • Introduced ability to use different certificate for mTLS communication between Portainer server and agent.
  • Fixed an issue while in dark mode, where, with any auto-filled text in fill-ins, the cursor completely disappeared until you started typing again. portainer/portainer#8564
  • Resolved a minor issue in the Browse Registry screen on Kubernetes environments, where the Registries breadcrumb link would take non-admin users back to the Homepage instead of the Registries list screen.
  • Provide feature flag for FDO feature to be shown in UI portainer/portainer#8696
  • Fixed issue of missing requirement of TLS definition for endpoint creation and correct tagids parameter in swagger API portainer/portainer#8780
  • Improved Edge Agent Health status indicator and keep consistency with API response portainer/portainer#8781
  • Fixed issue where git deployment failed to edit or redeploy when compose path begin with slash portainer/portainer#8782
  • Fixed an issue in the restore from backup function, where a timeout error can occur and Portainer does not restart with the backup restored. portainer/portainer#8792

Development

REST API Changes

  • Fixed the API Swagger/OpenAPI documentation for some IDs that were defined as strings but should be integers. portainer/portainer#8794
  • Added to the API Swagger/OpenAPI documentation that you can upload a file to a Docker Standalone host when the host management feature is enabled. portainer/portainer#8793
New Endpoints: 2
  • GET /edge_update_schedules/previous_versions
  • POST /sshkeygen
Deleted Endpoints: 2
  • GET /system/info
  • POST /system/upgrade
Modified Endpoints: 39
  • POST /cloud/{provider}
  • POST /cloudcredentials
    • Description changed from 'Create a cloud credential Access policy: authenticated' to 'delete delete a cloud credential by ID Access policy: authenticated'
    • New query param: id
  • POST /custom_templates
  • PUT /custom_templates/{id}
  • POST /edge_groups
  • PUT /edge_groups/{id}
  • POST /edge_jobs
  • POST /edge_jobs/{id}
  • POST /edge_stacks
  • PUT /edge_stacks/{id}
  • POST /edge_update_schedules
  • GET /edge_update_schedules/active
  • GET /edge_update_schedules/agent_versions
  • 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}/docker/v2/browse/put
    • Description changed from 'Upload a file under a specific path on the file system of an environment (endpoint). Access policy: authenticated' to 'Use this environment(endpoint) to upload TLS files. Access policy: administrator'
    • Responses changed
      • New response: 204
      • Deleted response: 200
  • 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}/registries/{registryId}
  • PUT /endpoints/{id}/settings
  • POST /gitops/repo/files/search
  • POST /gitops/repo/refs
  • POST /ldap/admin-groups
  • POST /ldap/check
  • POST /ldap/groups
  • POST /ldap/test
  • POST /ldap/users
  • POST /registries
  • PUT /registries/{id}
  • POST /resource_controls
  • PUT /settings
  • POST /stacks
  • POST /team
  • POST /webhooks
  • PUT /webhooks/{id}
  • PUT /webhooks/{id}/reassign

Release 2.17.1

February 22, 2023

Resolved CVEs

Docker

  • Fixed issue with recreating containers in the Portainer UI if they have been originally created via the CLI. portainer/portainer#8507

Portainer

  • Fixed an issue where upgrading to Business Edition leaves behind limited stack. portainer/portainer#8516
  • Fixed an issue where Edge Agent updater leaves behind limited stack.
  • Fixed grammar of placeholder for region field in S3 backup configuration. portainer/portainer#8515
  • Fixed an issue where an error occurred for upgrading Portainer to 2.17.0 version when Docker engine version is 19.03. portainer/portainer#8514
  • Fixed an issue where node enforcement message displayed incorrectly for trial license users.
  • Fixed an issue where git credentials are not selected when editing stack deployed from git repository.

Release 2.17.0

February 7, 2023

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 changes

  • 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.
  • Moved Edge Devices to the homepage view and removed Edge Devices menu option under Edge Compute
  • Add devices button is temporarily located on the Edge Compute Settings page

Resolved CVEs

Portainer dependencies

Agent dependencies

Upgrade notice

  • This release has added the ability to upgrade Edge Agents from Portainer when running on Docker Standalone. 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.

Edge

  • Introduced the ability to remotely update edge agents from within Portainer
  • Moved Edge Devices to the homepage view: portainer/portainer#8333
  • Introduced the ability to browse snapshots of async edge environments from homepage view: portainer/portainer#8336
  • Optimized performance for scaling large numbers of edge agents: portainer/portainer#8349
  • Introduced option for pre-pull of images for edge stack deployment to increase deployment success rate
  • Added edge group support in edge jobs to allow execution across many devices
  • Introduce the ability to edit edge agent tunnel URL and API server URL from within Portainer
  • Introduced improved environment tile layout to address consistency when edge devices moved to homepage: portainer/portainer#8334
  • Clarified UX around polling intervals and poll frequency option in edge compute settings between async and normal edge agents.
  • Added info text to waiting room view
  • Fixed issue where edge stack incorrectly deployed to default namespace when there is a specified namespace defined in the manifest: portainer/portainer#8346
  • Fixed issue where select all checkbox is missing for edge stack and edge job tables: portainer/portainer#8029
  • Fixed issue with Edge device tags not showing on Create Edge Group screen: portainer/portainer#7936
  • Fixed issue where delete edge device does not remove it from the edge groups mapping: portainer/portainer#8348
  • Fixed issue where edge stack failed to deploy with private registry in async mode
  • Fixed issue where actions icon under edit edge stack page is not consistent

Kubernetes

  • Introduced new log viewer to Portainer Business Edition
  • Introduced the ability to edit the YAML manifest of Kubernetes objects and apply the changes via the Kubernetes patch function
  • Introduced global and cluster-level options to allow enforcing of code-based deployment of Kubernetes objects, preventing the use of Portainer forms and other less easy-to-repeat workflows
  • Introduced a new setting in the Cluster setup screen of a Kubernetes environment to allow enforcing of admin-only deploying of ingresses
  • Introduced the ability to specify updates to existing environment variables of a deployment via query string parameters on the Kubernetes application redeploy webhook
  • Added a rolling restart button to the Kube application UI
  • Introduced a new rollout-restart parameter to Kube application redeploy webhooks to allow remote initiating of zero-downtime deployment rolling restarts
  • Introduced an alternate means of authenticating connections to the Google Cloud platform (used by our KaaS provisioning of Google Kubernetes Engine environments), following their deprecation of the gcp auth plugin in Kubernetes v1.22 and removal in v1.26
  • Introduced experimental Kubernetes functionality (behind a feature flag) to allow installing of MicroK8s to existing machines
  • The Kubernetes deployment option for docker-compose format manifests and the Kompose conversion tool that enabled this have now been removed due to long-standing Common Vulnerabilities and Exposures (CVEs) in Kompose: portainer/portainer#8355
  • Improved the explanatory tooltips and info text for Kube application automatic updates functionality: portainer/portainer#8223
  • Updated Kubernetes as a Service (KaaS) cluster provisioning to use the latest eksctl tool for the AWS EKS platform, and support up to v1.23 of Kubernetes (use of this version was previously failing)
  • Resolved an issue where Kubernetes secrets were no longer shown in an expand panel for each application listed in the Applications list screen: portainer/portainer#8118
  • Improved config setting defaults when connecting clusters: ingress controllers (with a class) are auto detected/set as allowed, metrics API features setting is on (if metrics server is deployed), and storage classes with the 'default' annotation are on: portainer/portainer#8240
  • The Kubernetes Operator role is not intended to have secrets update permission and hence, as a security consideration, this permission is now removed from Portainer
  • Corrected the look of the fallback icon used for Helm charts that don't have their own icon: portainer/portainer#8116
  • Made a change to default the resource quota's resource assignment setting to off for new Kubernetes namespaces but always show the toggle (although it can be disabled for change if the cluster's (BE only) allow over-commit setting is off): portainer/portainer#8122
  • In the Kubernetes Add ingress screen, corrected the namespace selection dropdown to only show those that the user has access to: portainer/portainer#8150
  • Added a check in Kube Cluster setup and Namespace -> Manage access to see if Kube RBAC addon is enabled in the cluster, and if not, show a warning that Portainer RBAC functionality will be limited. Warning also gives info on enabling RBAC in the cluster: portainer/portainer#8171
  • Resolved an issue that was causing an 'Unable to get k8s environment access' error on deleting of a Kubernetes edge environment
  • When connecting a Kubernetes environment to Portainer via kubeconfig import, stop deleting of any extant 'portainer' namespace in the cluster
  • When using Kubernetes (KaaS) cluster provisioning and choosing the Azure Kubernetes Service (AKS) option, only node size options that are valid for provisioning now show. Previously, there was at least one option which gave an error on use
  • Resolved two scenarios where importing of the kubeconfig of a Kubernetes cluster raised an error that caused a stuck 'Deploying' status
  • In Kube Create namespace and Namespace details screens, made the resource assignment toggle always visible - even when the cluster's resource over-commit option is off (when it will show but be disabled for change)
  • Fixed an issue introduced in 2.16, where deploying of an ingress via the Portainer Add ingress form does not label the ingress object in the cluster with a Portainer 'internal' deployment label. Any deployment of ingress via Portainer should have this: portainer/portainer#8337
  • Fixed an issue introduced in 2.16, where, when attaching a ConfigMap to an application being deployed via the Portainer Add application form, the ConfigMap is wrongly included as a Secret in the manifest and the deployment could therefore fail: portainer/portainer#8323
  • Fixed an incorrect mention in the UI of a 'docker-compose file' which was showing when editing a Kube application deployed from git: portainer/portainer#8228
  • Fixed an issue preventing adding of a Helm repo that has a redirect: portainer/portainer#7892
  • Fixed an issue where the kubectl shell does not work when Istio Proxy is installed in the cluster: portainer/portainer#8321
  • Fixed an issue introduced in 2.16 where the Kube Create namespace screen's CPU and Memory resource allocation max limits did not have other namespaces' resource amounts subtracted when the cluster's allow resource over-commit option was turned off

Docker

  • Introduced support of relative paths for volumes when creating a Docker Standalone or Swarm stack that uses a git repository. Support in edge stacks is excluded at present: portainer/portainer#6390
  • Introduced new log viewer to Portainer Business Edition
  • Introduced pull image param for stack webhook to turn pull-image on and off
  • Introduced 24 hour caching for new image notification
  • Upgraded docker compose to v2.13.0: portainer/portainer#8289
  • Provided clarification and rewording in the UI around the 'Pull latest image' toggle in Stacks, Swarm Services and Service details update and Container recreate: portainer/portainer#8226
  • Updated embedded docker binaries in Portainer and agent from 20.10.13 to 20.10.18: portainer/portainer#8290
  • Fixed issue of not been able to associate stack created from other docker environments: portainer/portainer#8030
  • Fixed issue where content overlap edge of screen and left column becomes too narrow: portainer/portainer#8161
  • Fixed issue where default option for access control is not selected when editing public resource: portainer/portainer#8162
  • Fixed incorrect wording for private box selector under user access control: portainer/portainer#7969
  • Fixed issue where text input jumps to the end of the input box in repository form: portainer/portainer#8214
  • Fixed issue where scrollbar always visible in web editor form regardless contents of web editor: portainer/portainer#7968
  • Fixed issue where number of stopped container does not display in dashboard correctly: portainer/portainer#7925
  • Fixed an issue where deleting a network, config or secret did not show a confirmation warning modal: portainer/portainer#7920
  • Fixed an issue where a user cannot upload a stack file as a custom template: portainer/portainer#7921
  • Fixed an issue where the old-style UI was still being used in a Docker template-related page: portainer/portainer#7950
  • Fixed issue where container webhook URL always changed on each recreation
  • Fixed issue where new image notification only relies on checking first digest which is not always accurate: portainer/portainer#7148

Portainer

  • Introduced support for S3 compatible hosts for backup and restore: portainer/portainer#6555
  • Introduced support for GitHub container registry as a registry type
  • On the header context sensitive help icon, the red dot notification has been removed. This was put there to highlight the new feature in 2.16: portainer/portainer#8167
  • Updated Portainer dependencies of Business Edition
  • Upgraded version of golang.org/x/net from v0.0.0 to v0.1.0 for agent: portainer/portainer#8073
  • Upgraded jwt version to 4.4.2: portainer/portainer#7970
  • Improved Portainer tooltips to allow them to stay open long enough for clicking of links and selecting of text in them. Also left-justified them for better readability: portainer/portainer#8224
  • Resolved an issue related to revoking of user permissions: portainer/portainer#8338
  • Fixed issue where password could be leaked to the log files when errors occur: portainer/portainer#8343
  • Fixed issue when navigating to the login page log as a unique visitor in Matomo: portainer/portainer#8344
  • Fixed an svg attribute height error in the page (visible via the browser console): portainer/portainer#8105
  • Fixed typo where "occured" is used in error message instead of "occurred": portainer/portainer#8027
  • Fixed issue where long notification is pushed out of table making it hard to read: portainer/portainer#8215
  • Fixed incorrect link for other settings and agent setup: portainer/portainer#8347
  • Fixed issue where deleted environment does not clear in table and sidebar when deleting current selected environment: portainer/portainer#8291
  • Fixed issue where standard users were not able to change ownership to their own team: portainer/portainer#8216
  • Fixed issue where user encountered an error by deleting tags associated to deleted environments: portainer/portainer#8089
  • Fixed an issue where the 'hide for all users' button styling behaves differently in dark mode: portainer/portainer#7926
  • Fixed a minor issue where the pages and items per page elements in data table pagination controls did not quite vertically align with each other: portainer/portainer#8227
  • Fixed issue where team lead feature is unexpectedly enabled when external authentication is enabled with team sync: portainer/portainer#7972
  • Fixed issue where response from API when creating edge environments wasn't clearly specifying that URL is compulsory: portainer/portainer#7997
  • Fixed issue where internal authentication setting is not saved when switch from other authentication method without refreshing browser manually: portainer/portainer#8028
  • Fixed issue where admin users are not able to delete expired or revoked license
  • Fixed issue where user unable to remove group configuration with active directory authentication: portainer/portainer#7558
  • Fixed issue where user is not removed from team when removed from LDAP group

Nomad

  • Fixed issue around task logs not loading if they are empty
  • Fixed issue where old UI components were still being used for Nomad related pages

Development

  • Replaced Feather svg icon set with Lucide, a Feather fork that is actively maintained and has a larger and improved range of icons: portainer/portainer#8121
  • Removed Font Awesome and all remaining references to it. All icons are now svg-based: portainer/portainer#8120
  • Redesigned Portainer database migration versioning to improve the robustness of the upgrade process: portainer/portainer#8153
  • Replaced aws-sdk-go with aws-sdk-go-v2
  • Fixed issue where random number generator is not seeded causing predictable outputs: portainer/portainer#8342
  • Resolved issues building Portainer (caused by third-party deletion of the github.com/rkl-/digest package) by replacing the package with imported code. This provides HTTP Digest Authentication for Portainer's FIDO Device Onboard (FDO) protocol support: portainer/portainer#8177
  • Corrected a minor UI issue around a corrupted file-code.svg icon: portainer/portainer#8117
  • Removed the Go experimental module golang.org/x/exp, replacing the small amount of functionality that we use from it with direct code: portainer/portainer#8176
  • Deprecated the github.com/portainer/libhelm Helm wrapper and moved the code into CE, since EE can now share from CE. This is used by Portainer's Helm functionality: portainer/portainer#8178
  • Fixed issue where struct tag is malformed with incorrect blank space in template_file.go: portainer/portainer#7923
  • (swagger) fix licenses attach route

REST API changes

New Endpoints

  • GET /docker/{environmentId}/containers/{containerID}/image_status
  • GET /docker/{environmentId}/services/{serviceID}/image_status
  • GET /docker/{environmentId}/stacks/{id}/images_status
  • GET /kubernetes/{id}/namespaces/{namespace}/applications
  • GET /kubernetes/{id}/namespaces/{namespace}/applications/{kind}/{name}
  • GET /kubernetes/{id}/rbac_enabled
  • GET /nomad/endpoints/{endpointID}/leader
  • GET /system/info
  • GET /system/nodes
  • GET /system/status
  • POST /system/upgrade
  • GET /system/version
  • PUT /webhooks/{id}/reassign

Deleted Endpoints

  • GET /nomad/endpoints/{endpointID}/status

Deprecated Endpoints

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

Modified Endpoints

  • POST /backup/s3/execute
  • POST /backup/s3/restore
  • POST /backup/s3/settings
  • POST /edge_jobs
  • POST /edge_jobs/{id}
  • POST /edge_stacks
  • PUT /edge_stacks/{id}
  • POST /edge_update_schedules
  • GET /edge_update_schedules/active
  • PUT /endpoints/{id}
  • PUT /endpoints/{id}/settings
  • POST /registries
  • PUT /registries/{id}
  • PUT /settings
  • POST /stacks

Release 2.16.2

November 21, 2022

Edge

  • Fixed issue where the Git repository section is missing when creating an Edge Stack via the Git repository option. portainer/portainer#8072

Portainer

  • Fixed issue where the effective viewer is not showing the correct user access role of environments they have access to. portainer/portainer#8070

Release 2.16.1

November 9, 2022

Kubernetes

  • Fixed an issue with view/edit of an external application (i.e. one originally added to the cluster outside of Portainer) where a 'cannot read properties' error was shown.
  • Fixed an issue with view/edit of Kubernetes namespaces where memory and CPU resource limit sliders were positioned incorrectly and erroneous warnings were shown.

Docker

  • Fixed issue of update stack button being disabled when updating an existing stack.

Portainer

  • Fixed license key issue where node counts were not updated when environments are deleted.
  • Fixed issue with JSON formatted logs failing in 2.16.0.

Release 2.16.0

October 31, 2022

Deprecation notice