All Versions
33
Latest Version
Avg Release Cycle
127 days
Latest Release
23 days ago

Changelog History
Page 1

  • v2.42.0 Changes

    May 20, 2026

    Known issues

    • ⚑️ On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot.

    πŸ‘ Known issues with Podman support

    • πŸ‘Œ Support for only CentOS 9, Podman 5 rootful.

    πŸ”„ Changes

    πŸ’₯ Breaking changes

    ⬆️ Changes to the CSRF protection implementation may cause failures when upgrading:

    • ⬆️ Removal of legacy CSRF fallback (scheduled). The legacy-csrf feature flag, introduced in 2.41 as a temporary migration aid, has been removed as scheduled. Users still relying on this flag must resolve any CSRF configuration issues before upgrading (see the 2.41 breaking changes for details). This change also resolves CVE-2025-47909.

    πŸ†• New and improved features

    • βž• Added theme selector to the user menu, allowing switching between light, dark, and high-contrast themes without navigating to settings.
    • βž• Added GitOps sources list view and source detail view for managing Git sources used in deployments.
    • βž• Added a connectivity test before adding edge environments.
    • βž• Added Docker host disk usage display to the host details view.
    • Replaced Kubernetes Volume view with 3 new tables for PV, PVC, SC (PersistentVolumes, PersistentVolumeClaims, StorageClasses).
    • βž• Added link ability between Kubernetes secrets and service account image pull secrets for private registry access.
    • βž• Added pod restart and pod delete support on the Kubernetes application details page.
    • πŸ‘Œ Improved Application Container list, separated pod info from containers list.
    • πŸš€ Ported Swarm stack deployments to use libstack, eliminating the embedded Docker binary from CE/BE images.
    • βž• Added support for volumes-only mount paths in the agent, enabling environments where Docker volumes are accessible via non-default mount paths.
    • βž• Added missing snapshot collection for Edge Agents with long running Chisel connections.

    πŸ”’ Security improvements

    • πŸ›  Fixed Docker exec endpoint to enforce container resource controls, preventing unauthorized exec access to containers.
    • πŸ›  Fixed Docker proxy to enforce resource controls on /containers/{id}/attach/ws WebSocket endpoint.
    • πŸ›  Fixed URL path rewriting to clear the RawPath field, preventing path traversal via percent-encoded paths.
    • πŸ”„ Changed a default setting to enforce server-side EdgeID on first connection.
    • Authentication cookies now have the Secure attribute set automatically when Portainer is accessed over HTTPS.
    • ⬆️ Upgraded golang.org/x/net to v0.54.0 to address CVE-2026-27141 and CVE-2026-33814.
    • ⬆️ Upgraded github.com/go-git/go-git/v5 to v5.19.0 to address CVE-2026-34165, GHSA-3xc5-wrhm-f963, and CVE-2026-33762.
    • ⬆️ Upgraded github.com/in-toto/in-toto-golang to v0.11.0 to address GHSA-pmwq-pjrm-6p5r.
    • ⬆️ Upgraded github.com/Azure/go-ntlmssp to v0.1.1 to address CVE-2026-32952.
    • ⬆️ Upgraded github.com/prometheus/prometheus to v0.311.3 to address CVE-2026-40179, GHSA-fw8g-cg8f-9j28, and CVE-2026-42151.

    πŸ› Bug fixes

    • πŸ›  Fixed TLS configuration being accepted for Edge Agent environments via API (TLS is now correctly rejected for Edge Agent environment creation and updates).
    • πŸ›  Fixed stack deployments hanging due to deadlock during ECR token refresh under concurrent stack deployments.
    • πŸ›  Fixed Chisel panic caused by a negative WaitGroup counter.
    • Fixed stack images being pulled in parallel causing rate-limiting failures; images are now pulled sequentially and COMPOSE_PARALLEL_LIMIT is respected.
    • πŸ›  Fixed GitOps polling stopping permanently after a deployment error; auto-update now resumes correctly on subsequent polling cycles.
    • πŸ›  Fixed GitOps auto-update skipping re-deployment when the commit hash was persisted before the deployment attempt; the hash is now only written after the deploy status is saved.
    • πŸ›  Fixed an issue where editing a private git stack required re-entering credentials due to incorrect form validation and missing stack ID in gitops API calls.
    • πŸ›  Fixed β€œStack ID required” error appearing when viewing logs for containers not part of a stack.
    • πŸ›  Fixed re-pull and redeploy operation to use the compose service for image pulling.
    • πŸ›  Fixed kubectl-shell-image flag only taking effect on the first Portainer run; the flag is now re-applied on each restart.
    • πŸ›  Fixed Kubernetes application edit buttons not working for Git-managed applications.
    • πŸ›  Fixed effective access viewer not including policies when calculating user access.
    • πŸ›  Fixed volume browsing failure when Docker data root is set to a non-default path.
    • πŸ›  Fixed incorrect OS labels for edge agent and Docker API environments (Linux/Windows labels now aligned).
    • πŸ›  Fixed change confirmation dialog incorrectly appearing during Helm deployment creation.
    • πŸ›  Fixed Edge environment URLs displayed on the home page incorrectly showing the Portainer server URL; the URL is now hidden on the list view and the server/tunnel URLs are shown on the environment detail panel instead.
    • πŸ›  Fixed environments with unknown version incorrectly showing as β€œoutdated”.
    • πŸ›  Fixed dropdown menus in the Omni wizard being hidden behind the sticky footer.
    • πŸ›  Fixed missing icon in the host details view.
    • πŸ›  Fixed sidebar parent menu items appearing misaligned.
    • πŸ›  Fixed age filter on the home page not persisting across page reloads.
    • πŸ›  Fixed Edge environment creation failing for CE users.

    🚚 Deprecated and removed features

    πŸ—„ Deprecated features

    None.

    βœ‚ Removed features

    • βœ‚ Removed OpenAMT integration.
  • v2.41.1 Changes

    May 11, 2026

    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

    • βž• Added Age as a sort option on the Home environments list and made it the default sort order, with "Oldest" (ascending by environment ID) and "Newest" (descending) toggles
    • πŸ›  Fixed the Talos Cluster Details page rendering blank by reverting the Omni cluster phase fields to int32 so they match the frontend OmniClusterPhase / OmniClusterUpgradePhase enum contract

    🚚 Deprecated and removed features

    πŸ—„ Deprecated features

    None.

    βœ‚ Removed features

    None

  • v2.41.0 Changes

    April 29, 2026

    Known issues

    • ⚑️ On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot

    πŸ‘ Known issues with Podman support

    • πŸ‘Œ Support for only CentOS 9, Podman 5 rootful

    πŸ”„ Changes

    πŸ’₯ Breaking changes

    ⬆️ Changes to the CSRF protection implementation may cause failures when upgrading:

    • πŸ— Portainer fails to start with a fatal log entry like failed to build server | error="invalid url for trusted origin... trusted_origin: \"portainer.example.com\"". The new implementation requires each entry in the trusted origins list to be a full URL including scheme (e.g. https://portainer.example.com/); bare hostnames are no longer accepted.
    • πŸ”Š Browser requests return 403 Forbidden on state-changing actions, with CSRF check failed entries in the server logs. This means the browser's origin is not in the trusted origins list and needs to be added.

    ⏱ The previous CSRF implementation can be re-enabled by starting Portainer with the legacy-csrf feature flag (-feat legacy-csrf). This flag is provided for 2.41 only and is scheduled for removal in 2.42 β€” please report any problems so they can be addressed before the flag is removed.

    πŸ†• New and improved features

    • βž• Added support for deploying Helm chart edge stacks sourced from Helm repositories and Git repositories.
    • πŸš€ Reworked Docker stack creation and deployment to an async flow for consistent behaviour with Compose.
    • πŸš€ Kubernetes Manifest GitOps stacks can now be edited after deployment β€” admins can update the Git repository URL, reference, manifest filename, and credentials from the application detail view instead of tearing down and recreating the stack.
    • βž• Added TUI (text-based UI) application support to the Web Console and kubectl shell, including proper terminal resize handling.
    • βž• Added a "Redeploy" button to the Git-backed stack detail view for pulling and redeploying from the repository.
    • βž• Added visible rendering of special and non-printable characters in the web code editor.
    • βž• Added Edit YAML and Describe actions to Services, Jobs, CronJobs, Roles, RoleBindings, ClusterRoles, and ClusterRoleBindings datatables in the Kubernetes UI.
    • βž• Added support for pruning unused Docker images from the Images list, with a confirmation modal.
    • Refreshed the navigation bar and page header styling.
    • βž• Added a registry-access notice on Kubernetes app create/edit and Helm install/upgrade views to guide users to configure registry access.
    • βž• Added a GitOps Workflows page β€” a new top-level sidebar item that lists every GitOps workflow across environments and edge stacks with a status summary bar, sortable list, and cross-jump to each stack's edit view. The backing API is RBAC-aware: admins see everything; Edge admins see Edge-stack workflows; environment and Kubernetes-namespace operators see workflows scoped to what they manage; standard users see workflows on stacks they can access via team membership.
    • βž• Added custom namespace support when deploying Helm-based edge stacks.
    • πŸ’» Home UI improvements to highlight environment groups.

    πŸ”’ Security improvements

    πŸ› Bug fixes

    • πŸ›  Fixed keyword search failing to highlight matches in application and container log views.
    • πŸ›  Fixed several data races in Kubernetes environment detection by switching to transactional code.
    • πŸ›  Fixed a use-after-close data race in the endpoint force-update service.
    • Cached the MOTD on the server to eliminate a banner-related layout shift on page load.
    • πŸ›  Fixed published-port rendering in the Containers list so the icon and port text appear on the same row instead of wrapping to separate lines.
    • πŸ›  Fixed the Container details page rendering as empty when the container reports a healthcheck with an empty Log array (the check now uses health.Log?.length).
    • πŸ›  Fixed the Deploy button not re-enabling when editing a running stack's YAML.
    • ⚑️ Reworked the stack update flow to the async model already used for stack create.
    • πŸ›  Fixed a goroutine leak in the Kubernetes pod exec websocket handler.
    • πŸ›  Fixed InvalidateUserKeyCache returning an incorrect value.
    • πŸ›  Fixed Git repository errors returning raw HTML by returning a clean error message instead.
    • πŸ›  Fixed a "missing file" error when updating a Git-backed stack's repository URL.
    • πŸ›  Fixed Git credentials not being saved when creating or updating repository-backed stacks.
    • Suppressed noisy error toasts from repository validation queries by honouring the meta.error flag.
    • ⬇️ Reduced noisy repository validation requests and fixed assorted errors on the GitOps form.
    • πŸ›  Fixed a data race in Docker service restore caused by a shared handler field.
    • βž• Added a success toast when a stack is deployed.
    • πŸ›  Fixed several potential nil-pointer dereferences across Kubernetes (applications, cronjob, ingress, job, pod, custom resources), LDAP, EKS, and Edge revoke code paths.
    • πŸ›  Fixed the volume dropdown blanking out after selection when creating a container β€” the selected volume name now stays visible in the control.
    • πŸ›  Fixed kubectl shell issues including closing the terminal on Ctrl+D.
    • πŸ›  Fixed a data race in the portainer-updater container health checker.
    • πŸ›  Fixed a resource leak in the portainer-updater log query helper.
    • πŸ›  Fixed a websocket data race and goroutine leak by adding proper locking around hijacked connections.
    • πŸ›  Fixed Edge stack retry on the agent: the FirstAction timestamp was captured once and never reset, causing retries to silently stop working 7 days after the agent first saw a stack. It's now reset on each deployment so retries work for the configured window from the latest action.
    • πŸ›  Fixed Kubernetes CronJob executions showing identical lists for same-named CronJobs across namespaces.
    • βœ‚ Removed the non-functional items-per-page selector from the Kubernetes CronJob executions datatable.
    • πŸ›  Fixed malformed YAML documents in the Kubernetes web editor.
    • πŸ›  Fixed an issue where a modal could outgrow the viewport and not be visible.
    • πŸ›  Adjusted page header padding and spacing, and fixed breadcrumb first-item rendering.

    🚚 Deprecated and removed features

    πŸ—„ Deprecated features

    None.

    βœ‚ Removed features

    • βœ‚ Removed MicroK8s cluster provisioning and management integration from the EE server.
  • v2.40.0 Changes

    March 25, 2026

    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

    πŸ†• New and improved features

    • βž• Added an information panel showing current and planned GitOps deployment details when a Git URL or config path is changed
    • 🐳 Docker Compose GitOps stacks can now have their Git URL, config path, and entry point edited after creation
    • Cleaned up Git authentication token handling β€” GitHub tokens can now be entered directly in the Token field rather than the Basic auth field
    • βž• Added a -remove-orphans / prune option when deploying Docker Compose stacks
    • βž• Added support for -security-opt when creating Docker containers
    • ⬆️ Upgraded Helm Go SDK to v4
    • ⬆️ Upgraded Kubernetes dependencies to v1.35

    πŸ”’ Security improvements

    • ⬆️ Upgraded CIRCL library to v1.6.3 to fix GO-2026-4550 incorrect secp384r1 CombinedMult calculation
    • ⬆️ Upgraded go-git to v5.17.0 to fix GO-2026-4473 improper verification of data integrity for .idx and .pack files
    • ⬆️ Upgraded OpenTelemetry Go SDK to v1.41.0 to fix GO-2026-4394 arbitrary code execution via PATH hijacking vulnerability
    • ⬆️ Upgraded OpenTelemetry SDK to v1.42.0 to fix CVE-2026-24051
    • ⬆️ Upgraded Docker binary to v29.3.0 to mitigate CVE-2025-68121
    • ⬆️ Bumped golang-jwt/jwt/v4 to v4.5.2 to fix CVE-2025-30204 regression
    • ⬆️ Upgraded gRPC to v1.79.3 to fix CVE-2026-33186
    • πŸ›  Fixed missing authorization check on the Custom Template file content API endpoint

    πŸ› Bug fixes

    • πŸ›  Fixed GitOps Edge Configurations not restarting the correct service when a bind-mounted configuration file changes
    • πŸ›  Fixed Git reference (branch/tag/commit) input field not working in GitOps forms
    • πŸ›  Fixed container incorrectly shown as running in the UI while Docker reports it as restarting or removing
    • πŸ›  Fixed stack update/edit button remaining clickable during form submission
    • πŸ›  Fixed Git-based Docker stacks from GitLab failing environment variable validation for non-admin users
    • πŸ›  Fixed Helm Edge stacks being incorrectly marked as External Edge stacks
    • πŸ›  Fixed Portainer console freezing when pasting more than 2000 characters
    • πŸ›  Fixed TLS certificate upload failing when updating environment connection settings
    • πŸ›  Fixed deleting a Kubernetes Edge stack causing the environment to appear as offline
    • πŸ›  Fixed LDAP DN builder not accepting dashes in field values
    • πŸ›  Fixed "Edit This Application" button being disabled for non-admin users on the Kubernetes application details page
    • πŸ›  Fixed Docker Swarm Overlay Network issues causing "Unable to find an agent on any manager node" errors
    • πŸ›  Fixed environment selector crashing after upgrade when a group referenced in a stack no longer exists
    • πŸ›  Fixed not all containers for a Swarm service being shown
    • πŸ›  Fixed blank dashboard appearing after upgrade to 2.39.0 caused by a panic in the UAC evaluation for external stacks
    • πŸ›  Fixed container view failing with "Unable to retrieve registries: Unauthorized" for non-admin users
    • πŸ›  Fixed race condition in stack update function registration that could cause internal state corruption
    • πŸ›  Fixed WebSocket data race in logout handling
    • πŸ‘Œ Improved PostInitMigrate() performance from O(NΒ²) to O(N log N)
    • πŸ›  Fixed OAuth login failing when the OAuth provider returns a malformed Content-Type header (affects providers such as Cloudflare Access)
    • πŸ›  Fixed log lines that are JSON-encoded strings rendering as character-index pairs instead of the actual log text
    • Aligned Axios error message display in CE with the EE implementation

    🚚 Deprecated and removed features

    πŸ—„ Deprecated features

    • None

    βœ‚ Removed features

    • None
  • v2.39.3 Changes

    June 03, 2026

    Known issues

    • ⚑️ On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot

    πŸ‘ Known issues with Podman support

    • πŸ‘Œ Support for only CentOS 9, Podman 5 rootful
    • 0️⃣ 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)

    πŸ”„ Changes

    • πŸ›  Fixed a panic in Chisel
    • ⬆️ Bumped in-toto-golang to 0.11.0 to address GHSA-pmwq-pjrm-6p5r
    • πŸ›  Fixed a team access escalation via AuthorizedResourceControlUpdate logic flaw
    • πŸ›  Fixed a full-read server-side request forgery (SSRF) vulnerability in the GitLab Registry Proxy endpoint that could be exploited via the X-Gitlab-Domain header
    • ⬆️ Bumped github.com/go-git/go-git/v5 to 5.18.0 to address the following CVEs:

    • ⬆️ Bumped golang.org/x/net to >= 0.53.0 to address the following CVEs:

    • πŸ›  Fixed the "Re-pull image and redeploy" toggle

    • πŸ‘Œ Improved edge environment snapshot reliability by proactively triggering snapshots

    • ⬆️ Bumped golang.org/x/crypto to 0.52.0 to address the following CVEs:

      • CVE-2026-39830
      • CVE-2026-39831
      • CVE-2026-39832
      • CVE-2026-39833
      • CVE-2026-39834
      • CVE-2026-42508
      • CVE-2026-46595
    • πŸ›  Fixed a Git Auto Update polling failure for Stacks caused by improper shutdowns

    🚚 Deprecated and removed features

    None

  • v2.39.2 Changes

    May 07, 2026

    Known issues

    • ⚑️ On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot

    Known issues with Podman

    • πŸ‘ 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

    🚚 Deprecated and removed features

    πŸ—„ Deprecated features

    None.

    βœ‚ Removed features

    None

  • v2.39.1 Changes

    March 19, 2026

    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

    • πŸ›  Fixed an issue where a Git-based Docker stack from GitLab failed validation for non-admin users
    • Re-enabled image registries for FIPS
    • πŸ›  Fixed an issue where groups were missing after an upgrade
    • πŸ›  Fixed an issue where not all containers for a service were shown in v2.39.0 Alpine
    • πŸ›  Fixed an issue where users could not add new environments to an existing group when the group already contained a large number of environments
    • πŸ›  Fixed an issue where the Edit this application button was disabled for non-admin users
    • πŸ›  Fixed an issue where custom template file content was accessible to unauthorized users
    • πŸ›  Fixed an issue where users could not view their containers
    • πŸ›  Fixed an issue where users saw a blank dashboard
    • ⚑️ Updated the kubectl shell image to version 1.35.2
    • ⚑️ Updated Kubernetes to version 1.35
    • ⚑️ Updated Go to version 1.25.8 to mitigate the following CVEs:

    • Resolved the following CVEs:

    🚚 Deprecated and removed features

    πŸ—„ Deprecated features

    • None

    βœ‚ Removed features

    • None
  • v2.39.0 Changes

    February 25, 2026

    Known issues

    • ⚑️ On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot

    πŸ‘ Known issues with Podman support

    • 0️⃣ Auto onboarding a Podman environment defaults to "Standard" and not "Podman"
    • πŸ‘ 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

    • πŸ›  Fixed an issue preventing environment group changes for Kubernetes standard agents from the environment details view
    • βž• Addressed security vulnerability disclosure
    • ⚑️ Updated form behavior to only show errors after the input has been touched/visited or submitted
    • πŸ‘Œ Improved HTTP response code handling via the Portainer API
    • βž• Added default alphabetical sorting to the namespace dropdown list
    • πŸ›  Fixed a UI issue where the dropdown form elements were overlapping with the footer
    • ⚑️ Updated styling of shared tabs used throughout Portainer
    • πŸ‘Œ Improved TLS initialization for custom registries
    • πŸ›  Fixed a memory leak in kubectl delete
    • πŸ›  Fixed an issue where a ""Release: not found" error was presented when installing a Traefik ingress
    • πŸ›  Fixed an issue when editing an environment that could inadvertently remove unix:// from URLs
    • Reordered the agent options in the "Add Environment" interface
    • πŸ›  Fixed an issue where Portainer was unable to pull from a private registry with a port in the URL
    • πŸ›  Fixed an issue where a webhook was missing during the initial deployment
    • πŸ›  Fixed an issue where the API response code from /docker/containers/create was returning 200 instead of 201
    • πŸ‘Œ Improved visibility of the "New version available" alert in light mode
    • ⬆️ Upgraded package versions to mitigate potential frontend vulnerabilities
    • Associated environments in a group will now only be saved when submitting the form
    • πŸ“š Updated the documentation link supplied in the Portainer logs when a user tries to start Portainer BE with a CE database
    • πŸ›  Fixed a 500 issue when loading Docker in the dashboard
    • πŸ›  Fixed a problem with GitOps removing containers when image pull fails
    • πŸ›  Fixed incorrect transaction usage around webhooks
    • πŸ›  Fixed incorrect transaction usage when deleting endpoints
    • Resolved the following CVEs:

    🚚 Deprecated and removed features

    πŸ—„ Deprecated features

    • None

    βœ‚ Removed features

    • None
  • v2.38.1 Changes

    February 12, 2026

    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

    • πŸ›  Fixed an issue around changing an environment group for Kubernetes standard agent within the environment details view
    • πŸ›  Fixed an issue where local environments using Docker would have their protocol removed
    • πŸ‘Œ Improved the namespace dropdown list to be sorted alphabetically by default
    • Resolved the following CVEs:

    🚚 Deprecated and removed features

    πŸ—„ Deprecated features

    • None

    βœ‚ Removed features

    • None
  • v2.38.0 Changes

    January 28, 2026

    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

    • πŸ›  Fixed an issue where starting Stack was failed when the private image referenced by the stack was removed from the environment
    • πŸ›  Fixed an issue where deploying a Stack in Kubernetes caused a memory leak
    • πŸ›  Fixed a UI issue when updating edge stacks
    • πŸ”’ Changed the Docker security settings to safer default values
    • πŸ›  Fixed a panic in Edge Group creation
    • πŸ›  Fixed quote handling in TLS CLI flags
    • πŸ›  Fixed error in GitOps while updating Stacks
    • πŸ›  Fixed a problem that would cause for the Containers page to not load
    • ⬆️ Bumped up the max Docker API version in the proxy
    • πŸ›  Fixed a problem while duplicating/editing containers related to persistent MAC addresses
    • βž• Added proper propagation of Docker error messages back to the frontend
    • βž• Added missing validations for Swarm environments security settings
    • ⚑️ Optimized server allocations for a faster startup
    • πŸ›  Fixed GO-2025-3460
    • ⬆️ Upgraded to Compose v2.40.3 to fix a panic
    • πŸ›  Fixed a problem in config removal
    • ⬆️ Upgraded Git library to fix compatibility problem with gitee
    • βœ‚ Removed all the Matomo code
    • βœ‚ Removed confusing Podman log message in Docker environments
    • Replaced gopkg.in/yaml.v3 to go.yaml.in/yaml/v3
    • πŸ’» Ensured the surfacing of Edge Stack file not found errors to the UI
    • ⚑️ Changed the code to avoid creating updater networks
    • πŸ›  Fixed registry selection recall for Stacks pages
    • πŸ›  Fixed a nil pointer dereference error in FilterEndpoints()
    • πŸ›  Fixed a nil pointer dereference error in deleteEndpointGroup()
    • πŸ›  Fixed a nil pointer dereference error in CopyPath()
    • πŸ‘Œ Improved visibility on proxy errors
    • πŸ›  Fixed a problem while renaming stacks on Swarm
    • πŸ›  Fixed a problem that could cause encrypting an existing Portainer database to fail
    • πŸ‘Œ Improved the Azure Container Instance (ACI) experience with a new environment variables section in the creation form and a corresponding table in the instance view.
    • ⚑️ Updated the Portainer logo and favicon throughout the application to the new branding.
    • ⬆️ Upgraded the golang/stdlib to version 1.24.11 to the following CVEs in the Portainer agent:

    • πŸ›  Fixed an issue where Web Editor based Kubernetes app deployment ignores selected namespace.

    • πŸ›  Fixed an issue where Edit/Upgrade buttons not functioning on Helm chart details page.

    🚚 Deprecated and removed features

    πŸ—„ Deprecated features

    • None

    βœ‚ Removed features

    • None