bars[![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2279730396-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F-MgDK9ndL1-o2MHHFiXo%252Fsites%252Fsite_gbGqX%252Ficon%252FBp9XxrPYsEW8iW0CygKM%252FPortainer%2520-%2520P%2520Icon%2520SQUARE%2520-%2520Purple%2520%2526%2520Graphite.png%3Falt%3Dmedia%26token%3D34bdcf35-7fb8-4b6f-91cb-e9de8b772d04&width=32&dpr=3&quality=100&sign=eccdaaf2&sv=2)![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2279730396-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F-MgDK9ndL1-o2MHHFiXo%252Fsites%252Fsite_gbGqX%252Ficon%252FFDKzZiw3rNqZ8FuFTT64%252FPortainer%2520-%2520P%2520Icon%2520SQUARE%2520-%2520Purple%2520%2526%2520Graphite.png%3Falt%3Dmedia%26token%3Dafbf7bd8-b9ce-4722-8101-90499e52f7fb&width=32&dpr=3&quality=100&sign=933f7d15&sv=2)Portainer Documentation](https://docs.portainer.io/)
search
circle-xmark
`⌘Ctrl``k`
[Official Website](https://portainer.io)[Pricing](https://www.portainer.io/pricing)[Get 3 Nodes of BE Free](https://www.portainer.io/get-a-license)
Moreellipsischevron-down
[![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2279730396-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F-MgDK9ndL1-o2MHHFiXo%252Fsites%252Fsite_gbGqX%252Ficon%252FBp9XxrPYsEW8iW0CygKM%252FPortainer%2520-%2520P%2520Icon%2520SQUARE%2520-%2520Purple%2520%2526%2520Graphite.png%3Falt%3Dmedia%26token%3D34bdcf35-7fb8-4b6f-91cb-e9de8b772d04&width=32&dpr=3&quality=100&sign=eccdaaf2&sv=2)![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2279730396-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252F-MgDK9ndL1-o2MHHFiXo%252Fsites%252Fsite_gbGqX%252Ficon%252FFDKzZiw3rNqZ8FuFTT64%252FPortainer%2520-%2520P%2520Icon%2520SQUARE%2520-%2520Purple%2520%2526%2520Graphite.png%3Falt%3Dmedia%26token%3Dafbf7bd8-b9ce-4722-8101-90499e52f7fb&width=32&dpr=3&quality=100&sign=933f7d15&sv=2)Portainer Documentation](https://docs.portainer.io/)
2.39 LTSchevron-down
  * [Welcome](https://docs.portainer.io/)
  * [What's new in version 2.39](https://docs.portainer.io/whats-new)
  * [Release Notes](https://docs.portainer.io/release-notes)
  * Getting Started
    * [Introduction](https://docs.portainer.io/start/intro)
    * [Portainer architecture](https://docs.portainer.io/start/architecture)
    * [Lifecycle policy](https://docs.portainer.io/start/lifecycle)
    * [Requirements and prerequisites](https://docs.portainer.io/start/requirements-and-prerequisites)
    * [Install Portainer BEchevron-right](https://docs.portainer.io/start/install)
    * [Install Portainer CEchevron-right](https://docs.portainer.io/start/install-ce)
    * [Add an environment to an existing installation](https://docs.portainer.io/start/agent)
    * [Updating Portainerchevron-right](https://docs.portainer.io/start/upgrade)
  * Using Portainer
    * [Homechevron-right](https://docs.portainer.io/user/home)
    * [Docker/Swarm/Podmanchevron-right](https://docs.portainer.io/user/docker)
    * [Kuberneteschevron-right](https://docs.portainer.io/user/kubernetes)
    * [Azure ACIchevron-right](https://docs.portainer.io/user/aci)
    * [Nomad](https://docs.portainer.io/user/nomad)
    * [Edge Computechevron-right](https://docs.portainer.io/user/edge)
    * [Observabilitychevron-right](https://docs.portainer.io/user/observability)
    * [Account settings](https://docs.portainer.io/user/account-settings)
  * Administering Portainer
    * [User-relatedchevron-right](https://docs.portainer.io/admin/user)
    * [Environment-relatedchevron-right](https://docs.portainer.io/admin/environments)
    * [Registrieschevron-right](https://docs.portainer.io/admin/registries)
    * [Licenses](https://docs.portainer.io/admin/licenses)
    * [Logschevron-right](https://docs.portainer.io/admin/logs)
    * [Notifications](https://docs.portainer.io/admin/notifications)
    * [Settingschevron-right](https://docs.portainer.io/admin/settings)
  * Frequently Asked Questions
    * [Getting startedchevron-right](https://docs.portainer.io/faqs/getting-started)
    * [Installingchevron-right](https://docs.portainer.io/faqs/installing)
    * [Upgrading and downgradingchevron-right](https://docs.portainer.io/faqs/upgrading)
    * [Licensingchevron-right](https://docs.portainer.io/faqs/licensing)
    * [Troubleshootingchevron-right](https://docs.portainer.io/faqs/troubleshooting)
    * [Contributingchevron-right](https://docs.portainer.io/faqs/contributing)
    * [Known issueschevron-right](https://docs.portainer.io/faqs/known-issues)
    * [Getting supportchevron-right](https://docs.portainer.io/faqs/getting-support)
  * Advanced Topics
    * [CLI configuration options](https://docs.portainer.io/advanced/cli)
    * [App templateschevron-right](https://docs.portainer.io/advanced/app-templates)
    * [The Portainer Edge Agent](https://docs.portainer.io/advanced/edge-agent)
    * [Access control](https://docs.portainer.io/advanced/access-control)
    * [Reset the admin user's password](https://docs.portainer.io/advanced/reset-admin)
    * [Security and compliance](https://docs.portainer.io/advanced/security)
    * [Encrypting the Portainer database](https://docs.portainer.io/advanced/db-encryption)
    * [Using your own SSL certificate with Portainer](https://docs.portainer.io/advanced/ssl)
    * [Using mTLS with Portainer](https://docs.portainer.io/advanced/mtls)
    * [Stream auth and activity logs to an external provider](https://docs.portainer.io/advanced/siem)
    * [Using Portainer with reverse proxieschevron-right](https://docs.portainer.io/advanced/reverse-proxy)
    * [How Relative Path Support works in Portainer](https://docs.portainer.io/advanced/relative-paths)
    * [Helm chart configuration options](https://docs.portainer.io/advanced/helm-chart-configuration-options)
    * [Docker roles and permissions](https://docs.portainer.io/advanced/docker-roles-and-permissions)
    * [Kubernetes roles and bindings](https://docs.portainer.io/advanced/kubernetes-roles-and-bindings)
    * [Deprecated and removed features](https://docs.portainer.io/advanced/deprecated)
  * API
    * [Accessing the Portainer API](https://docs.portainer.io/api/access)
    * [API documentation](https://docs.portainer.io/api/docs)
    * [API usage examples](https://docs.portainer.io/api/examples)
  * Get More Help
    * [Portainer Academyarrow-up-right](https://academy.portainer.io)
    * [Slackarrow-up-right](https://portainer.io/slack)
    * [Discordarrow-up-right](https://portainer.io/discord)
    * [Open a support requestarrow-up-right](https://www.portainer.io/portainer-business-support)
  * Contribute to Portainer
    * [Contribute](https://docs.portainer.io/contribute/contribute)
    * [Build instructionschevron-right](https://docs.portainer.io/contribute/build)
  * [Privacy Policy](https://docs.portainer.io/privacy)


chevron-upchevron-down
xmark
block-quoteOn this pagechevron-down
  * [Long Term Support (LTS)](https://docs.portainer.io/whats-new#long-term-support-lts)
  * [New in this release](https://docs.portainer.io/whats-new#new-in-this-release)
  * [Fleet Governance Policies ](https://docs.portainer.io/whats-new#fleet-governance-policies)
  * [Alerting graduates from experimental ](https://docs.portainer.io/whats-new#alerting-graduates-from-experimental)
  * [Docker stack renaming  ](https://docs.portainer.io/whats-new#docker-stack-renaming)
  * [Shared Git credentials ](https://docs.portainer.io/whats-new#shared-git-credentials)
  * [Registry management improvements ](https://docs.portainer.io/whats-new#registry-management-improvements)
  * [Inspect Kubernetes CRDs and custom resources ](https://docs.portainer.io/whats-new#inspect-kubernetes-crds-and-custom-resources)
  * [Node YAML editor  ](https://docs.portainer.io/whats-new#node-yaml-editor)
  * [Git-based Helm deployments ](https://docs.portainer.io/whats-new#git-based-helm-deployments)
  * [Helm manifest preview  ](https://docs.portainer.io/whats-new#helm-manifest-preview)
  * [Always clone option for Edge stacks ](https://docs.portainer.io/whats-new#always-clone-option-for-edge-stacks)


Was this helpful?
sun-brightdesktopmoon
chevron-down
# What's new in version 2.39
Portainer version 2.39 includes a number of new fixes and updates, bringing the changes from the previous STS releases into the LTS stream. For a full list of changes, please refer to our [release notes](https://docs.portainer.io/release-notes).
##
[hashtag](https://docs.portainer.io/whats-new#long-term-support-lts)
Long Term Support (LTS)
2.39 is a Long Term Support, or "LTS", release of Portainer. LTS releases are intended to to be solid, tested, production-ready versions of Portainer, suitable for running in both testing and production environments. LTS releases generally do not have any additional features as compared to the previous STS release, but rather are a consolidation of all the new features and changes that have gone into the previous STS releases but with additional polishing and testing.
You can read more about our release principles in our [lifecycle policy](https://docs.portainer.io/start/lifecycle).
##
[hashtag](https://docs.portainer.io/whats-new#new-in-this-release)
New in this release
###
[hashtag](https://docs.portainer.io/whats-new#fleet-governance-policies)
Fleet Governance Policies ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FSVIkwsLgV0f8U86tTOQa%2Fbutton_be.png&width=300&dpr=3&quality=100&sign=d61f99c0&sv=2)
With this release we’re introducing [Fleet Governance Policies](https://docs.portainer.io/admin/environments/policies) - a new way to govern container infrastructure at scale.
As organizations grow, it’s common to end up managing tens or even hundreds of clusters, each configured slightly differently, which quickly turns into an operational and security headache. Fleet Governance Policies help you define security, access, and configuration standards once, then automatically enforce them across your entire fleet, regardless of cloud, region, or deployment model. Policies stay continuously enforced, correct drift automatically, and apply instantly to new clusters as they’re onboarded. With prebuilt policy templates for production and development environments, it’s easier than ever to get started - and this is just the first step toward true fleet-wide cluster management in Portainer.
![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2837857291-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FxdTQRpMuktD2l0URtOJO%252Fuploads%252FQga9t4jHTmwdIEK6nE5g%252F2.39-policies-list.png%3Falt%3Dmedia%26token%3D91529b4d-a3a8-45fb-86b7-9fce595797f3&width=768&dpr=3&quality=100&sign=1d1a5dc8&sv=2)
We're really excited about where this will lead in the future - give it a try and let us know your feedback!
###
[hashtag](https://docs.portainer.io/whats-new#alerting-graduates-from-experimental)
Alerting graduates from experimental ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FSVIkwsLgV0f8U86tTOQa%2Fbutton_be.png&width=300&dpr=3&quality=100&sign=d61f99c0&sv=2)
In earlier releases, we introduced [alerting](https://docs.portainer.io/user/observability/alerting) as an experimental feature, allowing administrators to configure alerts based on conditions such as environments going offline, failed backups, or high resource usage. Since then, we’ve refined and improved the feature, and in 2.39 alerting is now generally available. Administrators can enable alerting under **Observability** from the [Additional Functionality](https://docs.portainer.io/admin/settings/general#additional-functionality) section, making it easier to monitor environment health and react to issues without relying solely on external tooling.
![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2837857291-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FxdTQRpMuktD2l0URtOJO%252Fuploads%252Ft7fXCiH3fPFS5uPMjZFv%252F2.39-alerting-rules.png%3Falt%3Dmedia%26token%3D46ca6250-230d-4881-be43-f34e94f08575&width=768&dpr=3&quality=100&sign=c273c04d&sv=2)
###
[hashtag](https://docs.portainer.io/whats-new#docker-stack-renaming)
Docker stack renaming ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FSVIkwsLgV0f8U86tTOQa%2Fbutton_be.png&width=300&dpr=3&quality=100&sign=d61f99c0&sv=2) ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FTQPpHSAY8u9AomqYL2Jv%2Fbutton_ce.png&width=300&dpr=3&quality=100&sign=da24b6a6&sv=2)
You can now rename an existing Docker stack as part of the [Stack duplication or migration workflow](https://docs.portainer.io/user/docker/stacks/migrate). This makes it easier to reorganize or migrate stacks without needing to recreate them from scratch.
![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2837857291-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FxdTQRpMuktD2l0URtOJO%252Fuploads%252FP4QltuVvlBdOcYI5Nw99%252F2.39-stack-rename.png%3Falt%3Dmedia%26token%3D023c9c64-1385-4ad3-84f7-891c32089352&width=768&dpr=3&quality=100&sign=b5344248&sv=2)
###
[hashtag](https://docs.portainer.io/whats-new#shared-git-credentials)
Shared Git credentials ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FSVIkwsLgV0f8U86tTOQa%2Fbutton_be.png&width=300&dpr=3&quality=100&sign=d61f99c0&sv=2)
You can now create and manage shared Git credentials directly from the [Shared Credentials](https://docs.portainer.io/admin/settings/credentials) view. These credentials can be reused across deployments and templates by any admin-level user, without exposing the underlying secrets. Once added, shared Git credentials can be selected when setting up a deployment or when creating a custom Docker template, reducing duplication and simplifying Git-based workflows.
![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2837857291-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FxdTQRpMuktD2l0URtOJO%252Fuploads%252FA2QpQPRzEpy1WeZkiemI%252F2.39-shared-credentials-git.png%3Falt%3Dmedia%26token%3D698c5544-d441-4fe0-9aa8-411e6d3ee810&width=768&dpr=3&quality=100&sign=7180fac6&sv=2)
###
[hashtag](https://docs.portainer.io/whats-new#registry-management-improvements)
Registry management improvements ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FSVIkwsLgV0f8U86tTOQa%2Fbutton_be.png&width=300&dpr=3&quality=100&sign=d61f99c0&sv=2)
As part of our ongoing transition from Angular to React, we’ve refactored the [registry repository management view](https://docs.portainer.io/admin/registries/browse). Managing repository tags is now significantly simpler. We’ve streamlined how tags are loaded, added, and removed, eliminating the need for manual batch loading and making registry management faster and more intuitive - especially when working with large repositories.
###
[hashtag](https://docs.portainer.io/whats-new#inspect-kubernetes-crds-and-custom-resources)
Inspect Kubernetes CRDs and custom resources ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FSVIkwsLgV0f8U86tTOQa%2Fbutton_be.png&width=300&dpr=3&quality=100&sign=d61f99c0&sv=2)
Administrators can now inspect [Kubernetes Custom Resource Definitions](https://docs.portainer.io/user/kubernetes/more-resources/custom-resources) and their associated custom resources directly from the Portainer UI. You can view resources as raw YAML or see a detailed summary equivalent to `kubectl describe`, making it easier to understand and troubleshoot custom resources without leaving Portainer.
![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2837857291-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FxdTQRpMuktD2l0URtOJO%252Fuploads%252Fh9FBN4vCYm1Bl9WsfYG4%252F2.39-kubernetes-custom-resources.png%3Falt%3Dmedia%26token%3D6fcaaa07-338f-42e9-b7b1-f5b90496be74&width=768&dpr=3&quality=100&sign=4e6eab8e&sv=2)
###
[hashtag](https://docs.portainer.io/whats-new#node-yaml-editor)
Node YAML editor ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FSVIkwsLgV0f8U86tTOQa%2Fbutton_be.png&width=300&dpr=3&quality=100&sign=d61f99c0&sv=2) ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FTQPpHSAY8u9AomqYL2Jv%2Fbutton_ce.png&width=300&dpr=3&quality=100&sign=da24b6a6&sv=2)
We’ve added the ability to view node YAML directly from the [Node details](https://docs.portainer.io/user/kubernetes/cluster/details/node) view. For Portainer Business Edition users, this goes a step further - you can now apply changes to the node YAML directly from the UI, making it easier to inspect and manage node-level configuration without switching tools or contexts.
![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2837857291-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FxdTQRpMuktD2l0URtOJO%252Fuploads%252FgAMqCg1gz0A69QV06cBW%252F2.39-kubernetes-node-details-yaml.png%3Falt%3Dmedia%26token%3Dfb7beda9-5c81-4bf9-a7e1-8d26d17cc6f9&width=768&dpr=3&quality=100&sign=a0560268&sv=2)
###
[hashtag](https://docs.portainer.io/whats-new#git-based-helm-deployments)
Git-based Helm deployments ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FSVIkwsLgV0f8U86tTOQa%2Fbutton_be.png&width=300&dpr=3&quality=100&sign=d61f99c0&sv=2)
Helm chart deployments can now be managed directly from Git. You can [deploy Helm charts from a Git repository](https://docs.portainer.io/user/kubernetes/applications/manifest/helm#git-repository), track whether a release is in sync with its source, and view Git details for deployed releases. Applications created from Git can also be updated by modifying the Git settings directly within the application view, bringing Helm workflows more closely in line with GitOps practices.
![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2F2837857291-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FxdTQRpMuktD2l0URtOJO%252Fuploads%252FKdc5y7MhJHM11MQOwfJ6%252F2.39-kubernetes-applications-add-helm-git.png%3Falt%3Dmedia%26token%3D822e5360-4150-4b73-b55c-060e6d0b0aea&width=768&dpr=3&quality=100&sign=309e1519&sv=2)
###
[hashtag](https://docs.portainer.io/whats-new#helm-manifest-preview)
Helm manifest preview ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FSVIkwsLgV0f8U86tTOQa%2Fbutton_be.png&width=300&dpr=3&quality=100&sign=d61f99c0&sv=2) ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FTQPpHSAY8u9AomqYL2Jv%2Fbutton_ce.png&width=300&dpr=3&quality=100&sign=da24b6a6&sv=2)
When creating or upgrading a Helm chart, you’ll now see a [Manifest preview](https://docs.portainer.io/user/kubernetes/applications/inspect-helm#manifest) alongside the values YAML. This allows you to inspect exactly what Kubernetes resources will be applied before committing a deployment or upgrade, helping catch configuration issues earlier and making Helm-based workflows more transparent.
###
[hashtag](https://docs.portainer.io/whats-new#always-clone-option-for-edge-stacks)
Always clone option for Edge stacks ![](https://docs.portainer.io/~gitbook/image?url=https%3A%2F%2Fcontent.gitbook.com%2Fcontent%2FxdTQRpMuktD2l0URtOJO%2Fblobs%2FSVIkwsLgV0f8U86tTOQa%2Fbutton_be.png&width=300&dpr=3&quality=100&sign=d61f99c0&sv=2)
For Edge stacks that use relative path volumes, there’s now an [Always clone](https://docs.portainer.io/user/edge/stacks/add#always-clone-git-repository) option. When enabled, Portainer will automatically pull the latest content from the Git repository during deployment, ensuring that Edge environments always receive the most up-to-date configuration and files.
[PreviousWelcomechevron-left](https://docs.portainer.io/)[NextRelease Noteschevron-right](https://docs.portainer.io/release-notes)
Last updated 8 days ago
Was this helpful?
sun-brightdesktopmoon
This site uses cookies to deliver its service and to analyze traffic. By browsing this site, you accept the [privacy policy](https://www.portainer.io/privacy-policy).
close
AcceptReject
