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.15.1

Docker

Portainer

Release 2.15.0

Deprecation notice

  • Proposing to deprecate Kompose and remove the functionality to deploy compose yaml on Kubernetes. portainer/portainer#7514

Breaking changes

  • 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. portainer/portainer#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.

Kubernetes

  • Introduced the ability to define pod security constraints per Kubernetes cluster.

  • Introduced an option to forcibly remove a Kubernetes namespace that's in a 'Terminating' state. portainer/portainer#4580

  • Improved the kubeconfig download dialog by providing pagination (including choosing of the number of items per page), an option to 'select all in page' and selection across multiple pages. portainer/portainer#7261

  • Resolved an issue where the link shown for an application that is exposed via an ingress was including an incorrect port (the servicePort). portainer/portainer#7337

  • Resolved some errors and wording issues in recent KaaS cluster provisioning and import kubeconfig functionality.

  • When using Kubernetes (KaaS) cluster provisioning and choosing the DigitalOcean option, only node size options that are valid for provisioning now show. Previously, there was at least one option which gave an 'invalid droplet size' error on use.

Docker

  • Added GPU support to Docker containers. portainer/portainer#3143

  • Introduced the ability to disable use of the anonymous Docker Hub registry option via the Portainer UI for all users.

  • Added support to read value from .env in subfolder for git deployment in Docker Standalone Environment. portainer/portainer#7265

  • Added message explaining that changed env values only take effect after redeployment or auto update via webhook. portainer/portainer#7242

  • Provided prune option for stack deployment from Git. portainer/portainer#7224

  • Removed "Show Container Template" toggle on App templates page and introduced filter and sort by dropdown options. portainer/portainer#7394

  • Fixed recreate of container so it pulls the image using the SHA256 hash if its tag no longer exists, and if the image is still inaccessible (as it no longer exists or the tag or name is now incorrect) warn the user and disable 'Pull latest image' option. portainer/portainer#6566

  • Introduced support for checking images held in private registries to the recently added functionality that shows a visual image indication on stacks, services and containers that are running with an out-of-date image.

  • Introduced improved validation to the Docker build image function, to prevent invalid image names. portainer/portainer#7463

  • Fixed host info being sent when host management feature is turned off. portainer/portainer#7277

  • Following the introduction of v2 Docker Compose, changed any front-end wording that mentions 'docker-compose' to say 'docker compose', to clarify and bring in line with official documentation. portainer/portainer#7141

Portainer

  • Introduced license enforcement for 5 nodes free in business edition.

  • Introduced new styling for Portainer. portainer/portainer#7528

  • Introduced Portainer UI redesign with changes for common configuration pages. portainer/portainer#7527

  • Included build information in Portainer for easier debug. portainer/portainer#7317

  • Introduced the ability to show/hide the password you are entering on login. portainer/portainer#7461

  • Introduced CTRL+F (or CMD+F on MacOS) to search in web editors. portainer/portainer#6537

  • Introduced the ability to filter connection type and agent version on the home page. portainer/portainer#7468

  • Improved environment address entry to handle http:// or https:// prefixes when adding an environment via Docker or Kubernetes (agent) options. portainer/portainer#7462

  • Introduced a change to the Homepage's multi-select filters to keep the dropdown open after a single selection until the user closes it themselves, or the last remaining option is selected. portainer/portainer#7548

  • Added tips for entering Portainer license key.

  • Updated the agent library dependencies portainer/portainer#7420

  • Fixed issue where Automatic team membership did not always work for Azure.

  • Fixed an issue where auto populate team admins LDAP feature didn't work on upgrade from CE to BE.

  • Fixed issue of authentication logs not working behind reverse proxy. portainer/portainer#7120

  • Fixed license expiry message flashing even license is not expired or close to expiring.

  • Fixed a few typos in various locations. portainer/portainer#7243

  • Fixed issue with environment page table losing selection on table refresh. portainer/portainer#7395

  • Fixed missing BE feature indicators. portainer/portainer#7396

  • Fixed issue where certificate uploading is not functional for StartTLS/TLS in LDAP configuration. portainer/portainer#6271

  • Reworded error message for JWT token missing to more user-friendly message.

Edge

  • Introduced the ability to get logs for edge stacks of specific environments.

  • Fixed connection issue ("Environment is unreachable") after deploying Nomad environment with AEEC script.

  • Updated UI of Add devices page to match the Add environment page. portainer/portainer#7393

  • Fixed issue where editing edge jobs changed the configured cron expression. portainer/portainer#7432

  • Fixed known issue with manually adding an Edge Device environment through the edge device page when using Async mode, does not retain Async settings and needs to be manually added through the environment details page.

  • Removed Beta label on Edge Jobs. portainer/portainer#7162

  • Improved image parsing for Kubernetes Edge Stacks that use private registries so that the same parsing as Docker ones is used.

Registry

  • Improved Registry details screen with better prompting for relevant fields. portainer/portainer#3015

  • Resolved an issue around not being able to add multiple Quay registries. portainer/portainer#7430

  • Improved the Registry details screen to show the registry provider and made the Add registry screen default to Docker Hub as the provider. portainer/portainer#7246

Nomad

  • Standardized the behavior of Nomad edge environments to be the same as non-Nomad edge environments.

Release 2.14.2

Known issues

  • Known issue with manually adding an Edge Device environment through the Edge Device page when using Async mode, does not retain Async settings and needs to be manually added through the environment details page.

  • Image update notifications are currently not supported for private registries and private images in DockerHub. This is due to be fixed in our next major version.

Kubernetes

  • Fixed an issue where the kubeconfig downloadable from Portainer always had port 9443 in its URLs, even though the actual Portainer instance was being accessed via another port. portainer/portainer#7059

Docker

  • Fixed certificate file validation for .pem files portainer/portainer#7183

  • Fixed an issue when using a Mustache variable (e.g. {{service}}) multiple times in the YAML, where the UI should prompt for it only once and then reuse it (rather than prompting for it multiple times).

  • Fixed an issue when using a Mustache variable (e.g. {{path}}) with special characters in the value, where the resulting value would end up being HTML encoded.

  • Fixed issue around access control labels being ignored.

Portainer

  • Fixed an issue where the original admin user was unable to change their password when external authentication is enabled. portainer/portainer#7291

  • Fixed toggle state reset issue for custom logo and anonymous statistics. portainer/portainer#7278

  • Fixed issue with not being able to add users to teams while LDAP authentication is enabled without auto teams population. portainer/portainer#7252

  • Fixed an issue where auto populate team admins LDAP feature didn't work on upgrade from CE to BE.

  • Resolved an issue where new installs of recent Portainer releases had an extraneous (although innocuous) db version update on restart.

Edge

Release 2.14.1

Known issues

  • Known issue with manually adding an Edge Device environment through the Edge Device page when using Async mode, does not retain Async settings and needs to be manually added through the environment details page.

  • Image update notifications are currently not supported for private registries and private images in DockerHub. This is due to be fixed in our next major version.

  • When using a Mustache variable (e.g. {{ service }}) multiple times in the YAML, the UI also prompts for it multiple times, rather than prompting for it a single time and then reusing it.

Kubernetes

  • Improved KaaS cluster provisioning's cluster name validation to enforce restrictions that Google GKE expects.

  • Fixed issue of variable inputs not showing on deployment view when using custom templates.

  • Improved Portainer logging to better record the output from eksctl, the CLI tool used for Amazon EKS (KaaS) cluster provisioning.

  • Fixed an issue where, upon initiating AWS KaaS cluster/environment provisioning and subsequently restarting Portainer in a short space of time, the requested environment would become stuck and unusable in Portainer, and couldn't be deleted.

Docker

  • Resolved an issue where users running Portainer with non-root access were receiving a 'Permission denied on docker-compose' error since the recent update to Docker Compose V2. portainer/portainer#6906

Portainer

  • Fix to improve LDAP, etc. authentication/login speed when there are many thousands of users.

  • Resolved an issue where users upgrading a Portainer install, where the portainer_data volume is stored on a network volume, receive a 'Permission denied' error when the upgrade attempts a backup of the database. portainer/portainer#7144

  • Fixed "Create user" button in disabled stage when external Auth enabled. portainer/portainer#7214

Edge

  • Fixed issue where the edge agent could not connect when running Portainer behind a reverse proxy only supporting TLS v1.2. portainer/portainer#7167

Release 2.14.0

Known issues

  • Known issue with manually adding an Edge Device environment through the Edge Device page when using Async mode, does not retain Async settings and needs to be manually added through the environment details page.

  • Image update notifications are currently not supported for private registries and private images in DockerHub. This is due to be fixed in our next major version.

Breaking changes

  • With the upgrade to Docker Compose V2, container names now use hyphens as separators instead of underscores. This may affect you if you are generating container names instead of explicitly defining them, then using them as references.

Kubernetes

  • Introduced ability to set up a new Kubernetes environment in Portainer via upload of a kubeconfig file for an existing on premises or on-cloud cluster.

  • Fixed issue around Git clone working with Main (in addition to existing Master) branch type. portainer/portainer#6002

  • Updated packaged components to recent stable release versions: Docker 20.10.9, Docker Compose plugin 2.5.1, kubectl 1.24.1, Helm 3.9.0. portainer/portainer#6074

  • Administrators can now set up cloud provider settings via a list page and separate add page in a similar way to other records in Portainer.

  • Introduced support for provisioning of a Kubernetes cluster on the Amazon (AWS) EKS platform from within Portainer, alleviating the need to do so in the cloud provider's portal. The AWS eksctl binary is auto downloaded when first using this functionality.

  • Introduced support for provisioning of a Kubernetes cluster on the Microsoft Azure AKS platform from within Portainer, alleviating the need to do so in the cloud provider's portal.

  • Introduced support for provisioning of a Kubernetes cluster on the Google Cloud GKE platform from within Portainer, alleviating the need to do so in the cloud provider's portal.

  • Fixed a typo in the Kubernetes -> Namespaces -> Create from manifest (advanced deployment) page. portainer/portainer#6968

  • Fixed an issue with cluster provisioning via Civo KaaS, where if the Civo account has an issue with its defined networks, the environment was stuck waiting to complete provisioning and never ultimately errored.

  • Introduced the ability to set the group and tags against the environment in Portainer when an admin provisions a Kubernetes as a Service cluster.

  • Introduced slight improvements to editing of sensitive cloud credentials values.

  • Fixed an issue in the Settings -> Environments page, where an environment that was disabled or still being provisioned could be selected for removal and then removed.

  • Added the ability to manually refresh pulling of Kubernetes as a Service cluster provisioning options from cloud providers.

  • Improved error handling around KaaS provisioning in the environment wizard.

  • Kubernetes as a Service (cloud) provisioned environments will now appear in the 'new environments' side panel in the environments wizard.

Docker

  • Introduced a visual indication of stacks, services and containers that are running with an out-of-date image. portainer/portainer#1304

  • Fixed issue around Git clone working with Main (in addition to existing Master) branch type. portainer/portainer#6002

  • Updated packaged components to recent stable release versions: Docker 20.10.9, Docker Compose plugin 2.5.1, kubectl 1.24.1, Helm 3.9.0. portainer/portainer#6074

  • Fixed issue for standard user having an empty network as default when creating containers on Windows environments portainer/portainer#6959

  • Introduced ability to pass environment variables on the webhooks in Docker stack deployment.

  • Provide a stack template for dokku deployment within portainer. portainer/portainer#7011

  • Resolved an issue when updating an application and changing its service from replicated to global, where an error occurs and the deployed application is deleted. portainer/portainer#7056

  • Third-party developer Inedo has fixed their ProGet registry software to resolve an intermittent error admins were experiencing in Portainer on retag or delete of a tagged image. This is planned to ship 10 June 2022 in ProGet 6.0.16, before Portainer 2.14.

  • Introduced support in the container webhook for pull/recreate of containers from images residing in private registries.

  • Fixed an issue in the Containers page, where choosing 'Recreate' enabled the webhook for the container, even though it was not currently turned on.

  • Fixed an issue where, when calling Swarm update API through Portainer, incorrect overriding of the registry authentication header occurred, preventing pull of an image. portainer/portainer#7095

Portainer

  • Redesigned team leader feature. portainer/portainer#7093

  • Fixed an issue where the delete environment confirmation dialog was positioned too low on-screen. portainer/portainer#6983

  • Fixed an issue where agent and edge agent install command instructions do not list the agent_secret option. portainer/portainer#6801

  • Fixed an issue where the home (environments) page no longer showed the words 'No tags' for environments without tags. portainer/portainer#6967

  • Introduced support for provisioning of a Kubernetes cluster on the Amazon (AWS) EKS platform from within Portainer, alleviating the need to do so in the cloud provider's portal. The AWS eksctl binary is auto downloaded when first using this functionality.

  • The Add environment page and Environment wizard are now consolidated into a single consistent, improved wizard-style experience. portainer/portainer#7022

  • Introduced support for provisioning of a Kubernetes cluster on the Microsoft Azure AKS platform from within Portainer, alleviating the need to do so in the cloud provider's portal.

  • Introduced support for provisioning of a Kubernetes cluster on the Google Cloud GKE platform from within Portainer, alleviating the need to do so in the cloud provider's portal.

  • Fixed Go panic state for the environments list handler portainer/portainer#7047

  • Introduced ability for admin to set required password length. portainer/portainer#7055

  • Fixed an issue recently introduced in the environments page where the name of an environment that was down no longer linked through to its details page.

  • Resolved an issue preventing migration from EE 2.12 to 2.13 (or now 2.14) for Portainer instances that had previously migrated to EE from a CE instance with Allow Volume Browser for Regular Users toggled on for an environment.

  • Increased the click/touch area in expandable panels so it's easier to open/close them. portainer/portainer#7036

  • Fixed propagation of Portainer agent polling frequency when changed before deploying via automatic edge environment creation

  • Introduced the ability to paste in an existing license, revalidate with the license server and replace it in the database. This can be used to fix a corrupted license.

Edge

  • Fixed issue with status indicator on Edge Stacks not updating when removing tags from edge environments/groups portainer/portainer#6950

  • Introduced the ability to define the 3 polling intervals for Async

  • For edge agents, the URL shown in the Environment summary page (access from the Home page) has now been removed, as it caused confusion since it simply showed the Portainer Server URL. portainer/portainer#6978

  • Fixed Data race in the operations of the edge key in the Edge Agent portainer/portainer#7024

  • Added "goto page" to the Edge devices page view portainer/portainer#6982

  • Added the ability to add edge agents in the environment wizard portainer/portainer#7023

Nomad

  • Added HTTPS support for Nomad Edge Agent.

  • Added display of BE feature highlights in CE for new Nomad, KaaS provisioning and kubeconfig import functionality. portainer/portainer#7051

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

Edge

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

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

  • Host Browser function does not work for Non-Admin users.

Release 2.4

Kubernetes​

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

RBAC ​

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

Portainer

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

ACI

  • 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

Fixes

  • 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

Last updated