2.39.6
Release 2.39.6 LTS
Fixed 9
- Fixed a user's direct environment access being incorrectly removed when a team they belonged to was deleted
- Fixed multiple "Cannot read properties of undefined (reading 'message')" error toasts appearing on Kubernetes application pages when an API call failed without a response
- Fixed an "Invalid Swarm ID" / 503 error when creating a stack from a Swarm worker node
- Fixed Kubernetes Ingress service ports always showing 0
- Fixed kubectl port-forward failing with "error upgrading connection" against Agent 2.35+ on older Kubernetes clusters
- Fixed "This node is not a swarm manager" errors when starting/stopping a Swarm stack from within the swarm itself
- Fixed Docker image builds failing with unauthorized against private registries referenced in a Dockerfile's FROM line
- Fixed Swarm stack deployments failing to re-pull private Docker Hub images on a forced re-pull, even with valid registry credentials configured
- Fixed request-handler panics being logged as unexpected crashes when a client disconnected mid-request
Security 11
- Implemented an SSRF protection mechanism with a configurable allow-list in settings (off / audit / enforce modes)
- Changed a default setting to enforce server-side EdgeID on first connection
- Fixed path traversal in the swarm compose deployer, where configs/secrets file paths escaped the project root
- Upgraded the Go toolchain from 1.25.11 to 1.25.12 to address CVE-2026-42505 and CVE-2026-39822
- Upgraded github.com/go-git/go-git/v5 to 5.19.2 to address CVE-2026-71556 and CVE-2026-71557
- Upgraded oras.land/oras-go/v2 to 2.6.2 to address CVE-2026-50163
- Upgraded go.opentelemetry.io/otel to 1.44.0 to address CVE-2026-41178
- Upgraded github.com/klauspost/compress to 1.18.7 to address GHSA-259r-337f-4rfw
- Upgraded golang.org/x/net to 0.56.0 and golang.org/x/text to 0.39.0 in the Portainer updater to address CVE-2026-46600 and CVE-2026-56852
- Upgraded github.com/containerd/containerd (v1) to 1.7.33 to address CVE-2026-53488 and CVE-2026-47262
- Upgraded google.golang.org/grpc to 1.82.1 to address GHSA-hrxh-6v49-42gf
Known issues
- On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot
Known issues with Podman support
- Podman environments aren't supported by auto-onboarding script
- It's not possible to add Podman environments via socket, when running a Portainer server on Docker (and vice versa)
- Support for only CentOS 9, Podman 5 rootful
Changes
Security improvements
- Implemented an SSRF protection mechanism with a configurable allow-list in settings (off / audit / enforce modes)
- Changed a default setting to enforce server-side EdgeID on first connection
- Fixed path traversal in the swarm compose deployer, where configs/secrets file paths escaped the project root
- Upgraded the Go toolchain from 1.25.11 to 1.25.12 to address the following CVEs:
- CVE-2026-42505
- CVE-2026-39822
- Upgraded
github.com/go-git/go-git/v5to 5.19.2 to address the following CVEs:- CVE-2026-71556
- CVE-2026-71557
- Upgraded
oras.land/oras-go/v2to 2.6.2 to address CVE-2026-50163 - Upgraded
go.opentelemetry.io/otelto 1.44.0 to address CVE-2026-41178 - Upgraded
github.com/klauspost/compressto 1.18.7 to address GHSA-259r-337f-4rfw - Upgraded
golang.org/x/netto 0.56.0 andgolang.org/x/textto 0.39.0 in the Portainer updater to address the following CVEs:- CVE-2026-46600
- CVE-2026-56852
- Upgraded
github.com/containerd/containerd(v1) to 1.7.33 to address the following CVEs:- CVE-2026-53488
- CVE-2026-47262
- Upgraded
google.golang.org/grpcto 1.82.1 to address GHSA-hrxh-6v49-42gf
Bug fixes
- Fixed a user's direct environment access being incorrectly removed when a team they belonged to was deleted
- Fixed multiple "Cannot read properties of undefined (reading 'message')" error toasts appearing on Kubernetes application pages when an API call failed without a response (e.g. while pods are restarting after a redeploy)
- Fixed an "Invalid Swarm ID" /
503error when creating a stack from a Swarm worker node - Fixed Kubernetes Ingress service ports always showing
0 - Fixed
kubectl port-forwardfailing with "error upgrading connection" against Agent 2.35+ on older Kubernetes clusters - Fixed "This node is not a swarm manager" errors when starting/stopping a Swarm stack from within the swarm itself
- Fixed Docker image builds failing with
unauthorizedagainst private registries referenced in a Dockerfile'sFROMline (both the UI's "Build a new image" flow and the/docker/buildAPI proxy) - Fixed Swarm stack deployments failing to re-pull private Docker Hub images on a forced re-pull, even with valid registry credentials configured
- Fixed request-handler panics being logged as unexpected crashes when a client disconnected mid-request (e.g. a long-poll on a Kubernetes Jobs watch)
Deprecated and removed features
Deprecated features
None.
Removed features
None