Release Notes

Release 2.13.1

Portainer:

Release 2.13

Known issues

  • When provisioning a Civo cluster while there are multiple default networks defined on the Civo account, the environment will fail to provision and Portainer will end up waiting for the environment to be ready indefinitely. This can be resolved from the Civo console by deleting the cluster and using a non-default network for the provision.

Breaking changes

  • The minimum TLS version of Portainer was changed from 1.2 to 1.3. If you are running a proxy in front of Portainer with HTTPS you will need to ensure it is configured to support TLS 1.3.
  • Standard users can browse registries including edit and delete
  • Introduced the ability for non admin users to browse image registries
  • Added strong password policy for all Portainer internal users. When using a weak password and logging in you will be required to update your password.

Kubernetes

  • Improve how Portainer helps you set up ingresses (especially Nginx ones), including support of regular expressions in paths - by assisting with required annotations and correcting a rewrite issue: portainer/portainer#6854
  • Introduce support for provisioning of a Kubernetes cluster on a cloud provider's KaaS offering from within Portainer, alleviating the need to do so in the provider's own portal. Initial supported providers are Civo, DigitalOcean and Linode.
  • Fixed an issue where, on setting up (on a namespace) an ingress controller for a k8s cluster and I create an app with two ingress routes on the controller, app details show only the second of the paths: portainer/portainer#6856
  • Fixed an issue where Portainer's validation of a K8s namespace's hostnames was disallowing wildcards (e.g. *abc.com): portainer/portainer#6855
  • Fixed issue with default helm repo not populating in settings page: portainer/portainer#6849
  • Created documentation around using GKE ingress with Portainer: portainer/portainer#6848
  • Added input validation for kubernetes workload names: portainer/portainer#5363
  • Fixed issue where changing Portainer to HTTPS crashed Portainer: portainer/portainer#6836
  • Fixed issue where Helm Charts could not be deployed when using SSL certs with Portainer: portainer/portainer#6742
  • Fixed issue of not being able to use a name previously used for kubernetes resources: portainer/portainer#6830
  • Fixed issue where the Kube cluster resource stats had a rounding issue: portainer/portainer#6472
  • Fixed an issue when deploying Portainer client with AGENT_SECRET without configuring Kubernetes agent with AGENT_SECRET where an "Failure unknown" error shows rather than "agent already paired" : portainer/portainer#6791

Docker

  • Standard users can browse registries including edit and delete
  • Introduced the ability for non admin users to browse image registries
  • Fixed issue where the Disable bind mounts for non-administrators setting would prevent existing volumes from being used: portainer/portainer#6387
  • Fixed issue with creating a CIFS volume that uses a hostname: portainer/portainer#6338
  • Fixed issue where webhooks for services were accepting invalid tags: portainer/portainer#6493
  • Fixed issue with libcompose logging where error output is attempted to be included when an error did not occur: portainer/portainer#6857
  • Fixed an issue where 'Pull and Redeploy' and 'Force redeploy' don't work on ARM: portainer/portainer#6788
  • Documented deviation from the Docker standard when using the /docker/images/create API endpoint in conjunction with a private registry: portainer/portainer#6712
  • Fixed issue where credentials from different registries were being used: portainer/portainer#6087
  • Fixed issue where stack name was stated inaccurately in the message which informs users that a container/service inherited its access control settings from a specific stack: portainer/portainer#6478
  • Fixed issue with displaying container template when connected to docker swarm in the app templates page view: portainer/portainer#6837
  • Fixed text color on modal when updating a service: portainer/portainer#6839
  • Fixed issue where Watchtower did not work for standalone stacks on Arm64: portainer/portainer#5799

Portainer

  • Enforced strong password policy for all Portainer Users: portainer/portainer#6846
  • Improved the database migration to become more resilient: portainer/portainer#6778
  • Introduced the ability to filter and sort environments on the Home page: portainer/portainer#6823
  • When changing the user password the user gets redirected to the login page: portainer/portainer#6456
  • Fixed issue where upgrading to the Business Edition and then downgrading back to the Community Edition did not work
  • Improved security for custom templates when using Git repos that contain symlinks: portainer/portainer#6847
  • Improved how the installation page times out: portainer/portainer#6740
  • Improved file type validation when selecting multiple files when deploying from Git repository
  • Removed superfluous warning message for the Enable Change Window setting
  • Fixed bug relating to environment status in home page: portainer/portainer#6047
  • Improved concurrency in agent code to prevent race conditions: portainer/portainer#6677
  • Improved concurrency in backend code to prevent race conditions: portainer/portainer#6677
  • Fixed duplicate naming issue for registries: portainer/portainer#6838
  • Fixed issue around user accessing agent environment after changing an invalid environment url to a valid one: portainer/portainer#6824
  • Fixed issue with the menu when connecting to another environment fails: portainer/portainer#6449
  • Updated registry form wording from Password to "Dockerhub access token" : portainer/portainer#6308
  • Fixed text color for change window warning text
  • Fixed an issue where the hover-over tooltip for nav menu items always just showed 'Settings' rather than the menu item text: portainer/portainer#6779
  • Fixed issue where the green success notification was not showing up after deleting a custom app template: portainer/portainer#6724
  • Improved UX for setting themes by removing save button: portainer/portainer#6840

Edge

  • Renamed Trust on first connect to "Waiting Room"
  • Introduced the ability to pass env variables from local system to edge stacks for Kubernetes environments
  • Created the ability for Automatic Edge Environment Creation (AEEC) within Portainer Server
  • Introduced support for using credentials with private registries for edge stacks
  • Resolved data race on stack deploy for edge agents: portainer/portainer#6677
  • Added environment variable to the agent to adjust the probe timeout and interval: portainer/agent#293
  • Introduce the ability to pass env variables from a local system on edge devices to the edge stack: portainer/portainer#6832
  • Fixed issue with edge environments having faulty heartbeat on Edge Devices page: portainer/portainer#6825
  • Improved concurrency in edge code to prevent race conditions: portainer/portainer#6677
  • Fixed data race in poll service on Edge Agent: portainer/portainer#6677
  • Resolved some race conditions with the edge agent: portainer/portainer#6677
  • Resolved data race on tunnels for edge agents: portainer/portainer#6677
  • Resolved data race with activity timer for edge agents: portainer/portainer#6677
  • Fixed issue with displaying AMT device table for non-activated devices: portainer/portainer#6835
  • Fixed minor UI issues in Edge devices page view around Action buttons: portainer/portainer#6844
  • Fixed issue when creating edge job from file returning 404: portainer/portainer#6826

Development

Release 2.12.2

Nomad

  • Introduced Nomad integration
  • Allows Nomad to be added as an environment in Portainer by using the Edge Agent
  • Allows Edge Stacks to be deployed on Nomad as Nomad Jobs
  • Allows Nomad Jobs and Tasks to be listed
  • Allows Nomad logs and events to be viewed for Tasks

Kubernetes

  • Fixed issue where changing Portainer to HTTPS crashed Portainer
  • Fixed issue around deploying in default namespace via manifest using the portainer namespace instead
  • Fixed bug causing domain names to not displaying correctly under publish application options
  • Fixed issue with first service naming having a suffix attached.
  • Improved error message being displayed when deploying a malformed Kubernetes manifest from GitOps

Portainer

  • Fixed issue with GitOps automatic update
  • Fixed issues around migration path for CE to BE
  • Fixed missing operator role when migrating from 1.x
  • Improved concurrency in edge code to prevent race conditions: portainer/portainer#6677

Edge

  • Resolved some race conditions with the Edge Agent

Release 2.12.1

Portainer

  • Fixed bug where redeploying a stack causes an error and success message at the same time.
  • Fixed bug that was preventing ability to edit application with persisted folder on Kubernetes.

Release 2.12.0

Breaking changes

  • When OAuth is enabled, Portainer users can no longer use their Portainer internal password: portainer/portainer#5889
  • Deploying a manifest without a namespace definition and selecting the Default namespace in Portainer may deploy the application into the portainer namespace in certain circumstances

Kubernetes

Docker

Portainer

Edge

  • Introduce the ability to pass env variables from a local system on edge devices to the edge stack
  • Fixed minor UI behavior with toggles in Edge Compute settings view
  • Fixed issue with displaying AMT device table for non-activated devices
  • Fixed minor UI issues in Edge devices page view around Action buttons
  • Introduced the ability to control and interact with OpenAMT: devices portainer/portainer#6444
  • Introduce the ability to add edge devices through FDO: portainer/portainer#6445
  • Added behavior for Edge agents to reject connections if not connected to within 72hrs: portainer/portainer#6420
  • Optimize disk performance for Edge Agent portainer/portainer#6455
  • Fixed issues with the Edge Agent reverse tunnel timing out: portainer/portainer#5725
  • Fixed issue where the URL of an Environment would change to localhost: portainer/portainer#5803

Registry

ACI

  • Fixed issue where ACI stopped working when the number of exposed ports and container ports were different: portainer/portainer#5335

Development

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

Security

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

Kubernetes

Docker

Portainer

  • 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

Registries

ACI

  • 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

Edge

Development

Release 2.7

Docker

  • 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"

Registries

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

Templates

  • 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

Volumes

  • 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

Kubernetes

  • 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

ACI

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

Edge

  • 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

Portainer

  • 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

Podman

  • Introduced initial experimental support for Podman. Known limitations are listed in https://github.com/portainer/portainer/issues/5188

Development

  • 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