| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| juju-agents-4.0.15-linux-ppc64el.tar.xz | 2026-09-17 | 46.5 MB | |
| juju-agents-4.0.15-linux-s390x.tar.xz | 2026-09-17 | 50.4 MB | |
| juju-agents-4.0.15-linux-arm64.tar.xz | 2026-09-17 | 47.7 MB | |
| juju-agents-4.0.15-linux-amd64.tar.xz | 2026-09-17 | 55.9 MB | |
| juju-4.0.15-darwin-arm64.tar.xz | 2026-09-17 | 50.9 MB | |
| juju-4.0.15-darwin-amd64.tar.xz | 2026-09-17 | 55.7 MB | |
| juju-4.0.15-linux-ppc64el.tar.xz | 2026-09-17 | 45.4 MB | |
| juju-4.0.15-linux-s390x.tar.xz | 2026-09-17 | 49.2 MB | |
| juju-4.0.15-linux-arm64.tar.xz | 2026-09-17 | 47.1 MB | |
| juju-4.0.15-linux-amd64.tar.xz | 2026-09-17 | 54.5 MB | |
| Juju 4.0.15 source code.tar.gz | 2026-09-17 | 18.7 MB | |
| Juju 4.0.15 source code.zip | 2026-09-17 | 23.5 MB | |
| README.md | 2026-09-17 | 9.4 kB | |
| Totals: 13 Items | 545.5 MB | 0 | |
The Juju team is proud to release Juju 4.0.15!
This is a point release to the stable 4.0 series of Juju.
Checkout the Juju 4.0.15 Release Notes
What's Changed
- chore: add lxd server vulnerability to ignore list by @iyiguncevik in https://github.com/juju/juju/pull/23032
- chore: upgrade go version by @iyiguncevik in https://github.com/juju/juju/pull/23042
- chore: add UUID agent rules for service and state methods by @nvinuesa in https://github.com/juju/juju/pull/22704
- ci(docs): include docs freshness in the required result check by @tmihoc in https://github.com/juju/juju/pull/23047
- test: prevent noopFileWatcher goroutine leak in test changestream by @iyiguncevik in https://github.com/juju/juju/pull/23044
- chore: merge 3.6 by @wallyworld in https://github.com/juju/juju/pull/23016
- feat(migration): clean-up old exported versions and add github action to ensure we don't break them by @nvinuesa in https://github.com/juju/juju/pull/23008
- docs(releasenotes): add Juju 4.0.14 release notes by @anvial in https://github.com/juju/juju/pull/23058
- fix(storage): thread persistent flag through storage instance status chain by @gfouillet in https://github.com/juju/juju/pull/22958
- fix(ci-gating tests): minor update on ci-gating tests by @tugudd in https://github.com/juju/juju/pull/23041
- chore: increment juju to 4.0.15 by @jujubot in https://github.com/juju/juju/pull/23040
- fix(azure): destroy-controller fails to delete resources in shared resource groups by @iyiguncevik in https://github.com/juju/juju/pull/23035
- fex: ignore cmr units for model migration readiness by @SimonRichardson in https://github.com/juju/juju/pull/23094
- fix: return NotFound for destroy models by @SimoneDutto in https://github.com/juju/juju/pull/23104
- test(spaces_gce): use add_model helper to ensure ssh key is added by @gfouillet in https://github.com/juju/juju/pull/23095
- chore: Merge model 3.x compatibility 4.x to 4.0 by @Gvantsats in https://github.com/juju/juju/pull/23111
- fix: allow vault drain token to create secrets when draining from internal backend by @iyiguncevik in https://github.com/juju/juju/pull/23048
- docs(cloud): add minimal vsphere permissions reference by @tmihoc in https://github.com/juju/juju/pull/23112
- fix: concurrent unit removal with storage by @SimonRichardson in https://github.com/juju/juju/pull/23085
- chore: remove LXD profile functionality by @manadart in https://github.com/juju/juju/pull/23037
- feat(kubernetes): add enable-service-links model config to control K8s service env var injection by @iyiguncevik in https://github.com/juju/juju/pull/23070
- fix(apiserver): close model connections when removed by @nvinuesa in https://github.com/juju/juju/pull/23099
- fix(kubernetes): implement filesystem import by @gfouillet in https://github.com/juju/juju/pull/23056
- fix(cli): wait for hosted models to be removed before destroying the controller by @nvinuesa in https://github.com/juju/juju/pull/23065
- fix: agent-stream and agent-version keys could leak to the model config if model-defaults were provided during bootstrap by @tugudd in https://github.com/juju/juju/pull/23090
- test(hooks): remove invalid machine-agent reboot-execution assertion by @tugudd in https://github.com/juju/juju/pull/23135
- fix: propagate proxy envvars by @SimonRichardson in https://github.com/juju/juju/pull/23132
- fix: API addresses from virtual Ethernet devices by @manadart in https://github.com/juju/juju/pull/23039
- fix: wait for configchange.socket before deployer starts on every machine by @Gvantsats in https://github.com/juju/juju/pull/23122
- test(caasadmission): wait for model namespace by @anvial in https://github.com/juju/juju/pull/23138
- fix(controlsocket): use fresh password for GetUserByAuth on UserAlreadyExists by @gfouillet in https://github.com/juju/juju/pull/23143
- fix: run lease-expiry worker on all controller nodes by @manadart in https://github.com/juju/juju/pull/23145
- fix: repeated context wrapping on transaction retries by @manadart in https://github.com/juju/juju/pull/23157
- fix(removal): make destroy-model handle detached storage JUJU-10264 by @gfouillet in https://github.com/juju/juju/pull/23107
- fix(tests): tolerate charmcraft 4.4.1 output-location regression in pack_charm by @gfouillet in https://github.com/juju/juju/pull/23174
- fix(tests): poll controller-cluster-role in wait_for_ha by @gfouillet in https://github.com/juju/juju/pull/23156
- chore: merge 3.6 by @wallyworld in https://github.com/juju/juju/pull/23153
- ci: simplify unit test workflow by @kian99 in https://github.com/juju/juju/pull/23180
- fix(model): consolidate CreateModel variants to fix missing storage pool seeding by @tugudd in https://github.com/juju/juju/pull/23171
- test: fix formatting of tla suite by @kian99 in https://github.com/juju/juju/pull/23186
- chore: port intermediate ca_cert fix to 4.0 by @SimoneDutto in https://github.com/juju/juju/pull/23190
- fix(relation): stop recursive subordinate unit deployment by @gfouillet in https://github.com/juju/juju/pull/23185
- test: remove model migration integration tests by @nvinuesa in https://github.com/juju/juju/pull/23209
- chore(deps): bump golang.org/x/crypto to v0.56.0 by @Gvantsats in https://github.com/juju/juju/pull/23211
- fix(uniter): remove empty directories left behind by charm upgrades by @nvinuesa in https://github.com/juju/juju/pull/23204
- feat: ensure we pass update and upgrade config by @SimonRichardson in https://github.com/juju/juju/pull/23210
- fix(relation): map endpoint quota and relation-exists errors to wire codes by @nvinuesa in https://github.com/juju/juju/pull/23114
- fix(ssh): reject public key data describing more than one key by @SABITHSAHEB in https://github.com/juju/juju/pull/22994
- fix(modelmigration): report CAAS migration minions from unit agents only by @nvinuesa in https://github.com/juju/juju/pull/23220
- fix(apiserver): close model connections from their own goroutine by @nvinuesa in https://github.com/juju/juju/pull/23177
- ci: bump actions/setup-python to v7 by @Gvantsats in https://github.com/juju/juju/pull/23194
- fix(application): fix test-charm-storage-aws for juju 4.0 by @gfouillet in https://github.com/juju/juju/pull/23192
- fix: pass cgo ldflags to overload in testing by @SimonRichardson in https://github.com/juju/juju/pull/23227
- feat(cli): provide a clearer error message when deploying or using resources outside of confinement by @tonyandrewmeyer in https://github.com/juju/juju/pull/22527
- fix(modelagent): skip agent binary store check for CAAS models by @nvinuesa in https://github.com/juju/juju/pull/23219
- docs: add watcher initialisation instructions for agents by @manadart in https://github.com/juju/juju/pull/23189
- test(storage_k8s): harden k8s filesystem import integration tests by @gfouillet in https://github.com/juju/juju/pull/23256
- fix: contain filestorage names within the storage directory by @SABITHSAHEB in https://github.com/juju/juju/pull/22682
- chore(codeowners): update owner assignments by @anvial in https://github.com/juju/juju/pull/23263
- fix(domain/status): make derived application status deterministic by @Gvantsats in https://github.com/juju/juju/pull/23239
- fix: set polled instance status early by @manadart in https://github.com/juju/juju/pull/23243
- fix(tests): wait for voter quorum and correct HA teardown wait by @gfouillet in https://github.com/juju/juju/pull/23197
- fix(secrets): grant drain workers access to secrets not yet on the target backend by @Gvantsats in https://github.com/juju/juju/pull/23215
- fix: ignore controller connections when factoring presence by @manadart in https://github.com/juju/juju/pull/23247
- fix: remove deleted relations from unit relation state by @manadart in https://github.com/juju/juju/pull/23276
- test(authorized_keys): update imported SSH key identities by @anvial in https://github.com/juju/juju/pull/23284
- build(deps): bump actions/setup-go from 5 to 7 by @Gvantsats in https://github.com/juju/juju/pull/23265
- fix(credential): allow k8s migration with differing rbac IDs by @nvinuesa in https://github.com/juju/juju/pull/23275
- fix(modelmigration): preserve null values in model exports by @nvinuesa in https://github.com/juju/juju/pull/23283
- Fix typo in juju 4 documentation by @Thanhphan1147 in https://github.com/juju/juju/pull/23199
- fix(uniter): authorise the caller in SetRelationStatus by @SABITHSAHEB in https://github.com/juju/juju/pull/23000
- feat(application): restore storage removal classification on destroy by @gfouillet in https://github.com/juju/juju/pull/23205
- fix(cmr): check relation suspended flag for cross model secret access by @Gvantsats in https://github.com/juju/juju/pull/23285
- fix: machine agent version in full status and simplestream upgrade tests by @tugudd in https://github.com/juju/juju/pull/23293
- fix: check if application is controller by @SimonRichardson in https://github.com/juju/juju/pull/23308
- fix(storage): classify removal by ownership scope rather than persistence by @gfouillet in https://github.com/juju/juju/pull/23274
New Contributors
- @Thanhphan1147 made their first contribution in https://github.com/juju/juju/pull/23199
Full Changelog: https://github.com/juju/juju/compare/v4.0.14...v4.0.15