TL;DR
- Juju 4.0-beta6 was shipped on August 11, 2025.
- MongoDB is fully removed from the codebase and state layer.
- Beta proves an end-to-end Kubernetes path: bootstrap → model → deploy PostgreSQL-k8s → deploy PostgreSQL-test-app → integrate.
- Not in this beta: CMRs, Actions, Migrations, non-k8s storage, charm updates.
- We are currently collecting feedback and aim to release 4.0 soon.
We cut 4.0-beta6 on August 11, 2025. It focuses on a single, clear journey with Kubernetes. You bootstrap a controller, create a workload model, deploy the PostgreSQL-k8s charm with Kubernetes storage, deploy the PostgreSQL-test-app charm, and integrate them. The scope is narrow by design, allowing us to exercise the new state layer without interference.
Over the last two years, we removed all MongoDB dependencies and rewrote Juju’s state. That shrinks operational overhead and makes the system easier to understand. It also sets us up for performance work and a safer return of advanced features. This beta marks the moment when the new foundation begins to carry real workloads.
The beta covers Kubernetes bootstrap and model ops, the two PostgreSQL charms, and their integration. The scenario to test:
#1 Bootstrap a controller on the Kubernetes cluster
#2 Create a workload model.
#3 Deploy the PostgreSQL-k8s charm with Kubernetes storage
#4 Deploy the PostgreSQL-test-app charm
#5 Integrate them
What doesn’t work or isn’t tested?
Features like cross-model relations, actions, migrations, non-Kubernetes storage, and charm updates are pending for now. They will be back in Juju 4.
On the record: team highlights
- @simonrichardson / @nvinuesa / @jack-shaw : migration of Units, Machines, Applications, … to Dqlite.
- @hmlanigan / @gfouillet : migration of Link-layer devices, Resources, Relations, … to Dqlite.
- @tlm / @hpidcock : migration of Models / Storage (in progress).
- @wallyworld : stronger release process; steady care for Juju 3.6.
- @manadart : technical leadership through the transition.
Early feedback matters. A huge shout-out to @taurus as he helped as an alpha tester and prepared the PostgreSQL charms so they are ready for 4.0-beta6. That work lets us test real integrations instead of toy examples.
Many thanks to everyone across the Juju team for the precise planning, the steady crunching, and the fantastic engineering that brought us here. This isn’t the end; we’re very close. Let’s keep the pace and land 4.0!
What’s next
Please run the beta on your Kubernetes clusters and let us know what breaks and what works well. File bugs, and include performance notes. We’ll prioritise fixes that block the 4.0 path and make clear calls on scope if high-cost edge cases appear. In parallel, we’re tightening documentation, upgrading guidance, and conducting a comprehensive CI of the full Juju feature set for Juju 4.0 launch.
Questions or blockers? Ping us in chat!
PS: sudo snap refresh juju --channel=4.0/beta