Portainer Business Edition Updates & Release Notes
4 updates curated from 1 source by the Releasebot Team. Last updated: Oct 12, 2026
- Oct 8, 2026
- Date parsed from source:Oct 8, 2026
- First seen by Releasebot:Oct 12, 2026
Portainer Business Edition by Portainer
Release 2.45.2 LTS
Portainer Business Edition adds scoped shared Git credentials, scoped kubeconfigs, richer Kubernetes node columns, and tighter security controls for backups, namespace access, and bind mounts. It also improves add-ons, GitOps, Docker cleanup, and fixes multiple dashboard and stack deployment issues.
Breaking Changes
POST and PUT /api/cloud/gitcredentials now require urlPattern: one or more comma-separated glob patterns (for example github.com/portainer/) that a repository URL must match before the shared credential is used. * matches a single path segment; or scheme:// alone matches everything. Requests without urlPattern return 400. Credentials saved before upgrading keep working against any URL until they are edited; administrators should set a pattern on each existing shared credential
Known Issues
On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot
kubectl port-forward fails with Portainer kubeconfig in some configurations
Known issues with Podman
Support for only CentOS 9, Podman 5 rootful
Auto onboarding a Podman environment defaults to “Standard” and not “Podman”
It's not possible to add Podman environments via socket, when running a Portainer server on Docker (and vice versa)
Known issues with Talos clusters managed by Omni (BE only)
Loading Omni specific information in the Cluster Details view and configuring an existing Talos cluster is currently restricted to Portainer Admins. Environment Admins will get a forbidden error when attempting to do this. This only applies to Omni configuration, and does not affect authentication for any other functionality in the cluster
New in this release
Security
Fixed a bypass of the "Hide bind mounts for non-administrators" setting. When it is enabled, Compose files deployed by non-administrators can no longer reference host files outside the stack directory (for example in configs, secrets or env_file), and include is disabled for them
Fixed a denied, failed or dry-run Kubernetes namespace deletion still removing Portainer's namespace access policies, stack records and registry bindings. These records are now removed only after Kubernetes accepts the deletion
Fixed in-cluster HTTPS connections to the Kubernetes API server skipping TLS certificate verification during stack deploy and removal, on both the server and the agent
Scoped shared Git credentials to URL patterns, so a credential is only sent to repository URLs that match its pattern. Previously any user could point a source at any saved credential and send it to any host
Fixed revoked namespace access staying in effect. Removing a user's or team's access through namespace access settings, Kubernetes RBAC policies or team membership changes now applies immediately. Previously cached Kubernetes clients kept read access for up to 8 hours, and the user's service account could keep write access until restart
Restricted kubeconfig tokens to Kubernetes API calls, so they can no longer be used against the rest of the Portainer API
Fixed the LDAP Kerberos service account password being returned in plaintext by GET /api/settings
Enforced the FIPS mode restriction on custom S3-compatible hosts on the server, for saving S3 backup settings, running a backup and restoring from S3, instead of relying on the UI alone
Added a FIPS mode warning to Azure Blob backup settings that ensuring the endpoint is FIPS compliant is the user's responsibility. Restoring from Azure with an auth method FIPS mode disallows is now rejected up front, and a scheduled Azure backup that FIPS mode makes invalid now logs why it isn't running
Features
Added a Node group column to the Kubernetes cluster node list for clusters using EKS, GKE, AKS, Karpenter or kops node pools, plus optional Instance type, Labels and Taints columns that can be turned on from the column menu
Added an API to issue, inspect and revoke scoped kubeconfigs (/api/kubernetes/{id}/scoped_kubeconfig). A scoped kubeconfig is read-only, limited to chosen namespaces within the caller's own access, expires after at most 7 days, and includes secrets only when requested. Its use is recorded in the activity log as (via scoped kubeconfig )
Added * and ? wildcards to excluded images in Docker image cleanup policies. The excluded-image badge now reads "Docker Hub or local", since names without a registry host also match locally built images
Added a link from add-on management to the add-on requirements FAQ, and made its warnings and status messages clearer. A failed uninstall now shows as "Uninstall failed" instead of "Upgrade failed" and can be retried
Added automatic recovery when the cluster rejects a cached Kubernetes service account token: Portainer drops the cached token and retries the request once
Bug Fixes
Fixed the GitOps Sources page failing to load with "Object not found inside the database (bucket=workflows)" when a stack referenced a deleted workflow. Orphaned references are now skipped, and deleting a stack now unlinks it from its workflow in the same save
Fixed deleting a Kubernetes stack with a namespace leaving behind objects whose manifest names no namespace
Fixed Kubernetes Edge agents retrying removal of workload-less Edge stacks forever, which delayed new deployments and check-ins
Fix the issue where the Docker dashboard volume count excludes volumes that restricted users have access to
Fix the issue where the Async Edge dashboard includes container statistics for resources that Standard users cannot access
Fix the issue where Compose stack undeploy operations do not respect the overall deployment timeout or cancellation context
Fixed the default Unassigned environment group being renameable. It is now read-only, and a group that was already renamed can be reset to "Unassigned"
Fixed an issue where Git-based Helm edge stacks ignored their values files. Existing stacks will apply their configured values files on the next deployment
Fixed the Helm upgrade modal's chart source dropdown opening behind the modal
Fixed the date range picker in container logs and the Activity Logs filter opening behind the sidebar
Fixed the GitOps workflow wizard advising users to create an Edge group when groups exist but none match the deployment type. It now distinguishes "no Edge groups exist" from "Edge groups exist but none match this deployment type"
Fixed installed add-ons failing to launch after switching to a catalog that no longer lists them. An add-on that can't be reached now shows an "Add-on unavailable" page instead of sending restricted users into a redirect loop
Fixed the add-on catalog serving a cached copy for up to 10 minutes after an administrator saved a new catalog URL or pressed refresh or Retry. It now reloads right away
Original source - Sep 17, 2026
- Date parsed from source:Sep 17, 2026
- First seen by Releasebot:Sep 17, 2026
Portainer Business Edition by Portainer
Release 2.45.1 LTS
Portainer Business Edition improves security, FIPS support, and day-to-day reliability with hardened outbound requests, updated dependencies, and clearer registry and Edge handling. This release also simplifies environment views, fixes several UI and upgrade bugs, and restores alert and add-on workflows.
Known Issues
On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot
kubectl port-forward fails with Portainer kubeconfig in some configurations
Known issues with Podman
Support for only CentOS 9, Podman 5 rootful
Auto onboarding a Podman environment defaults to “Standard” and not “Podman”
It's not possible to add Podman environments via socket, when running a Portainer server on Docker (and vice versa)
Known issues with Talos clusters managed by Omni (BE only)
Loading Omni specific information in the Cluster Details view and configuring an existing Talos cluster is currently restricted to Portainer Admins. Environment Admins will get a forbidden error when attempting to do this. This only applies to Omni configuration, and does not affect authentication for any other functionality in the cluster
New in this release
Hardened outbound requests against SSRF. Helm chart resolution and Git HTTP/HTTPS operations now go through the SSRF-aware transport, and the static rules that enforce this now match by type rather than by import alias, so an aliased import can no longer slip past them
Certificate-based authentication for Azure Blob backups is now disabled in FIPS mode
Added build-time static analysis that catches FIPS violations before they ship
Removed unused non-FIPS code paths from FIPS builds
Updated golang.org/x/mod to 0.40.0, fixing CVE-2026-56865 and CVE-2026-56864
Updated golang.org/x/crypto to 0.56.0, fixing CVE-2026-56854 (High), CVE-2026-78662 and CVE-2026-56855
Updated google.golang.org/grpc to 1.83.2, fixing CVE-2026-84304 (High, 8.7)
Updated kubectl in the kubectl shell image to v1.37.0, which removes golang.org/x/net 0.49.0 entirely — fixing CVE-2026-39821 (Critical) along with 2 High and 5 Medium findings
Updated helm in the kubectl shell image to v4.2.4, taking golang.org/x/net to 0.56.0 and fixing CVE-2026-46600 (High)
Upgraded the Alpine packages in the kubectl shell image, taking openssl / libssl3 to 3.5.8-r0, libcurl to 8.22.0-r0 and jq to 1.8.2-r0. Clears 2 Critical findings (CVE-2026-63073 and CVE-2026-75803) plus 9 High, 11 Medium and 1 Low
Simplified the stat cards on the environment list
Renamed the GitOps “Edit git settings” button to “Edit stack settings”, which reflects what it actually changes
The --secret-key-name help text now documents the BE secret path as well as the CE one
Fixed the Swarm network list failing to render, showing “Cannot read properties of undefined (reading 'NodeRole')” and staying empty even after a network was created
Fixed the node details Applications section listing pods that are not running on that node
Fixed a registry personal access token continuing to be used after it was changed. The Helm registry cache is now flushed when credentials change
Fixed the Edge Updater status page failing to load because of a broken status sort
Added an info box to Edge stacks explaining that the GitOps source polling interval does not apply to them
Fixed the initial setup screen leaving the S3 host field enabled in FIPS mode
Fixed automatic Edge environment creation bypassing the FIPS environment gate
FIPS-blocked registry types now return consistent HTTP status codes instead of differing by registry type
Updated github.com/google/cel-go to 0.30.0, fixing GHSA-gcjh-h69q-9w9g
Fixed alert notifications not being sent after an upgrade from 2.40, caused by a stale default receiver breaking Alertmanager config sync
Fixed add-on installation failing when no local Kubernetes environment is connected
Original source All of your release notes in one feed
Join Releasebot and get updates from Portainer and hundreds of other software products.
- Aug 27, 2026
- Date parsed from source:Aug 27, 2026
- First seen by Releasebot:Sep 2, 2026
Portainer Business Edition by Portainer
Release 2.45.0 LTS
Portainer Business Edition releases major Kubernetes, Edge, GitOps and add-on updates, with new APIs, improved workflow and workflow editing, dynamic add-on delivery, stronger multi-fleet scaling, and a broad round of security hardening and bug fixes across Docker, Swarm, Podman and Kubernetes.
Known Issues
On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot
kubectl port-forward fails with Portainer kubeconfig in some configurations
Known issues with Podman
Support for only CentOS 9, Podman 5 rootful
Auto onboarding a Podman environment defaults to “Standard” and not “Podman”
It's not possible to add Podman environments via socket, when running a Portainer server on Docker (and vice versa)
Known issues with Talos clusters managed by Omni (BE only)
Loading Omni specific information in the Cluster Details view and configuring an existing Talos cluster is currently restricted to Portainer Admins. Environment Admins will get a forbidden error when attempting to do this. This only applies to Omni configuration, and does not affect authentication for any other functionality in the cluster
New in this release
New and improved features
Added advanced Kubernetes node drain options with agent failover
Added native Portainer APIs for writing Kubernetes secrets, configmaps, deployments and persistent volume claims, replacing direct kube-apiserver proxy calls
Added a generic Kubernetes manifest dry-run API
Edge Compute settings can now be configured during initial setup and via cli flags
Authentication events now record the real client IP from X-Forwarded-For when the request comes through a trusted proxy
The namespace YAML tab now shows every resource quota in the namespace
Added GetCharts() support to the async Edge agent, so chart data syncs on agent startup
Edge agent connectivity checks now report progress while probing, and wait longer before failing
Creating a git source now skips the source type selection step
The source form now explains git polling versus webhook triggers, and exposes the polling interval setting that was missing from the UI
Removed the redundant single-tab handle from the workflow details view
Reworded the registry creation tooltip to make the default behaviour obvious
Clarified that Portainer supports Podman through its Docker-compatible API only
Reworked the datastore, Edge polling and activity-logging hot paths to support large fleets. Simulated against 500,000 Edge devices through deployment, redeployment and steady state
Added an Edit Workflow wizard so GitOps workflows can be changed after creation
Added a Scale action for the Operator and Namespace Operator roles
Upgraded the embedded OneUptime Kubernetes agent chart to 11.7.1, which decouples node metrics collection from logs mode
Improve deployment type detection in GitOps workflows by inferring the deployment type from file content instead of relying on the filename alone
When Edge Compute isn’t configured, workflow creation now blocks with a clear path to enable it
Removed the “coming soon” placeholders from GitOps force sync and pause
Added a kill switch for hung Omni cluster provisioning requests
Updated the Omni client SDK to v1.8.2
The add-on catalog is now fetched dynamically, so new add-ons no longer require a Portainer patch release
Add-ons can now be installed from a private registry, which supports airgapped deployments
Add-on access can now be denied per team during install. The add-on list appears in team create and edit, and a notification fires when team access changes
Added a dedicated view for users with no active add-ons, so team deny rules can no longer soft-lock someone out of Portainer
Added an admin-only settings store for add-ons
Added a machine authentication token and API for the add-on store
Add-ons no longer require a local Kubernetes environment to be present
The add-on store now surfaces an invalid credential and offers a repair action
The add-on image tag can now be typed in rather than picked from the list
The last viewed add-on is now remembered across logins for multi-portal setups
Add-on list and detail views now link to the official documentation
Reworded the add-on team access toggle to make clear it applies to add-ons only
Changed the add-on icon to a puzzle piece
Security improvements
Fixed a critical Docker proxy authorization bypass. Unrecognised API version prefixes like /v1.47.0/ or /v01.47/ skipped access control entirely, letting non-admin users reach the Docker API directly
Closed a remaining gap in the CVE-2026-44849 (GHSA-5fxq-qcf3-244w) fix and broadened bind-mount restrictions for non-admin users, now including Compose and Swarm stack deployments
Single-namespace Kubernetes endpoints now check the caller’s namespace authorization instead of running as admin
Read-only and Helpdesk users can no longer view Kubernetes secret data
Standard users can no longer manage registry access
Kubernetes authorization denials now return HTTP 403 instead of 500
Fixed a Kubernetes shell authorization flaw. Caller-supplied query parameters could override the server's pod target, letting a standard user run commands in any pod on Agent-managed Kubernetes environments
Updated the Go toolchain to 1.26.6, fixing CVE-2026-39821 (Critical, 9.6), an IDNA validation bypass of hostname-based access controls, along with CVE-2026-42505, CVE-2026-39822, CVE-2026-56862, CVE-2026-56860, CVE-2026-56859, CVE-2026-56858, CVE-2026-56853, CVE-2026-46600 and CVE-2026-33818
Updated oras.land/oras-go/v2 to 2.6.2, fixing CVE-2026-50163
Updated github.com/go-git/go-git/v5 to 5.19.2, fixing CVE-2026-71556 and CVE-2026-71557
Updated go.opentelemetry.io/otel to 1.44.0, fixing CVE-2026-41178
Updated github.com/klauspost/compress to 1.18.7, fixing GHSA-259r-337f-4rfw
Restored admin-only access to the /users, /teams, and /roles list endpoints, which had regressed in 2.39.0 to allow any authenticated user to enumerate non-administrator accounts, teams and the full role catalogue. Together with the team-membership fix shipped in 2.44.0, this closes the directory-enumeration surface for non-admin users
portainer-helpdesk and portainer-cluster-operator now use namespace-scoped RoleBindings instead of ClusterRoleBindings, so namespaced resources no longer leak cross-namespace access
Removed namespace-scoped resources (endpoints, metrics.k8s.io pods and namespaces, CNPG clusters) from portainer-basic, which is bound cluster-wide. Namespaced reads now come from portainer-view, bound per assigned namespace
Namespace Operators now are only given view RoleBindings in namespaces assigned to them
Operator and Helpdesk roles no longer see system namespaces in list results
Stale namespace RoleBindings are now cleared when a team loses access
Fix the issue where Kubernetes RoleBindings remain stale after a user is removed from a team with environment access granted through an environment group
Namespace input for registry and RBAC policies is now sanitized and validated
Creating, editing, deleting and connection-testing GitOps git sources is now recorded in the user activity log
Creating and updating a policy is now recorded in the user activity log
Updated helm.sh/helm/v3 to 3.20.2, fixing CVE-2026-35206
Updated github.com/google/cel-go to 0.29.0, fixing GHSA-gcjh-h69q-9w9g
Upgraded libcurl to 8.21.0-r0 in the kubectl-shell image to address the following CVEs: CVE-2026-11856, CVE-2026-10536, CVE-2026-11564, CVE-2026-12064, CVE-2026-11586, CVE-2026-11352, CVE-2026-9547, CVE-2026-9546, CVE-2026-9545, CVE-2026-9080, CVE-2026-9079, CVE-2026-8932, CVE-2026-8927, CVE-2026-8926, CVE-2026-8925, CVE-2026-8924, CVE-2026-8458, and CVE-2026-8286.
Upgraded c-ares to 1.34.8-r0 in the kubectl-shell image to address CVE-2026-33630
Bug fixes
Fixed a deadlock when an API client updated a Kubernetes stack without supplying stackName
Fixed a data race in the Agent cluster fan-out that misrouted requests, producing duplicate and missing resources in aggregated lists
Fixed Edge Agent containers failing to start on Swarm because of a closed-channel panic
Fixed the compose-unpacker image failing to pull from an authenticated private registry
Fixed GitOps sources becoming undeletable when orphaned workflow records remained, and stopped the scheduler polling deleted stacks
Fix the issue where a user's direct environment access is incorrectly removed when a team they belong to is deleted
Aborting a request mid-flight no longer logs a panic. ErrAbortHandler is now passed through to net/http instead of being caught by the panic logger
Fixed the Kubernetes proxy breaking after a service account token rotation. Local environments now reload the admin token every 30 seconds
Fixed login hanging on the “Authentication in progress” spinner when RETURN_URL pointed at the same path
Fixed “Invalid Swarm ID” errors when managing Swarm environments
Fix the issue where a Swarm stack retains a stale error status after the underlying deployment error has been resolved
Fixed volume browsing on rootless Docker, which now falls back to the default volume path when the mountpoint isn’t reachable
Fixed kubectl port-forward failing against older Kubernetes clusters when using a Portainer kubeconfig
Fixed node shell bash detection (hostHasBash) never working for agent and Edge environments
Fixed deleted environments and Edge groups leaving stale references in workflow artifact targets
Restored the missing option to assign users to an environment group
Fixed the Docker build proxy leaving multipart upload temp files behind after every successful image build
Helm applications are now identified by annotations as well as labels, so deployments deployed using helm dry-run manifests aren’t falsely identified as helm applications
The Applications list no longer shows unreachable ClusterIP addresses under Published URLs
Fixed volume sizes displaying and saving incorrectly by converting properly between base-2 and base-10 units
Updated internal and external documentation links that were redirecting to deprecated pages
Fixed the node drain status label being user-editable and undeleteable
Original source - Aug 13, 2026
- Date parsed from source:Aug 13, 2026
- First seen by Releasebot:Oct 13, 2026
Portainer Business Edition by Portainer
Release 2.39.6 LTS
Portainer Business Edition improves reliability across Kubernetes, Swarm, Docker, and Git stack workflows, while strengthening security with SSRF protections, safer access controls, and updates addressing multiple vulnerabilities. The release also documents known limitations for Edge, Podman, and Omni-managed Talos environments.
Known Issues
- On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot
- kubectl port-forward fails with Portainer kubeconfig in some configurations
Known issues with Podman
- Support for only CentOS 9, Podman 5 rootful
- Auto onboarding a Podman environment defaults to “Standard” and not “Podman”
- It's not possible to add Podman environments via socket, when running a Portainer server on Docker (and vice versa)
Known issues with Talos clusters managed by Omni (BE only)
Loading Omni specific information in the Cluster Details view and configuring an existing Talos cluster is currently restricted to Portainer Admins. Environment Admins will get a forbidden error when attempting to do this. This only applies to Omni configuration, and does not affect authentication for any other functionality in the cluster
New in this release
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" / 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 (both the UI's "Build a new image" flow and the /docker/build API 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)
- Fixed the "Always clone git repository" toggle incorrectly rendering (disabled) on the Edit form for standalone Docker stacks with a Git source
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
- Fixed the Docker proxy resolving RBAC from a cached endpoint snapshot taken when the proxy was first created
- 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/v5 to 5.19.2 to address the following CVEs:
- CVE-2026-71556
- 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 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/grpc to 1.82.1 to address GHSA-hrxh-6v49-42gf
Similar to Portainer Business Edition with recent updates:
- xAI updates138 release notes · Latest Oct 14, 2026
- Claude Code updates472 release notes · Latest Oct 17, 2026
- Proton updates24 release notes · Latest Jun 9, 2026
- Proton VPN Windows updates41 release notes · Latest Aug 28, 2026
- Proton Pass updates41 release notes · Latest Oct 10, 2026
- OpenAI updates267 release notes · Latest Oct 15, 2026
This is the end. You've seen all the release notes in this feed!
Curated by the Releasebot team
Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.