Juju 4.0.11

🗓️ 2 Jun 2026

This is a cumulative bug fix release for Juju 4.0, covering changes from 4.0.5 to 4.0.11.

🎯 Highlights

  • Security and access checks are tighter: fixes cover dependency vulnerabilities, JAAS bakery authentication, offer permissions, credential access, and Kubernetes-backed user secret creation.

  • Model migration and CMR are more reliable: Juju now handles remote secrets, external users, relation key ordering, local charms, and relation rejoin behavior more consistently during import and migration.

  • Storage and Kubernetes lifecycle behavior is safer: storage removal, volume tracking, storage directives, block device provenance, Kubernetes redeployment, and container-machine startup all receive targeted fixes.

  • Controller and worker stability improves: fixes reduce hangs, panics, goroutine leaks, watcher stalls, and API caller blocking in common controller and agent paths.

Full cumulative list of changes: https://github.com/juju/juju/compare/v4.0.5…20cb167e0dbadab011fcc246d7882220237e5606

🛠️ Fixes

🔒 Security, access, and authentication

This release tightens user, credential, offer, and secret access paths. It also includes dependency updates for security vulnerabilities in Go networking and streaming libraries.

🔁 Migration, CMR, and relation correctness

Several fixes focus on the 3.6 to 4.0 transition path and CMR data correctness. Remote secrets, local charms, external users, relation key order, and relation rejoin behavior are handled more reliably.

🗃️ Storage and Kubernetes lifecycle

Storage handling is more robust across migration, refresh, removal, Kubernetes stateful workloads, and status output. The fixes reduce the chance of stale storage directives, lost volume context, incorrect provider data, or failed cleanup blocking model operations.

🧱 Controller, API, worker, and provisioning stability

Controller and agent workers now handle more edge cases without hanging, blocking, leaking goroutines, or panicking. The fixes target API callers, watchers, the async charm downloader, the provisioner, the SSH server, Dqlite listen addresses, and dbaccessor shutdown behavior.

🧭 Operator-facing CLI, status, network, and offer output

User-facing output is more accurate and consistent. Fixes include command output formatting, controller port reporting, relation network data, network-get, offer listing, application-storage size display, hostname handling, and stable relation information ordering.

📘 Summary

4.0.11 is a broad reliability patch release. It hardens Juju’s access and authentication behavior, closes security dependency gaps, improves the migration and CMR path from 3.6 to 4.0, and fixes storage, Kubernetes, worker, API, and operator-output issues found after 4.0.5.