Release Notes

Release 2.10.0

Known issues

  • Both Portainer and the Agent need to be upgraded at the same time: portainer/agent#187
  • Restarting Portainer will invalidate all downloaded Kubeconfig files: portainer/portainer#5574
  • Access can not be assigned to registries when defining multiple registries with the same URL
  • Browser cache causes UI abnormalities after upgrading from a prior version. Force a cache refresh (Ctrl-Shift-R) to remedy

Breaking changes

  • Default HTTPS support has been added: portainer/portainer#5462
    As a consequence the --ssl flag has been deprecated. If you are using the --sslcert and --sslkey flags, then after the upgrade port 9000 will serve http and port 9443 will serve https with the provided certificate. To retain the old behavior consider using the port mapping -p 9000:9443 instead.
  • The /stacks API has renamed from ComposeFilePathInRepository to ComposeFile, and the non-mandatory fields AdditionalFiles and AutoUpdate were added: portainer/portainer#5461


  • It is advisable to upgrade to this version, since some security improvements have been made with regards to embedding images: portainer/portainer#5805




  • Added automatic updates of stacks and applications to the activity logs
  • Introduced the ability to define a time based change window in which automatic updates of stacks and applications can take place
  • Introduced the ability to automatically set OAuth users as a Portainer Admin
  • Introduced the ability to automatically set LDAP users as a Portainer Admin
  • Added a Portainer and Agent Juju Charm to the Charmhub marketplace
  • Introduced dark theme and high contrast mode: portainer/portainer#5493
  • Introduced the ability to access Portainer via HTTPS: portainer/portainer#5462
  • Renamed Endpoints to Environments in the UI: portainer/portainer#5492
  • Improved the menu UI to indicate the existence of sub items: portainer/portainer#5528
  • Improved UI how to add environments to Portainer when doing a new installation: portainer/portainer#5477
  • Added functionality to copy error messages from toast notifications: portainer/portainer#5720
  • Improved how a Portainer upgrade can be rolled back: portainer/portainer#5482
  • Improved UI where the table background wasn't working very well in dark mode: portainer/portainer#5714
  • Fixed issue where Git content could not be cloned when Portainer is behind a proxy: portainer/portainer#3286
  • Fixed issue where the SSL certificates were not included in the Portainer backup: portainer/portainer#5497
  • Fixed issue where editing an endpoint results in errors: portainer/portainer#5318
  • Fixed upgrade issue where disconnected endpoints caused the upgrade to fail: portainer/portainer#5764
  • Fixed issue with the layout of the add Environment Wizard: portainer/portainer#5801
  • Fixed issue where the custom logo was not used in all places: portainer/portainer#5447
  • Fixed issue where the DockerHub anonymous registry was being used instead of one with an account: portainer/portainer#5896
  • Fixed issue where upgrade fails: portainer/portainer#5969
  • Fixed issue where the Quick Setup wizard wasn't showing correctly when using the dark theme: portainer/portainer#5842
  • Fixed issue where uploading a backup file could not select a file on Mac: portainer/portainer#5357
  • Fixed issue where the URL of an Environment would change to localhost: portainer/portainer#5803
  • Fixed issue where RBAC settings would be retained after removing an Environment from Portainer
  • Fixed issue where certificates would end up in the activity logs
  • Fixed issue when exporting activity logs as CSV without a data range set
  • Added a build for Windows Server 20H2: portainer/portainer#4971
  • Added a build for Windows Server 21H2: portainer/portainer#5763



  • Fixed issue where ACI stopped working when the number of exposed ports and container ports were different: portainer/portainer#5335
  • Fixed issue where ACI would show errors when a resource group had multiple containers: portainer/portainer#5335



Release 2.7


  • Added the ability to update and redeploy a stack created from a git repository
  • Added I/O usage to the container statistics
  • Enhanced environment variables UI/UX for Docker
  • sysctl options are available when creating a container
  • Show the number of Swarm nodes for the endpoint on the Home page
  • Show how many Docker pulls are remaining for DockerHub to avoid exceeding the quota
  • Introduced support for compose version 3.8 on docker swarm environments
  • Display the container IP address(es) in the list of containers
  • Improved layout of the toggles on the create container setting tab
  • For Docker Standalone, prevent a stack from being created if the Compose has a container_name that already exists
  • Creating a container from a DockerHub image will show a search button in the UI
  • Fixed issue where deploying a stack from Git did not work for Azure DevOps
  • Fixed issue where stacks with a status of 0 are hidden in the UI
  • Fixed issue where pulling a large image is failing when using an Agent due to a timeout
  • Fixed issue where listing the services with Auto-refresh on collapses all services after refresh
  • Fixed issue where dash characters got removed from the stack name on Docker Standalone
  • Fixed issue where access control management via labels was not fault tolerant
  • Fixed issue where the label showing the default location of secrets was incorrect for Windows
  • Fixed typo in the error message "Unable to start stack"


  • Added ProGet as a specific registry type when adding a registry
  • Fixed issue where pushing to a registry failed due to not including the username in the quay registry URL


  • Fixed issue where creating a custom template from uploading a compose file failed
  • Fixed issue where switching custom template in the template tab of stack create view doesn't update editor
  • Fixed issue with an invalid template documentation URL in the Settings


  • Added validation to prevent adding empty mount to an existing service
  • Fixed issue with the MountType and nfsvers when creating NFS4 volumes
  • Fixed issue where editing the properties of volumes on a service did not enable the apply button


  • Introduced the ability to deploy a manifest from a git repository when using advanced deployment
  • The advanced deployment feature has been made available to standard users
  • Introduced a summary of Kubernetes actions when deploying a Kubernetes resource
  • Added the ability to display realtime node metrics in Kubernetes
  • Added functionality to allow multiple ingress networks per kubernetes namespace, with a differing config per ingress
  • Added the ability to redeploy an externally deployed application
  • Added the ability to expand the YAML tab of a Kubernetes application to full size
  • Added the ability to cordon/uncordon/drain nodes
  • Added a warning in the placement tab when an application can't be scheduled on the cluster
  • Renamed Resource Pools to Namespaces in the UI
  • Improved UI for the placement policies when creating an application
  • Improved how application image names are shown
  • Form validation has been added for Configuration keys
  • Environment variable are sorted alphabetically to improve the readability
  • Display the ImagePull policy in the details of an application
  • Default to the kube-system namespace in the advanced deployment view on ARM
  • Fixed minor UI inconsistency when creating an application with an ingress
  • Fixed issue with the UI layout when creating an application with ingress
  • Fixed issue where updating the Kubernetes endpoint URL did not get persisted
  • Fixed issue where the endpoint url is not updated when updating a kubernetes local endpoint
  • Fixed issue where renaming the endpoint of a kubernetes agent breaks the endpoint
  • Fixed issue where environment variables with empty values are not showing when editing a kubernetes application
  • Fixed issue where environment variable validation when creating an application was too restrictive
  • Fixed issue where creating an application with two different ingresses incorrectly populates the hostname UI fields
  • Fixed issue where an application with persisted data can't update, after the storage option is disabled in the cluster settings
  • Fixed issue where adding an ingress route is not prevented when editing an application with existing ingress route and ingress is disabled
  • Fixed issue where adding an application does not allow Global to be set


  • Fixed issue where ACI stops working after persistence or networking gets added


  • Added the ability to deploy Edge stacks on Docker standalone Edge endpoints
  • Show the status of the edge agent check-in on the home page dashboard
  • Hide the webhook UI in the service creation view of an edge endpoint, since it's not applicable
  • Fixed issue where accessing a down Kubernetes Edge endpoint should redirect the user to the home view


  • Added the ability to sync Portainer teams with group memberships provided via OAuth
  • Added SSO support for OAuth and do not enforce a login prompt. Use <portainer_url>/#!/internal-auth to login with internal admin.
  • Added the ability to manage orphaned stacks when Portainer has the compose file
  • Added the option to specify the local socket location when adding a docker endpoint
  • Search filters are retained within the browser session
  • Properly expose backend error when using image management features
  • Prevent web editor related views from being accidentally closed
  • Improved descriptions for Portainer initialization errors
  • Disable sysctl settings for non-administrators incorrectly defaults to being on
  • Fixed issue where the File select windows gets shown when pressing enter in text fields
  • Fixed issue where restoring Portainer from a backup file fails in certain circumstances related to the activity logs
  • Fixed issue where a custom snapshot interval cannot be changed
  • Fixed issue with incorrect Windows agent deployment command in the agent endpoint creation tab


  • Introduced initial experimental support for Podman. Known limitations are listed in


  • Introduce buildx to support Windows 1903+ Base Images
  • Added the ability to debug through VSCode
  • Added check for missing angularJS inject annotation
  • Removed grunt-karma ang grunt-html2js dependencies
  • Fixed issue where webpack complains about charset source maps
  • Fixed issue where babel complains about missing core-js dependency

Known Issues

  • Logging into Portainer as a Standard User fails to load home page when using 'microk8s v1.21.3-3+6343a564e351b0'
  • Host Management features do not work on Windows Hosts #4450
  • Host Browser function does not work for Non-Admin users.

Release 2.4


  • Pods without workloads are now displayed as applications
  • Improved UI/UX of configurations for creation / edition
  • Introduced request of confirmation upon volume removal
  • Introduced the advanced deployment panel to each resource list view
  • Updated validation to prevent a user from exposing an application over an external load balancer with mixed protocols
  • Introduced the ability to display the access policy associated to the storage of a volume
  • Clarified advanced deployment feature
  • Clarified sensitive configuration creation
  • Clarified ingress controller configuration in the cluster setup view
  • Renamed the create entry from file button when creating a configuration
  • Improved validation warnings in the application creation / edition views
  • Removed extra whitespace in stacks and storage datatables
  • Fixed issue with access management feature on resource pools
  • Fixed issue with ability to retrieve configs when a config is a binary file
  • Fixed issue with advanced deployment feature on agent and Edge agent endpoints
  • Fixed an issue that would mark a sensitive configuration as external without owner after an update
  • Fixed issue with access to configuration details view for a configuration containing binary data
  • Fixed labels to display system labels first in the node details view
  • Fixed refresh issue on the view with the YAML panel selected
  • Fixed invalid display issue when accessing the load balancer panel from the application panel
  • Fixed issue when accessing the cluster setup incorrectly expanding the Endpoint sidebar
  • Fixed issue with exposed configuration keys over filesystem inside an application not being applied
  • Fixed issue when Adding a key to existing used configuration that would throw an error when editing an application using that configuration
  • Fixed an issue with the form validation in the configuration creation view
  • Fixed issue with resource pool “created” attribute not showing actual creation time
  • Fixed issue with ability to apply a note to a Pod type application
  • Fixed issue with creating Kubernetes resources with a username longer than 63 characters
  • Fixed issue with special characters in usernames when creating Kubernetes resources
  • Fixed issue with ability to retrieve config map error when trying to manager newly create resource pool​

Activity Logging ​

  • Introduced user authentication activity logging
  • Introduced user activity logging​


  • Introduced new RBAC “Operator” Role
  • Fixed issue with user in 2 team with mix of helpdesk & endpoint admin resulting in the user having permissions of endpoint admin​

Registries ​

  • Fixed issue causing Portainer to forget the password associated to a registry after an update
  • Fixed issue preventing the registry manager feature to work properly with a ProGet registry
  • Improved description for advanced mode usage with private registries​

Swarm ​

  • Introduced validation to prevent adding a mount with nothing filled to and exiting service
  • Fixed issue in service creation, switching to bind mode from volume mode with a volume selected fills the host field with {object Object}​

Stacks ​

  • Introduced support for creating stacks with the same name across different endpoints
  • Introduced extra stack information: creation, last update time and user who created the stack
  • Minor UX change for the start/stop stack action
  • Fixed issue with ability to use private registries with Standalone stacks
  • Fixed issue showing editor tab on limited stacks when it should not
  • Fixed issue when editing a stack, hitting backspace or delete keys with contents of web editor selected hides the entire editor UI element
  • Fixed issue with stack create via API with a regular user account are incorrectly marked as administrator only
  • Fixed issue of error being displayed when creating a stack on docker standalone despite the stack is created
  • Fixed issue of stacks being created via API incorrectly marked private with no owner​

Docker ​

  • Introduced support for Compose > v2 when deploying a stack on a Docker standalone environment
  • Introduced the ability to download log file from Docker container/service views
  • Display labels in Image Details
  • Clarify the description of the restrict external access to the network property when creating a network​

User Management ​

  • Automatically lowercase username when authenticating users
  • Update the authentication UX to put an emphasis on OAuth when OAuth is enabled​


  • Introduced the ability to backup / restore Portainer
  • Fixed issue of version not being shown correctly after update
  • Support starting Portainer without having to specify any endpoint​


  • Introduced RBAC to ACI
  • Introduced UAC to ACI​

Minor Changes​

  • Removed the new version check
  • Changed the license server errors to be a silent fail for offline environments
  • Added JS source map for Portainer UI

Release 2.0.1


  • Fix an issue preventing a user from creating Kubernetes resources if they have a @ character in their username Users with a @ character in their username were not able to create the following Kubernetes resources:
    • Resource pool
    • Application
    • Configuration
  • Fix platform issues with the Docker image for Portainer Business The Docker image can now be successfully deployed on the following platforms:
    • Linux ARM64
    • Linux ARM
  • Minor update to the license server mechanism The license server mechanism has been updated.

Release 2.0.0

Initial release of Portainer Business