Juju 4.0.3ΒΆ
ποΈ 4 Mar 2026
π― HighlightsΒΆ
4.0.3is the cumulative patch release from4.0.1to4.0.3:4.0.2was not promoted, so this release carries the full stability and migration work from both patch versions.Model migration coverage expands significantly: Juju model config, machines, subnets, filesystems, volumes, and storage attachments imports have all been reworked.
CMR reliability improves end-to-end: importing remote consumers/offerers, relation units, and duplicate remote applications is now safer and more consistent.
Storage and object-store behavior is more robust under load: fixes target retries, leaked readers, spin-lock behavior, and deletion safety for de-duplicated blobs.
Lifecycle and operator UX is tightened up: better removal ordering and foreign key (FK) cleanup, clearer action error output, and more accurate offer visibility.
β οΈ Breaking changesΒΆ
N/A.
Upgrade note: transition behavior for storage and offers is now explicitly documented; migrating models with multiple SAAS entries for one offer may collapse to a single SAAS entry. feat: add transition information for storage and offers
π Features (key changes)ΒΆ
N/A. This is a patch release focused on migration completeness, reliability, and operational correctness rather than new top-level product features.
Key changes include:
Model migration now imports storage attachments with storage instances: attachment records are imported as part of the same storage migration flow. feat: import storage attachments alongside storage instances
CMR migration merges duplicate remote applications: duplicate remote applications are now merged during import. feat: merging duplicate remote applications
Storage listing works through the client facade: storage instances, filesystems, and volumes are listed through the storage client path. feat: storage list client
network-getsupports providers without spaces: networking data is now returned correctly for providers that do not implement space support. fix: network-get for providers without space support
Full cumulative list of changes: https://github.com/juju/juju/compare/v4.0.1β¦v4.0.3
π οΈ FixesΒΆ
π Migration/CMR correctnessΒΆ
ποΈ Object store, resources, and firewaller stabilityΒΆ
π§± Lifecycle, offers, and cloud lifecycle safetyΒΆ
fix(removal): clean up FK references on app, unit, and relation delete
fix(cloud): cascade credential deletion when removing a cloud
fix(offers): show correct list of users in show-offer command
fix(offer): use charm reference_name instead of metadata name in v_offer_detail view
fix(actions): show correct message when task has error outcome
π SummaryΒΆ
4.0.3 is a reliability-focused release: it finishes major chunks of the 3.6β4.0 migration path, hardens CMR and storage/object-store behavior in real workloads, and improves day-2 operator visibility and lifecycle safety across offers, actions, and cloud cleanup workflows.