| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| juju-agents-4.0.16-linux-ppc64el.tar.xz | 2026-10-18 | 46.6 MB | |
| juju-agents-4.0.16-linux-s390x.tar.xz | 2026-10-18 | 50.5 MB | |
| juju-agents-4.0.16-linux-arm64.tar.xz | 2026-10-18 | 48.0 MB | |
| juju-agents-4.0.16-linux-amd64.tar.xz | 2026-10-18 | 56.3 MB | |
| juju-4.0.16-darwin-arm64.tar.xz | 2026-10-18 | 51.1 MB | |
| juju-4.0.16-darwin-amd64.tar.xz | 2026-10-18 | 56.2 MB | |
| juju-4.0.16-linux-ppc64el.tar.xz | 2026-10-18 | 45.2 MB | |
| juju-4.0.16-linux-s390x.tar.xz | 2026-10-18 | 49.1 MB | |
| juju-4.0.16-linux-arm64.tar.xz | 2026-10-18 | 47.1 MB | |
| juju-4.0.16-linux-amd64.tar.xz | 2026-10-18 | 54.7 MB | |
| Juju 4.0.16 source code.tar.gz | 2026-10-16 | 18.9 MB | |
| Juju 4.0.16 source code.zip | 2026-10-16 | 23.7 MB | |
| README.md | 2026-10-16 | 9.5 kB | |
| Totals: 13 Items | 547.4 MB | 0 | |
The Juju team is proud to release Juju 4.0.16!
This is a point release to the stable 4.0 series of Juju.
Checkout the Juju 4.0.16 Release Notes
What's Changed
- fix(controllerconfig): only update api-port when it is set or removed by @tugudd in https://github.com/juju/juju/pull/23314
- fix(network-get): remove placeholder string from k8s dummy NIC names by @Gvantsats in https://github.com/juju/juju/pull/23292
- fix: add dns-name if configured to consume details by @SimoneDutto in https://github.com/juju/juju/pull/23323
- fix(bootstrap): support arm64 k8s controller bootstrap by @iyiguncevik in https://github.com/juju/juju/pull/23307
- chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.44.0 to 1.45.0 by @Gvantsats in https://github.com/juju/juju/pull/23354
- fix(model): don't format nil err when model user not found by @luci1900 in https://github.com/juju/juju/pull/23322
- fix(storage): fall back to device name for block storage location by @Gvantsats in https://github.com/juju/juju/pull/23303
- docs: add Juju 4.0.15 release notes by @anvial in https://github.com/juju/juju/pull/23371
- refactor: pinger leaks goroutines by @SimonRichardson in https://github.com/juju/juju/pull/23296
- fix(storage): restore 3.6 semantics for destroy with persistent storage and volume-attach AZ placement by @gfouillet in https://github.com/juju/juju/pull/23319
- perf(apiserver): batch model last-login lookups by @luci1900 in https://github.com/juju/juju/pull/23376
- chore: increment juju to 4.0.16 by @jujubot in https://github.com/juju/juju/pull/23327
- fix: import model constraints after spaces during migration by @tugudd in https://github.com/juju/juju/pull/23379
- chore(deps): target github-actions dependabot PRs at the 4.0 branch by @Gvantsats in https://github.com/juju/juju/pull/23382
- fix(crossmodelrelation): import consumed offers without relations by @nvinuesa in https://github.com/juju/juju/pull/23372
- perf: reduce number of subscriptions from 11 to 9 by @SimonRichardson in https://github.com/juju/juju/pull/23250
- build(deps): bump docker/setup-compose-action from 2.3.0 to 2.4.0 by @Gvantsats in https://github.com/juju/juju/pull/23387
- feat(crossmodelrelation): import relation networks by @nvinuesa in https://github.com/juju/juju/pull/23367
- fix(crossmodelrelation): preserve identity and state of imported consumer relations by @nvinuesa in https://github.com/juju/juju/pull/23368
- fix(secret): support granting secret access over peer relations by @gfouillet in https://github.com/juju/juju/pull/23388
- fix(worker): finish CAAS k8s cleanup when app is removed mid-flight by @gfouillet in https://github.com/juju/juju/pull/23390
- fix(relation): preserve tokens and unit settings across consume aliases by @gfouillet in https://github.com/juju/juju/pull/23380
- fix(firewaller): keep controller ports off model firewall by @Gvantsats in https://github.com/juju/juju/pull/23362
- test(gce): allow pro images more time to provision by @gfouillet in https://github.com/juju/juju/pull/23428
- build(deps): bump actions/setup-go from 6.4.0 to 7.0.0 by @dependabot[bot] in https://github.com/juju/juju/pull/23429
- build(deps): bump dorny/paths-filter from 4.0.2 to 4.0.3 by @dependabot[bot] in https://github.com/juju/juju/pull/23430
- build(deps): bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in https://github.com/juju/juju/pull/23431
- test(firewaller): wait for firewall convergence in limit_access test by @Gvantsats in https://github.com/juju/juju/pull/23440
- refactor(tests): default wait_for_or_fail to 30 iterations by @Gvantsats in https://github.com/juju/juju/pull/23445
- fix(migration): import annotations from 3.6 models by @Gvantsats in https://github.com/juju/juju/pull/23383
- test(controllercharm): harden prometheus suite against CI flakiness by @gfouillet in https://github.com/juju/juju/pull/23432
- fix(crossmodelrelation): import every offer connection of a legacy consumer proxy by @gfouillet in https://github.com/juju/juju/pull/23406
- fix(relation): import relation data of remote application consumers by @nvinuesa in https://github.com/juju/juju/pull/23395
- fix(modelmigration): create offer-ACL-only external users on import by @Gvantsats in https://github.com/juju/juju/pull/23455
- build(deps): bump oauthlib and urllib3 in testcharms/charms/credential-get-k8s by @Gvantsats in https://github.com/juju/juju/pull/23477
- test(apiserver): make login timestamp assertion tolerant of slow tests by @Gvantsats in https://github.com/juju/juju/pull/23478
- test: remove obsolete charm LXD profile coverage by @anvial in https://github.com/juju/juju/pull/23435
- fix(test): flaky TestReportWithTopicSubscriptions by @Gvantsats in https://github.com/juju/juju/pull/23488
- fix(network): use the default LXD bridge for local container networking by @gfouillet in https://github.com/juju/juju/pull/23472
- fix(cmr): suspend cross-model relations when revoking offer consume permission by @iyiguncevik in https://github.com/juju/juju/pull/23358
- ci(jaas): use new jaas v4 branch name by @kian99 in https://github.com/juju/juju/pull/23503
- fix: flaky TestWatchOpenedPorts — dual-write setup raced the change stream poll by @iyiguncevik in https://github.com/juju/juju/pull/23505
- test(model): add 3.6 -> 4.0 model migration integration tests by @nvinuesa in https://github.com/juju/juju/pull/23401
- test(deploy): assert container eth0 addressing in deploy_lxd_to_container by @gfouillet in https://github.com/juju/juju/pull/23474
- fix(apiserver): authorise unit resource downloads by @SABITHSAHEB in https://github.com/juju/juju/pull/23360
- fix(removal): unblock model teardown on container hosts by @gfouillet in https://github.com/juju/juju/pull/23473
- fix: provider should be validated before adding a model by @SimoneDutto in https://github.com/juju/juju/pull/23524
- test(migration): merge migration_k8s suite into migration by @nvinuesa in https://github.com/juju/juju/pull/23538
- test: tweak charmcraft pack output by @kian99 in https://github.com/juju/juju/pull/23540
- fix(migration): preserve historical logs during model transfer by @Gvantsats in https://github.com/juju/juju/pull/23489
- test(cmr): add modelmigration suite for egress override by @iyiguncevik in https://github.com/juju/juju/pull/23389
- fix: preserve imported offer ACLs by @manadart in https://github.com/juju/juju/pull/23545
- fix(CMR): follow controller redirects for remote secrets and model lookups by @nvinuesa in https://github.com/juju/juju/pull/23479
- fix(migration): import relation data of multi-connection consumer proxies by @nvinuesa in https://github.com/juju/juju/pull/23510
- ci(export): add freeze check for released payload versions by @nvinuesa in https://github.com/juju/juju/pull/23513
- fix(resource): wrong kind for charms with several resources by @luci1900 in https://github.com/juju/juju/pull/23558
- chore: merge 3.6 patches by @wallyworld in https://github.com/juju/juju/pull/23537
- build(deps): bump pyasn1 to 0.6.4 and go to 1.27.2 by @Gvantsats in https://github.com/juju/juju/pull/23567
- feat(relation): provision storage for IAAS subordinate units by @gfouillet in https://github.com/juju/juju/pull/23446
- fix: restore 3.6 application constraints behaviour (#23462) by @Gvantsats in https://github.com/juju/juju/pull/23578
- fix(crossmodelrelation): import networks and secret grants of additional offer connections by @nvinuesa in https://github.com/juju/juju/pull/23559
- test: pin custom image metadata semantics on 3.6 migration by @Gvantsats in https://github.com/juju/juju/pull/23594
- test(migration): cover multi-endpoint offer migration by @Gvantsats in https://github.com/juju/juju/pull/23597
- fix(crossmodelsecrets): resolve consuming application by secret grant by @gfouillet in https://github.com/juju/juju/pull/23587
- fix(cmr): atomically remove synthetic units from shared relations by @iyiguncevik in https://github.com/juju/juju/pull/23601
- test(cmr): use --base in offer-consume-same-app after --series removal by @Gvantsats in https://github.com/juju/juju/pull/23614
- build(deps): bump actions/setup-node from 6.4.0 to 7.1.0 by @dependabot[bot] in https://github.com/juju/juju/pull/23603
- build(deps): bump actions/upload-artifact from 5.0.0 to 7.0.2 by @dependabot[bot] in https://github.com/juju/juju/pull/23602
- chore: comment out the lxd variant of the 3.6 migration tests by @nvinuesa in https://github.com/juju/juju/pull/23627
- test: skip unsupported LXD migration tests before bootstrap by @nvinuesa in https://github.com/juju/juju/pull/23629
- fix: deduplicate storage provisioner operations by @SimonRichardson in https://github.com/juju/juju/pull/23616
- fix(cmr): address CMR forced-removal integrity defects by @iyiguncevik in https://github.com/juju/juju/pull/23596
- fix(migration): gate caas model workers on migration-inactive flag by @nvinuesa in https://github.com/juju/juju/pull/23590
- test: enforce provider container networking in spaces by @Gvantsats in https://github.com/juju/juju/pull/23637
- test(migration): self-provision the juju 3.6 client and restore lxd by @nvinuesa in https://github.com/juju/juju/pull/23639
- test(migration): unset 3.6 auto-set fan config before migrating by @nvinuesa in https://github.com/juju/juju/pull/23644
Full Changelog: https://github.com/juju/juju/compare/v4.0.15...v4.0.16