Release Notes
The following release notes are for the Business Edition of Portainer. For Community Edition release notes, refer to the GitHub releases page.
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.
- 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
- Restored options and wording in the Kubernetes Advanced deployment screen's Automatic updates section, following regression from changes in 2.17. (portainer/portainer#8950)
- Resolved issue preventing correct display of network details when containers are running on an unexpected Docker swarm node. (portainer/portainer#8981)
- 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)
May 1, 2023
- 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.
- 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
- 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) andfailureThreshold
of 3. portainer/portainer#8860
- Fixed issue where users were unable to pull the latest image from the image details page portainer/portainer#8847
- 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
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.
- 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.
- 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
- 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.
- 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
- 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 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).
- 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
- 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
- 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
- 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
- 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 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.
- 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
- Improved the layering of the Portainer Dockerfile to ensure internal development-related aspects are excluded where possible. portainer/portainer#8559
- Introduced Tailwind prettier which will group utility classes project-wide and order them in a recommended way, making it easier to work with them. portainer/portainer#8560
- Resolved incorrect usage of log.fatal to ensure the application exits only as necessary. portainer/portainer#8561
- 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
- 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
tofalse
- Modified query param:
namespace
- Required changed from
true
tofalse
- Modified query param:
selector
- Required changed from
true
tofalse
- DELETE
/endpoints/{id}/kubernetes/helm/{release}
- Modified query param:
namespace
- Required changed from
true
tofalse
- 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
February 22, 2023
- Fixed issue with recreating containers in the Portainer UI if they have been originally created via the CLI. portainer/portainer#8507
- 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 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.
February 7, 2023
- 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"
- 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