Release history
juju releases
Orchestration engine that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure (Kubernetes or otherwise).
All releases
22 shown
Fixed GitHub issue #22356 related to a broken build pipeline.
Full changelog
The Juju team is proud to release Juju 2.9.59!
This is a point release to the stable 2.9 series of Juju.
Checkout the Juju 2.9.59 Release Notes
What's Changed
This issue is fixed in this release: https://github.com/juju/juju/issues/22356
There are no commits to the Juju code base - the issue was with the build pipeline and this release was done once the biuld pipeline itself was fixed.
Full Changelog: https://github.com/juju/juju/compare/v2.9.58...v2.9.59
- Inject default image repo during build
Full changelog
The Juju team is proud to release Juju 2.9.58!
This is a point release to the stable 2.9 series of Juju.
Checkout the Juju 2.9.58 Release Notes
What's Changed
- chore(deps): bump golang.org/x/net from 0.52.0 to 0.53.0 by @dependabot[bot] in https://github.com/juju/juju/pull/22204
- chore: merge private branch with CVE fixes by @wallyworld in https://github.com/juju/juju/pull/22205
- docs: fix typo in 2.9 release notes by @wallyworld in https://github.com/juju/juju/pull/22209
- chore(deps): security vulnerabilities by @iyiguncevik in https://github.com/juju/juju/pull/22211
- chore(deps): bump golang.org/x/mod from 0.34.0 to 0.35.0 by @dependabot[bot] in https://github.com/juju/juju/pull/22215
- fix: ensure create backup works after upgrade by @wallyworld in https://github.com/juju/juju/pull/22271
- feat: inject default image repo during build by @jack-w-shaw in https://github.com/juju/juju/pull/22255
- fix: use stderr not tty in backup shell test by @wallyworld in https://github.com/juju/juju/pull/22286
- test: backport test fixes for model metrics shell tests by @wallyworld in https://github.com/juju/juju/pull/22292
- Update 2.9 release notes support statement by @tmihoc in https://github.com/juju/juju/pull/22301
- fix: snap linker for JujudOCINamespace by @jack-w-shaw in https://github.com/juju/juju/pull/22320
- docs: set up multi-version sitemaps by @tmihoc in https://github.com/juju/juju/pull/22298
Full Changelog: https://github.com/juju/juju/compare/v2.9.57...v2.9.58
Minor fixes and improvements.
Full changelog
The Juju team is proud to release Juju 3.6.21!
This is a point release to the stable 3.6 series of Juju.
Checkout the Juju 3.6.21 Release Notes
What's Changed
- chore: merge private branch with CVE fixes by @wallyworld in https://github.com/juju/juju/pull/22206
Full Changelog: https://github.com/juju/juju/compare/v3.6.20...v3.6.21
Minor fixes and improvements.
Full changelog
The Juju team is proud to release Juju 2.9.57!
This is a point release to the stable 2.9 series of Juju.
Checkout the Juju 2.9.57 Release Notes
What's Changed
- chore: update deps as per dependabot by @wallyworld in https://github.com/juju/juju/pull/21980
- chore: merge juju private branch with cve fixes by @wallyworld in https://github.com/juju/juju/pull/22037
- chore: update juju/charm/v8 to v8.1.0 by @wallyworld in https://github.com/juju/juju/pull/22063
- chore(deps): bump golang.org/x/net from 0.52.0 to 0.53.0 by @dependabot[bot] in https://github.com/juju/juju/pull/22204
- chore: merge private branch with CVE fixes by @wallyworld in https://github.com/juju/juju/pull/22205
Full Changelog: https://github.com/juju/juju/compare/v2.9.56...v2.9.57
Minor fixes and improvements.
Full changelog
The Juju team is proud to release Juju 4.0.5!
This is a point release to the stable 4.0 series of Juju.
Checkout the Juju 4.0.5 Release Notes
Full Changelog: https://github.com/juju/juju/compare/v4.0.3...v4.0.5
- Context-tests now trigger smoke tests
Full changelog
The Juju team is proud to release Juju 3.6.20!
This is a point release to the stable 3.6 series of Juju.
Checkout the Juju 3.6.20 Release Notes
What's Changed
- chore: update deps as per dependabot by @wallyworld in https://github.com/juju/juju/pull/21980
- fix(k8s): filter invalid kubeconfig contexts from local clouds by @kooltuoehias in https://github.com/juju/juju/pull/21937
- docs: set up llms dot txt by @tmihoc in https://github.com/juju/juju/pull/22019
- chore: merge juju private branch with cve fixes by @wallyworld in https://github.com/juju/juju/pull/22037
- chore: merge private 3.6 branch by @wallyworld in https://github.com/juju/juju/pull/22040
- fix: panic when charm has no actions by @SimonRichardson in https://github.com/juju/juju/pull/22015
- feat: make context-tests trigger smoke tests by @jack-w-shaw in https://github.com/juju/juju/pull/22033
- docs: update llms implementation by @tmihoc in https://github.com/juju/juju/pull/22026
Full Changelog: https://github.com/juju/juju/compare/v3.6.19...v3.6.20
- CVE-2025-14847 — unauthenticated MongoDB connection vulnerability
- CVE-2025-68152 — unspecified Juju security issue
- CVE-2025-68153 — unspecified Juju security issue
Full changelog
The Juju team is proud to release Juju 2.9.56!
This is a point release to the stable 2.9 series of Juju.
Checkout the Juju 2.9.56 Release Notes
Mongo Bleed
- fix: CVE-2025-14847
- fix: mongodb accepts unauthenticated connection https://github.com/juju/juju/security/advisories/GHSA-9j5v-49f8-cpp8
Other CVEs
- fix: CVE-2025-68152
- fix: CVE-2025-68153
Full Changelog: https://github.com/juju/juju/compare/v2.9.53...v2.9.56
- SSH debug-hooks and debug-code now force PTY allocation.
- CVE-2025-14847 — unauthenticated MongoDB connection vulnerability
- GHSA-9j5v-49f8-cpp8 — MongoDB accepts unauthenticated connections (Mongo Bleed)
- CVE-2026-32691 — security advisory GHSA-gfgr-6hrj-85ww
Full changelog
The Juju team is proud to release Juju 3.6.19!
This is a point release to the stable 3.6 series of Juju containing security fixes.
Mongo Bleed
- fix: CVE-2025-14847
- fix: mongodb accepts unauthenticated connection https://github.com/juju/juju/security/advisories/GHSA-9j5v-49f8-cpp8
Other CVEs
- fix: CVE-2026-32691
- fix: CVE-2026-32692
- fix: CVE-2026-32694
- fix: CVE-2026-32693
Checkout the Juju 3.6.19 Release Notes
Other Changes
- fix(ssh): force PTY allocation for debug-hooks and debug-code by @marceloneppel in https://github.com/juju/juju/pull/21992
Full Changelog: https://github.com/juju/juju/compare/v3.6.14...v3.6.19
- Drop PVC filtering by storage unique ID in favor of database queries.
- Import filesystem attachments for IaaS during model migration.
- Add transition information for storage and offers.
Full changelog
The Juju team is proud to release Juju 4.0.3!
This is a point release to the stable 4.0 series of Juju.
Checkout the Juju 4.0.3 Release Notes
What's Changed
- fix(domain): enforce UTC for database timestamp fields by @gfouillet in https://github.com/juju/juju/pull/21773
- feat: add some domain knowledge for agents by @manadart in https://github.com/juju/juju/pull/21800
- chore: update SQLair dependency by @manadart in https://github.com/juju/juju/pull/21814
- fix: sort before compact by @tlm in https://github.com/juju/juju/pull/21817
- chore: increment juju to 4.0.3 by @jujubot in https://github.com/juju/juju/pull/21810
- fix(offers): show correct list of users in show-offer command by @iyiguncevik in https://github.com/juju/juju/pull/21806
- refactor: remove model export code by @SimonRichardson in https://github.com/juju/juju/pull/21826
- feat: merging duplicate remote applications by @SimonRichardson in https://github.com/juju/juju/pull/21785
- chore: merge 3.6 - 4.0 by @wallyworld in https://github.com/juju/juju/pull/21795
- refactor(operation): use static SQL for GetOperations query by @nvinuesa in https://github.com/juju/juju/pull/21827
- feat: drop PVC filtering by storage unique ID in favor of querying the database. by @adisazhar123 in https://github.com/juju/juju/pull/21726
- feat(storage): import filesystem attachments for IAAS during model migration by @jack-w-shaw in https://github.com/juju/juju/pull/21835
- feat: add transition information for storage and offers by @manadart in https://github.com/juju/juju/pull/21832
- fix: relation unit watcher for remote app with no units by @manadart in https://github.com/juju/juju/pull/21836
- feat: import storage volumes by @hmlanigan in https://github.com/juju/juju/pull/21787
- fix: nil pointer panics during caas migration by @hmlanigan in https://github.com/juju/juju/pull/21842
- fix: ensure we watch all relation units by @SimonRichardson in https://github.com/juju/juju/pull/21828
- chore(move): move
internal/macaroontoapi/macaroonby @SimoneDutto in https://github.com/juju/juju/pull/21854 - fix(removal): clean up FK references on app, unit, and relation delete by @nvinuesa in https://github.com/juju/juju/pull/21813
- fix: import offerers applications and relations by @SimonRichardson in https://github.com/juju/juju/pull/21840
- fix: prevent spin-lock in object store scoped context by @manadart in https://github.com/juju/juju/pull/21857
- feat: handle firewaller duplicate changes by @SimonRichardson in https://github.com/juju/juju/pull/21859
- fix: close all file object store readers by @manadart in https://github.com/juju/juju/pull/21861
- chore(move): move
internal/cmdtocmd/cmdby @SimoneDutto in https://github.com/juju/juju/pull/21863 - feat: update storage directives during setcharm call useroverride and state by @CodingCookieRookie in https://github.com/juju/juju/pull/21742
- chore(move): move
internal/rpcreflecttorpc/rpcreflectby @SimoneDutto in https://github.com/juju/juju/pull/21871 - fix(remoterelationconsumer): clean up orphaned offer_connection when local relation is removed during registration by @nvinuesa in https://github.com/juju/juju/pull/21802
- fix: only delete unreferenced objects from store by @manadart in https://github.com/juju/juju/pull/21870
- feat: import storage attachments alongside storage instances by @jack-w-shaw in https://github.com/juju/juju/pull/21846
- fix: prevent getting empty resources by @SimonRichardson in https://github.com/juju/juju/pull/21864
- feat: storage list client by @hpidcock in https://github.com/juju/juju/pull/21615
- fix: retries and not found errors in the remote objectstore by @SimonRichardson in https://github.com/juju/juju/pull/21874
Full Changelog: https://github.com/juju/juju/compare/v4.0.2...v4.0.3
- Limit API port access for the controller using `juju expose`
- Add fatal login error code and logic to `tryinorderloginprovider`
Full changelog
The Juju team is proud to release Juju 3.6.14!
This is a point release to the stable 3.6 series of Juju.
Checkout the Juju 3.6.14 Release Notes
What's Changed
- chore: increment juju to 3.6.14 by @jujubot in https://github.com/juju/juju/pull/21588
- feat: limit api port access for the controller using juju expose by @adglkh in https://github.com/juju/juju/pull/20682
- feat(fatal-login-error): add fatal login error code and logic to tryinorderloginprovider by @SimoneDutto in https://github.com/juju/juju/pull/21541
- docs: fix leftover terminal and blueprint issues by @tmihoc in https://github.com/juju/juju/pull/21578
- docs: add 3.6.13 release notes by @wallyworld in https://github.com/juju/juju/pull/21610
- refactor: secret iaas vault integration test by @CodingCookieRookie in https://github.com/juju/juju/pull/21597
- docs: add links to 3.6.13 release notes PR references by @wallyworld in https://github.com/juju/juju/pull/21614
- docs: update readme and build instructions in contributing by @iyiguncevik in https://github.com/juju/juju/pull/21575
- feat: update dqlite 1.18.5 by @SimonRichardson in https://github.com/juju/juju/pull/21656
- feat: update dqlite 1.18.5 deps by @SimonRichardson in https://github.com/juju/juju/pull/21658
- feat: apply db limits to prevent pool exhaustion by @SimonRichardson in https://github.com/juju/juju/pull/21649
- chore: revert "Merge pull request #20682 from adglkh/limit_api_port" by @wallyworld in https://github.com/juju/juju/pull/21661
Full Changelog: https://github.com/juju/juju/compare/v3.6.13...v3.6.14
- Removed k8s attach storage feature flag
- Removed MongoDB Juju DB
Full changelog
The Juju team is proud to release Juju 4.0.1!
This is a point release to the stable 4.0 series of Juju.
Checkout the Juju 4.0.1 Release Notes
What's Changed
- chore(deps): bump golang.org/x/net from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20387
- chore(deps): bump golang.org/x/tools from 0.35.0 to 0.36.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20388
- chore(deps): bump golang.org/x/crypto from 0.41.0 to 0.42.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20581
- chore(deps): bump golang.org/x/oauth2 from 0.30.0 to 0.31.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20601
- chore(deps): bump golang.org/x/mod from 0.27.0 to 0.28.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20602
- chore(deps): bump golang.org/x/net from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20603
- chore(deps): bump golang.org/x/net from 0.44.0 to 0.45.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20827
- chore(deps): bump golang.org/x/crypto from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20857
- chore(deps): bump golang.org/x/sys from 0.37.0 to 0.38.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21179
- chore(deps): bump golang.org/x/sync from 0.17.0 to 0.18.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21180
- chore(deps): bump golang.org/x/oauth2 from 0.31.0 to 0.33.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21181
- chore(deps): bump golang.org/x/term from 0.36.0 to 0.37.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21184
- chore(deps): bump golang.org/x/text from 0.30.0 to 0.31.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21185
- fix: handle case where external secret not found on delete by @wallyworld in https://github.com/juju/juju/pull/21058
- chore(deps): bump golang.org/x/crypto from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21215
- chore(deps): bump golang.org/x/tools from 0.38.0 to 0.39.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21216
- fix: timeout idle fds by @jameinel in https://github.com/juju/juju/pull/21081
- doc: use new lxd profile naming scheme by @adisazhar123 in https://github.com/juju/juju/pull/21000
- test: update vault ci test to use https by @wallyworld in https://github.com/juju/juju/pull/21219
- feat: remove k8s attach storage feature flag by @jneo8 in https://github.com/juju/juju/pull/20634
- feat: remove mongo juju db by @SimonRichardson in https://github.com/juju/juju/pull/21221
- feat: upgrade patches by @SimonRichardson in https://github.com/juju/juju/pull/21150
- feat: destroy controller hosted models by @SimonRichardson in https://github.com/juju/juju/pull/21173
- chore: bump juju to 4.0.1 by @anvial in https://github.com/juju/juju/pull/21223
- docs: add Juju 4.0.0 release notes by @anvial in https://github.com/juju/juju/pull/21222
- fix: login to controllers by @kian99 in https://github.com/juju/juju/pull/21201
- docs: new rel notes structure by @sinanawad in https://github.com/juju/juju/pull/21226
- fix(secretbackend): support complex config values by @gfouillet in https://github.com/juju/juju/pull/21211
- fix: use sqlair Preparer for space constraints by @nvinuesa in https://github.com/juju/juju/pull/21230
- fix: ensure secret rotate policy can be updated by @wallyworld in https://github.com/juju/juju/pull/21220
- fix: ensure secret-get with label and refresh returns the right value by @wallyworld in https://github.com/juju/juju/pull/21228
- feat(secrets): add support for vault mount path by @wallyworld in https://github.com/juju/juju/pull/21229
- docs(secretbackend): introduce package documentation by @gfouillet in https://github.com/juju/juju/pull/21237
- feat: prevent model creation during destroy by @SimonRichardson in https://github.com/juju/juju/pull/21232
- fix: make EnterScope truly idempotent by @hmlanigan in https://github.com/juju/juju/pull/21238
- fix: k8s tunneller context and vault mount path compatibility by @wallyworld in https://github.com/juju/juju/pull/21253
- fix: filter ports by server by @nicolasbock in https://github.com/juju/juju/pull/20791
- fix: log all API requests not just RPC ones by @jameinel in https://github.com/juju/juju/pull/21102
- fix: consume offer should take the offer name from offer url by @nvinuesa in https://github.com/juju/juju/pull/21236
- feat: upgrade lxd dependency by @SimonRichardson in https://github.com/juju/juju/pull/21259
- fix: target specific build tags by @hpidcock in https://github.com/juju/juju/pull/21252
- feat: prevent panic during bootstrap by @SimonRichardson in https://github.com/juju/juju/pull/21263
- chore: increment juju to 3.6.13 by @jujubot in https://github.com/juju/juju/pull/21262
- docs: fix typos, heading levels, images in dark mode using copilot by @tmihoc in https://github.com/juju/juju/pull/21266
- feat: handle different controllers debug-log by @SimonRichardson in https://github.com/juju/juju/pull/21265
- docs: new relnotes folder structure 2.9 by @sinanawad in https://github.com/juju/juju/pull/21244
- docs: new relnotes stucture 3.6 by @sinanawad in https://github.com/juju/juju/pull/21243
- chore(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21272
- chore: update golang deps to address a govuln by @wallyworld in https://github.com/juju/juju/pull/21274
- docs: refactor scale docs by @CodingCookieRookie in https://github.com/juju/juju/pull/20931
- chore: merge 3.6 by @wallyworld in https://github.com/juju/juju/pull/21277
- docs: fix virt-type in constraint and cloud docs, fix broken links in… by @tmihoc in https://github.com/juju/juju/pull/21269
- fix: task logs watcher test flakyness by @nvinuesa in https://github.com/juju/juju/pull/21260
- feat: remove machine with force by @SimonRichardson in https://github.com/juju/juju/pull/21239
- fix: set Since field on statuses on caas provisioning by @nvinuesa in https://github.com/juju/juju/pull/21281
- feature: output cluster details in status by @SimonRichardson in https://github.com/juju/juju/pull/21246
- feat: re-implements GetApplicationStorage by @ale8k in https://github.com/juju/juju/pull/20972
- feat: get all machines in model with their base by @CodingCookieRookie in https://github.com/juju/juju/pull/21231
- fix(secretbackend): immutability for built-in backends by @gfouillet in https://github.com/juju/juju/pull/21235
- test: fix flakey test in change stream test by @SimonRichardson in https://github.com/juju/juju/pull/21267
- refactor: remove leadership checker in uniter by @SimonRichardson in https://github.com/juju/juju/pull/21283
- feat: implement a map util func for removing bases that match by @CodingCookieRookie in https://github.com/juju/juju/pull/21282
- feat: generate and persist application storage unique ID by @adisazhar123 in https://github.com/juju/juju/pull/20795
- feat: remove http attachment package by @SimonRichardson in https://github.com/juju/juju/pull/21285
- fix(resources): allows empty resources by @gfouillet in https://github.com/juju/juju/pull/21268
- docs: clarify refresh on k8s by @tmihoc in https://github.com/juju/juju/pull/21287
- feat: machine presence by @SimonRichardson in https://github.com/juju/juju/pull/21291
- docs: add caveat about juju-restore tool by @tmihoc in https://github.com/juju/juju/pull/21286
- feat: initial AGENTS.md by @manadart in https://github.com/juju/juju/pull/21300
- feat: add Actions check to guard against invalid schema changes by @jack-w-shaw in https://github.com/juju/juju/pull/21264
- fix: caasfirewaller implementation issues in 4.0 by @tlm in https://github.com/juju/juju/pull/21178
- fix(status): return the newest entry in GetStatusHistory by @gfouillet in https://github.com/juju/juju/pull/21299
- feat: handle empty instance status by @SimonRichardson in https://github.com/juju/juju/pull/21302
- fix: application status history record by @jack-w-shaw in https://github.com/juju/juju/pull/21301
- fix: persist controller node agent version by @adisazhar123 in https://github.com/juju/juju/pull/21297
- doc: add 3.6.12 release notes by @wallyworld in https://github.com/juju/juju/pull/21305
- docs: remove plugin story by @tmihoc in https://github.com/juju/juju/pull/21307
- docs: fix add-ssh-key doc, update other autogen by @tmihoc in https://github.com/juju/juju/pull/21308
- feat: re-enable machine bases check for model upgrade by @CodingCookieRookie in https://github.com/juju/juju/pull/21298
- fix: show-status-log for applications by @jack-w-shaw in https://github.com/juju/juju/pull/21310
- feat: force clean up of model by @SimonRichardson in https://github.com/juju/juju/pull/21183
- feat: reinstate highavailability facade by @SimonRichardson in https://github.com/juju/juju/pull/21315
- fix: prevent config and resource operations on synthetic applications by @nvinuesa in https://github.com/juju/juju/pull/21311
- fix(charmrevisionner): refresh timer incorrectly reset on model-config change by @gfouillet in https://github.com/juju/juju/pull/21316
- feat: trace config to k8s units by @SimonRichardson in https://github.com/juju/juju/pull/21321
- fix: make ddl change check required by @jack-w-shaw in https://github.com/juju/juju/pull/21325
- feat: allow debug-log command against 3.x by @SimonRichardson in https://github.com/juju/juju/pull/21317
- fix(secrets): rotate policy handling by @gfouillet in https://github.com/juju/juju/pull/21320
- fix: flakiness in watcher unit tests on heavily loaded systems by @hpidcock in https://github.com/juju/juju/pull/21340
- chore(smoke-jaas): fix smoke jaas by @SimoneDutto in https://github.com/juju/juju/pull/21323
- feat: compat with 3.6 for MachineManager facade by @manadart in https://github.com/juju/juju/pull/21314
- feat: remove rollbacks from domains by @SimonRichardson in https://github.com/juju/juju/pull/21328
- fix: issue prevening model migration to 3.x, bump dependencies by @wallyworld in https://github.com/juju/juju/pull/21329
- fix: wait for local storage mounts before starting jujud service by @wallyworld in https://github.com/juju/juju/pull/21304
- docs: clarify canonical k8s path requirements by @tmihoc in https://github.com/juju/juju/pull/21343
- fix: obsolete rev watcher and consumed secrets watcher by @hpidcock in https://github.com/juju/juju/pull/21333
- refactor(firewaller): simplify the ports watcher by @jack-w-shaw in https://github.com/juju/juju/pull/21349
- chore: refactor network modelmigration import operations by @nvinuesa in https://github.com/juju/juju/pull/21358
- docs: add link to lxd rules for bridge by @tmihoc in https://github.com/juju/juju/pull/21346
- docs: clarify revision paragraph in attach-resource by @tmihoc in https://github.com/juju/juju/pull/21345
- refactor: export bundle help doc by @CodingCookieRookie in https://github.com/juju/juju/pull/21319
- docs: update user auth docs on access domain by @tlm in https://github.com/juju/juju/pull/21313
- feat: update Pebble version to v1.26.0 (latest) from v1.19.2 by @benhoyt in https://github.com/juju/juju/pull/21335
- fix: correctly set resource uuid for resource recording by @tlm in https://github.com/juju/juju/pull/21318
- chore: merge 2.9 by @wallyworld in https://github.com/juju/juju/pull/21362
- test: fix various ci test issues by @wallyworld in https://github.com/juju/juju/pull/21364
- feat: only update the controller agent version on upsert by @adisazhar123 in https://github.com/juju/juju/pull/21342
- chore: merge 3.6 to 4.0 by @adisazhar123 in https://github.com/juju/juju/pull/21365
- feat: add target controller field by @kian99 in https://github.com/juju/juju/pull/21306
- docs: 2.9 redirect to relnotes extend LTS by @sinanawad in https://github.com/juju/juju/pull/21354
- fix: transaction rollback handling by @manadart in https://github.com/juju/juju/pull/21370
- docs: 3.6 docs redirect and extend LTS by @sinanawad in https://github.com/juju/juju/pull/21353
- docs: merge 3.6.12 relnotes and redirect by @sinanawad in https://github.com/juju/juju/pull/21356
- feat: compat with 3.6 for bundle export by @manadart in https://github.com/juju/juju/pull/21360
- fix: handle loopback addresses without subnet UUID in import by @nvinuesa in https://github.com/juju/juju/pull/21369
- feat: add tooling to view tables within transaction before rollback by @jack-w-shaw in https://github.com/juju/juju/pull/21361
- fix: mount correct location for workload containers by @adisazhar123 in https://github.com/juju/juju/pull/21339
- fix: get correct controller uuid for image metadata cli by @wallyworld in https://github.com/juju/juju/pull/21376
- fix(secret): allows several units having the same label for owned secret by @gfouillet in https://github.com/juju/juju/pull/21373
- feat: status history in HA by @SimonRichardson in https://github.com/juju/juju/pull/21371
- chore: increment juju to 2.9.54 by @jujubot in https://github.com/juju/juju/pull/21388
- chore: merge 2.9 by @wallyworld in https://github.com/juju/juju/pull/21392
- chore: merge 3.6 into 4.0 by @nvinuesa in https://github.com/juju/juju/pull/21399
- fix(secret): support filtering secrets by label by @gfouillet in https://github.com/juju/juju/pull/21327
- refactor: api package to depend on core not internal by @SimonRichardson in https://github.com/juju/juju/pull/21406
- docs(watcher): add test harness guidelines by @gfouillet in https://github.com/juju/juju/pull/21383
- fix: api remote caller reconnect on broken by @SimonRichardson in https://github.com/juju/juju/pull/21385
- fix: show a helpful error message when destroying a controller with live models by @adisazhar123 in https://github.com/juju/juju/pull/21382
- fix: ddlgen script for versions with tags by @jack-w-shaw in https://github.com/juju/juju/pull/21416
- chore: bump description version to v10.0.0 by @adisazhar123 in https://github.com/juju/juju/pull/21397
- chore: bump description version to v11 by @adisazhar123 in https://github.com/juju/juju/pull/21398
- feat(import): all statuses by @jack-w-shaw in https://github.com/juju/juju/pull/21407
- feat: handle unsupported HA facade in k8s by @SimonRichardson in https://github.com/juju/juju/pull/21431
- refactor(secret): remove runAtomic from updateSecret code path by @gfouillet in https://github.com/juju/juju/pull/21374
- feat: destroy controller with no hosted models by @SimonRichardson in https://github.com/juju/juju/pull/21418
- feat: controller presence worker by @SimonRichardson in https://github.com/juju/juju/pull/21400
- fix: relation incompatible bases issue by @CodingCookieRookie in https://github.com/juju/juju/pull/21419
- revert: target controller addition to add-model args by @kian99 in https://github.com/juju/juju/pull/21440
- feat: implement model migrating by @nvinuesa in https://github.com/juju/juju/pull/21428
- chore: remove unused firewaller facade method by @hmlanigan in https://github.com/juju/juju/pull/21442
- feat: enter scope and create a subordinate unit in a single transaction by @hmlanigan in https://github.com/juju/juju/pull/21303
- feat: remove application sequence on removal by @SimonRichardson in https://github.com/juju/juju/pull/21441
- refactor: move common unitstate to uniter facade by @hmlanigan in https://github.com/juju/juju/pull/21445
- fix: charmhub request not using latest base track on error by @CodingCookieRookie in https://github.com/juju/juju/pull/21427
- docs: upgrade sphinx setup cf. latest starter pack by @tmihoc in https://github.com/juju/juju/pull/21444
- docs: add 2.9.53 release notes by @wallyworld in https://github.com/juju/juju/pull/21463
- chore: merge 2.9 by @wallyworld in https://github.com/juju/juju/pull/21464
- fix(resources): prevent resource upload when model is not importing by @gfouillet in https://github.com/juju/juju/pull/21443
- feat: start clean up provisioning info by @SimonRichardson in https://github.com/juju/juju/pull/21432
- docs(agent): add commit message guidelines for GitHub Copilot by @gfouillet in https://github.com/juju/juju/pull/21433
- fix(import): generate and include NetNodeUUID when creating machines by @nvinuesa in https://github.com/juju/juju/pull/21467
- fix: tighten permissions on netplan config files by @wallyworld in https://github.com/juju/juju/pull/21380
- feat: update to latest juju/worker package by @tlm in https://github.com/juju/juju/pull/21389
- refactor(secret): better ownership by @gfouillet in https://github.com/juju/juju/pull/21408
- docs: fix lxd storage provider upstream link by @tmihoc in https://github.com/juju/juju/pull/21480
- feat: update linux containers url to a Canonical host by @wallyworld in https://github.com/juju/juju/pull/21478
- fix: overriding managed-by label by @CodingCookieRookie in https://github.com/juju/juju/pull/21477
- feat: model import with model deletion by @SimonRichardson in https://github.com/juju/juju/pull/21450
- feat: operator status by @SimonRichardson in https://github.com/juju/juju/pull/21466
- fix(secret): updates a secret while passing the label by @gfouillet in https://github.com/juju/juju/pull/21468
- fix: enable provisioning check of manual machines to be done by the provisioning user by @ale8k in https://github.com/juju/juju/pull/20937
- refactor: move service types to domain package by @hmlanigan in https://github.com/juju/juju/pull/21460
- refactor: stop exporting
juju_statepool_reporton units. by @hmlanigan in https://github.com/juju/juju/pull/21483 - feat(add-model): adds a target-controller flag to the
add-modelcommand by @alesstimec in https://github.com/juju/juju/pull/21481 - fix(ci): metrics tests didn't check the right logger by @gfouillet in https://github.com/juju/juju/pull/21489
- feat: activate model on import step finale by @SimonRichardson in https://github.com/juju/juju/pull/21493
- feat: calculate workload container mount point in the domain layer by @adisazhar123 in https://github.com/juju/juju/pull/21426
- feat: allow read and write timeouts configuration. by @marceloneppel in https://github.com/juju/juju/pull/21434
- fix(ci): update ubuntu charm in run_secret_drain by @gfouillet in https://github.com/juju/juju/pull/21505
- docs: add metadata to all non-autogenerated files by @tmihoc in https://github.com/juju/juju/pull/21447
- feat: start atomic commit hook changes by @hmlanigan in https://github.com/juju/juju/pull/21492
- fix: consult charm container volume mounts for the correct mount path by @adisazhar123 in https://github.com/juju/juju/pull/21486
- feat: populate instanceId for caas units by @adisazhar123 in https://github.com/juju/juju/pull/21487
- fix(modelconfig): coerce provider-specific config attributes from DB by @nvinuesa in https://github.com/juju/juju/pull/21469
- feat: ensure charm description is migrated by @SimonRichardson in https://github.com/juju/juju/pull/21504
- fix: reduce the scope of the resources the mutating webhook matches on by @wallyworld in https://github.com/juju/juju/pull/21377
- refactor(secret): remove Run Atomic from state_test by @gfouillet in https://github.com/juju/juju/pull/21496
- refactor(secret): remove
RunAtomicforDeleteSecretcalls by @gfouillet in https://github.com/juju/juju/pull/21511 - feat: open and close ports via CommitHookChanges domain method in uniter facade by @hmlanigan in https://github.com/juju/juju/pull/21500
- test: remove client only pre merge tests by @wallyworld in https://github.com/juju/juju/pull/21515
- fix: handle empty credential for kill-controller by @wallyworld in https://github.com/juju/juju/pull/21514
- fix: use new apt mirror spec with cloud init by @wallyworld in https://github.com/juju/juju/pull/21509
- feat: encode machine arch by @SimonRichardson in https://github.com/juju/juju/pull/21521
- refactor: move leadershipUniterSuite tests to uniterv20Suite by @hmlanigan in https://github.com/juju/juju/pull/21522
- fix: cmr relation joined hook bug by @jack-w-shaw in https://github.com/juju/juju/pull/21517
- fix(operation): finalize migration by @gfouillet in https://github.com/juju/juju/pull/21531
- refactor: allow test structs to be reused for model migration by @hmlanigan in https://github.com/juju/juju/pull/21533
- refactor: replace UpdateUnitPorts with ImportOpenUnitPorts by @hmlanigan in https://github.com/juju/juju/pull/21520
- fix(operation): improve error handling for undefined charm actions by @gfouillet in https://github.com/juju/juju/pull/21498
- chore: merge 3.6 by @wallyworld in https://github.com/juju/juju/pull/21525
- test: import offer integration test by @hmlanigan in https://github.com/juju/juju/pull/21542
- feat: agent binary fetcher worker by @SimonRichardson in https://github.com/juju/juju/pull/21524
- feat(migration): implements peer relation import by @gfouillet in https://github.com/juju/juju/pull/21540
- feat: implement upgrade steps by @SimonRichardson in https://github.com/juju/juju/pull/21519
- refactor: importing unit types by @SimonRichardson in https://github.com/juju/juju/pull/21539
- fix: MAAS storage provisioning by @tlm in https://github.com/juju/juju/pull/21495
- feat: add remote application import support by @nvinuesa in https://github.com/juju/juju/pull/21550
- test: import access integration test by @hmlanigan in https://github.com/juju/juju/pull/21545
- docs: add additionalProperties to the list of breaking changes by @tonyandrewmeyer in https://github.com/juju/juju/pull/21507
- fix: check agent binary version and architecture by @SimonRichardson in https://github.com/juju/juju/pull/21555
- feat: implement Rollback and add integration tests for keymanager & various fixes by @jack-w-shaw in https://github.com/juju/juju/pull/21543
- feat: offer access import rollback by @hmlanigan in https://github.com/juju/juju/pull/21556
- fix: relations must be imported after CMRs by @nvinuesa in https://github.com/juju/juju/pull/21566
- test(operation): integration tests for import operations by @gfouillet in https://github.com/juju/juju/pull/21544
- feat: generate export types and state from schema by @manadart in https://github.com/juju/juju/pull/21405
- refactor(modelmigration): remove peer relation import logic by @gfouillet in https://github.com/juju/juju/pull/21576
- test: add application import integration tests by @hmlanigan in https://github.com/juju/juju/pull/21580
- refactor: remove LXD profiles by @manadart in https://github.com/juju/juju/pull/21516
- refactor: make dev mode predictable by @SimonRichardson in https://github.com/juju/juju/pull/21590
- feat: ensure machine upgrader runs by @SimonRichardson in https://github.com/juju/juju/pull/21574
- feat: persist unit workload version on import by @nvinuesa in https://github.com/juju/juju/pull/21586
- feat: fix upgrade proposed by @SimonRichardson in https://github.com/juju/juju/pull/21582
- fix: k8s missing secret backend value for k8s and external vault by @CodingCookieRookie in https://github.com/juju/juju/pull/21508
- test(relation): add integration tests for relation import scenarios by @gfouillet in https://github.com/juju/juju/pull/21572
- feat: update to description pkg sha e19a7ca61eb3 by @hmlanigan in https://github.com/juju/juju/pull/21594
- fix: import machine with left over fan addr by @jack-w-shaw in https://github.com/juju/juju/pull/21593
- chore: revert removal of unused instancemutater API facade by @manadart in https://github.com/juju/juju/pull/21599
Full Changelog: https://github.com/juju/juju/compare/v4.0.0...v4.0.1
- Tightened permissions on netplan config files
- Generate and persist application storage unique ID
- Update Pebble version to v1.26.0
- Add target controller field to `add-model` command
Full changelog
The Juju team is proud to release Juju 3.6.13!
This is a point release to the stable 3.6 series of Juju.
Checkout the Juju 3.6.13 Release Notes
What's Changed
- chore(deps): bump golang.org/x/net from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20387
- chore(deps): bump golang.org/x/tools from 0.35.0 to 0.36.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20388
- chore(deps): bump golang.org/x/crypto from 0.41.0 to 0.42.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20581
- chore(deps): bump golang.org/x/oauth2 from 0.30.0 to 0.31.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20601
- chore(deps): bump golang.org/x/mod from 0.27.0 to 0.28.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20602
- chore(deps): bump golang.org/x/net from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20603
- chore(deps): bump golang.org/x/net from 0.44.0 to 0.45.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20827
- chore(deps): bump golang.org/x/crypto from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20857
- chore(deps): bump golang.org/x/sys from 0.37.0 to 0.38.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21179
- chore(deps): bump golang.org/x/sync from 0.17.0 to 0.18.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21180
- chore(deps): bump golang.org/x/oauth2 from 0.31.0 to 0.33.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21181
- chore(deps): bump golang.org/x/term from 0.36.0 to 0.37.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21184
- chore(deps): bump golang.org/x/text from 0.30.0 to 0.31.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21185
- chore(deps): bump golang.org/x/crypto from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21215
- chore(deps): bump golang.org/x/tools from 0.38.0 to 0.39.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21216
- chore: increment juju to 3.6.13 by @jujubot in https://github.com/juju/juju/pull/21262
- docs: fix typos, heading levels, images in dark mode using copilot by @tmihoc in https://github.com/juju/juju/pull/21266
- docs: new relnotes folder structure 2.9 by @sinanawad in https://github.com/juju/juju/pull/21244
- docs: new relnotes stucture 3.6 by @sinanawad in https://github.com/juju/juju/pull/21243
- chore(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21272
- chore: update golang deps to address a govuln by @wallyworld in https://github.com/juju/juju/pull/21274
- docs: refactor scale docs by @CodingCookieRookie in https://github.com/juju/juju/pull/20931
- docs: fix virt-type in constraint and cloud docs, fix broken links in… by @tmihoc in https://github.com/juju/juju/pull/21269
- feat: generate and persist application storage unique ID by @adisazhar123 in https://github.com/juju/juju/pull/20795
- docs: clarify refresh on k8s by @tmihoc in https://github.com/juju/juju/pull/21287
- docs: add caveat about juju-restore tool by @tmihoc in https://github.com/juju/juju/pull/21286
- doc: add 3.6.12 release notes by @wallyworld in https://github.com/juju/juju/pull/21305
- docs: remove plugin story by @tmihoc in https://github.com/juju/juju/pull/21307
- chore(smoke-jaas): fix smoke jaas by @SimoneDutto in https://github.com/juju/juju/pull/21323
- fix: issue prevening model migration to 3.x, bump dependencies by @wallyworld in https://github.com/juju/juju/pull/21329
- fix: wait for local storage mounts before starting jujud service by @wallyworld in https://github.com/juju/juju/pull/21304
- docs: clarify canonical k8s path requirements by @tmihoc in https://github.com/juju/juju/pull/21343
- docs: add link to lxd rules for bridge by @tmihoc in https://github.com/juju/juju/pull/21346
- docs: clarify revision paragraph in attach-resource by @tmihoc in https://github.com/juju/juju/pull/21345
- refactor: export bundle help doc by @CodingCookieRookie in https://github.com/juju/juju/pull/21319
- feat: update Pebble version to v1.26.0 (latest) from v1.19.2 by @benhoyt in https://github.com/juju/juju/pull/21335
- chore: merge 2.9 by @wallyworld in https://github.com/juju/juju/pull/21362
- test: fix various ci test issues by @wallyworld in https://github.com/juju/juju/pull/21364
- feat: add target controller field by @kian99 in https://github.com/juju/juju/pull/21306
- docs: 2.9 redirect to relnotes extend LTS by @sinanawad in https://github.com/juju/juju/pull/21354
- fix: transaction rollback handling by @manadart in https://github.com/juju/juju/pull/21370
- docs: 3.6 docs redirect and extend LTS by @sinanawad in https://github.com/juju/juju/pull/21353
- fix: get correct controller uuid for image metadata cli by @wallyworld in https://github.com/juju/juju/pull/21376
- chore: increment juju to 2.9.54 by @jujubot in https://github.com/juju/juju/pull/21388
- chore: merge 2.9 by @wallyworld in https://github.com/juju/juju/pull/21392
- chore: bump description version to v10.0.0 by @adisazhar123 in https://github.com/juju/juju/pull/21397
- fix: relation incompatible bases issue by @CodingCookieRookie in https://github.com/juju/juju/pull/21419
- revert: target controller addition to add-model args by @kian99 in https://github.com/juju/juju/pull/21440
- docs: upgrade sphinx setup cf. latest starter pack by @tmihoc in https://github.com/juju/juju/pull/21444
- docs: add 2.9.53 release notes by @wallyworld in https://github.com/juju/juju/pull/21463
- chore: merge 2.9 by @wallyworld in https://github.com/juju/juju/pull/21464
- fix: tighten permissions on netplan config files by @wallyworld in https://github.com/juju/juju/pull/21380
- docs: fix lxd storage provider upstream link by @tmihoc in https://github.com/juju/juju/pull/21480
- feat: update linux containers url to a Canonical host by @wallyworld in https://github.com/juju/juju/pull/21478
- fix: overriding managed-by label by @CodingCookieRookie in https://github.com/juju/juju/pull/21477
- fix: enable provisioning check of manual machines to be done by the provisioning user by @ale8k in https://github.com/juju/juju/pull/20937
- feat(add-model): adds a target-controller flag to the
add-modelcommand by @alesstimec in https://github.com/juju/juju/pull/21481 - feat: allow read and write timeouts configuration. by @marceloneppel in https://github.com/juju/juju/pull/21434
- docs: add metadata to all non-autogenerated files by @tmihoc in https://github.com/juju/juju/pull/21447
- fix: reduce the scope of the resources the mutating webhook matches on by @wallyworld in https://github.com/juju/juju/pull/21377
- test: remove client only pre merge tests by @wallyworld in https://github.com/juju/juju/pull/21515
- fix: handle empty credential for kill-controller by @wallyworld in https://github.com/juju/juju/pull/21514
- fix: use new apt mirror spec with cloud init by @wallyworld in https://github.com/juju/juju/pull/21509
- docs: improve form in hook command docs by @tmihoc in https://github.com/juju/juju/pull/21497
- docs: fix typo by @cmisare in https://github.com/juju/juju/pull/21526
- feat: snap terminal auto completion by @nicolasbock in https://github.com/juju/juju/pull/21032
- docs: fix metadata glitch, update multipass to cloud-init by @tmihoc in https://github.com/juju/juju/pull/21564
- fix: ensure correct netplan for multi nic lxd vm by @wallyworld in https://github.com/juju/juju/pull/21548
- fix(juju): fix silent failure when removing space with model constraints by @kooltuoehias in https://github.com/juju/juju/pull/21554
- feat: enable migrate to be dry run by @ale8k in https://github.com/juju/juju/pull/21552
- fix: avoid creating duplicate default routes for vms with multiple nics by @wallyworld in https://github.com/juju/juju/pull/21549
New Contributors
- @cmisare made their first contribution in https://github.com/juju/juju/pull/21526
Full Changelog: https://github.com/juju/juju/compare/v3.6.12...v3.6.13
Fixed the issue preventing model migration to Juju 3.x.
Full changelog
The Juju team is proud to release Juju 2.9.53!
This is a point release to the stable 2.9 series of Juju.
Checkout the Juju 2.9.53 Release Notes
What's Changed
- fix: speed up status with lots of subordinates by @jameinel in https://github.com/juju/juju/pull/19964
- fix: avoid rereading controller config for every Charm by @jameinel in https://github.com/juju/juju/pull/19963
- docs: add 2.9.52 release notes by @wallyworld in https://github.com/juju/juju/pull/20139
- chore(deps): bump golang.org/x/crypto from 0.39.0 to 0.40.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20193
- chore(deps): bump golang.org/x/tools from 0.34.0 to 0.35.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20194
- fix: only include resource ID in error message when applying changes by @wallyworld in https://github.com/juju/juju/pull/20295
- test: use agent-stream='testing' when doing ci tests for a specific sha by @wallyworld in https://github.com/juju/juju/pull/20312
- chore(deps): bump golang.org/x/text from 0.27.0 to 0.28.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20374
- chore(deps): bump golang.org/x/sys from 0.34.0 to 0.35.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20375
- chore(deps): bump golang.org/x/crypto from 0.40.0 to 0.41.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20376
- chore(deps): bump golang.org/x/mod from 0.26.0 to 0.27.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20377
- chore(deps): bump golang.org/x/net from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20387
- chore(deps): bump golang.org/x/tools from 0.35.0 to 0.36.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20388
- chore(deps): bump golang.org/x/crypto from 0.41.0 to 0.42.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20581
- chore(deps): bump golang.org/x/oauth2 from 0.30.0 to 0.31.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20601
- chore(deps): bump golang.org/x/mod from 0.27.0 to 0.28.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20602
- chore(deps): bump golang.org/x/net from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20603
- chore(deps): bump golang.org/x/net from 0.44.0 to 0.45.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20827
- chore(deps): bump golang.org/x/crypto from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20857
- chore(deps): bump golang.org/x/sys from 0.37.0 to 0.38.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21179
- chore(deps): bump golang.org/x/sync from 0.17.0 to 0.18.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21180
- chore(deps): bump golang.org/x/oauth2 from 0.31.0 to 0.33.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21181
- chore(deps): bump golang.org/x/term from 0.36.0 to 0.37.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21184
- chore(deps): bump golang.org/x/text from 0.30.0 to 0.31.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21185
- chore(deps): bump golang.org/x/crypto from 0.43.0 to 0.44.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21215
- chore(deps): bump golang.org/x/tools from 0.38.0 to 0.39.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21216
- docs: new relnotes folder structure 2.9 by @sinanawad in https://github.com/juju/juju/pull/21244
- chore(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 by @dependabot[bot] in https://github.com/juju/juju/pull/21272
- fix: issue prevening model migration to 3.x, bump dependencies by @wallyworld in https://github.com/juju/juju/pull/21329
- test: fix various ci test issues by @wallyworld in https://github.com/juju/juju/pull/21364
Full Changelog: https://github.com/juju/juju/compare/v2.9.52...v2.9.53
Minor fixes and improvements.
Full changelog
The Juju team is proud to release Juju 4.0.0!
This is a point release to the stable 4.0 series of Juju.
Checkout the Juju 4.0.0 Release Notes
- Removed K8s attach storage feature flag.
- Updated Go runtime to 1.24.9 addressing CVE GO-2025-4007
- Enabled service account login via environment variables
- Added support for Vault mount path in secrets
Full changelog
The Juju team is proud to release Juju 3.6.12!
This is a point release to the stable 3.6 series of Juju.
Checkout the Juju 3.6.12 Release Notes
What's Changed
- chore: increment juju to 3.6.12 by @jujubot in https://github.com/juju/juju/pull/20908
- doc: add 3.6.11 release notes by @wallyworld in https://github.com/juju/juju/pull/20950
- chore(bump-go-version): bump to go 1.24.9 to address GO-2025-4007 by @SimoneDutto in https://github.com/juju/juju/pull/21064
- fix: temp fix for 2.9 lxd and cloud init issues on series less than n… by @ale8k in https://github.com/juju/juju/pull/21006
- feat(auth): enable service account login via env vars by @ale8k in https://github.com/juju/juju/pull/20716
- chore: update deps to address vuln issues by @wallyworld in https://github.com/juju/juju/pull/21197
- fix: handle case where external secret not found on delete by @wallyworld in https://github.com/juju/juju/pull/21058
- fix: timeout idle fds by @jameinel in https://github.com/juju/juju/pull/21081
- doc: use new lxd profile naming scheme by @adisazhar123 in https://github.com/juju/juju/pull/21000
- test: update vault ci test to use https by @wallyworld in https://github.com/juju/juju/pull/21219
- feat: remove k8s attach storage feature flag by @jneo8 in https://github.com/juju/juju/pull/20634
- fix: login to controllers by @kian99 in https://github.com/juju/juju/pull/21201
- fix: ensure secret rotate policy can be updated by @wallyworld in https://github.com/juju/juju/pull/21220
- fix: ensure secret-get with label and refresh returns the right value by @wallyworld in https://github.com/juju/juju/pull/21228
- feat(secrets): add support for vault mount path by @wallyworld in https://github.com/juju/juju/pull/21229
- fix: k8s tunneller context and vault mount path compatibility by @wallyworld in https://github.com/juju/juju/pull/21253
- fix: filter ports by server by @nicolasbock in https://github.com/juju/juju/pull/20791
- fix: log all API requests not just RPC ones by @jameinel in https://github.com/juju/juju/pull/21102
Full Changelog: https://github.com/juju/juju/compare/v3.6.11...v3.6.12
- Removed metrics and meterstatus functionality
- Renamed k8s provider package from 'k8s' to 'kubernetes'
- Added VPC support to the Google Cloud provider
Full changelog
The Juju team is proud to release Juju 3.6.11!
This is a point release to the stable 3.6 series of Juju.
Checkout the Juju 3.6.11 Release Notes
What's Changed
- docs: add client ref, add changes from autogen, fix formatting in ref… by @tmihoc in https://github.com/juju/juju/pull/20572
- chore: increment juju to 3.6.11 by @jujubot in https://github.com/juju/juju/pull/20676
- fix: add missing model-uuid index to secretRevisions by @manadart in https://github.com/juju/juju/pull/20688
- ci: update microk8s version in CI tests by @kian99 in https://github.com/juju/juju/pull/20697
- docs: add 3.6.10 release notes by @wallyworld in https://github.com/juju/juju/pull/20659
- feat: display and update application storage cmd client by @CodingCookieRookie in https://github.com/juju/juju/pull/20632
- feat: add juju api connection sources by @SimonRichardson in https://github.com/juju/juju/pull/20677
- docs: add missing model configs by @tmihoc in https://github.com/juju/juju/pull/20678
- feat: clean up apiserver mutexes by @SimonRichardson in https://github.com/juju/juju/pull/20690
- feat: update github pull request template to include jira links by @tlm in https://github.com/juju/juju/pull/20727
- feat(security): add structured security event logging by @anvial in https://github.com/juju/juju/pull/20607
- fix: set IO deadlines without lock on websocket close by @manadart in https://github.com/juju/juju/pull/20744
- feat: wrapped net.Conn for diagnostics by @manadart in https://github.com/juju/juju/pull/20736
- fix: close response body when we get an error by @manadart in https://github.com/juju/juju/pull/20732
- fix: secret collection indexes by @manadart in https://github.com/juju/juju/pull/20695
- fix: add close http body linter and address warnings by @kian99 in https://github.com/juju/juju/pull/20761
- fix: destroy/kill-controller for CAAS environs by @luci1900 in https://github.com/juju/juju/pull/20758
- feat: add a script for cleaning up obsolete secrets by @jameinel in https://github.com/juju/juju/pull/20720
- docs: add assets and data flows to security doc by @tmihoc in https://github.com/juju/juju/pull/20731
- docs: stress the importance of secret removal by @manadart in https://github.com/juju/juju/pull/20792
- feat: tighten up API client closure by @manadart in https://github.com/juju/juju/pull/20778
- fix: add a script for cleaning up unitstate by @jameinel in https://github.com/juju/juju/pull/20783
- fix: use 1-21 as per the original bug by @jameinel in https://github.com/juju/juju/pull/20804
- fix: allow secret-remove --revision to be called multiple times by @jameinel in https://github.com/juju/juju/pull/20806
- chore(deps): bump go-jose v3.0.4 and golang-jwt/jwt v5.2.2 by @anvial in https://github.com/juju/juju/pull/20705
- refactor: improve regex used to query secret artefacts in state by @wallyworld in https://github.com/juju/juju/pull/20829
- fix: make secret-remove hook command idempotent by @wallyworld in https://github.com/juju/juju/pull/20796
- fix: purge obsolete revision from unit state when revision is removed by @wallyworld in https://github.com/juju/juju/pull/20862
- refactor: improve marking of orphaned revisions by @wallyworld in https://github.com/juju/juju/pull/20861
- fix: mutating web hook now attaches correct labels to k8s app resources by @wallyworld in https://github.com/juju/juju/pull/20774
- fix(refresh): fix panic in juju refresh when the channel is nil by @SimoneDutto in https://github.com/juju/juju/pull/20868
- refactor: optimise secret + revision metadata fetching for units by @hpidcock in https://github.com/juju/juju/pull/20878
- test: machines receives the new ip address change by @adisazhar123 in https://github.com/juju/juju/pull/20797
- fix: delete existing cmr proxy in a mgo txn by @wallyworld in https://github.com/juju/juju/pull/20886
- docs: update tutorial cf user testing by @tmihoc in https://github.com/juju/juju/pull/20384
- docs: adds to charms best practices concerning respecting model-config settings by @addyess in https://github.com/juju/juju/pull/20268
- chore: increment juju to 3.6.10 by @jujubot in https://github.com/juju/juju/pull/20402
- docs: break up manage your deployment by @tmihoc in https://github.com/juju/juju/pull/20403
- chore: update import path for distribution/reference package by @iasthc in https://github.com/juju/juju/pull/19765
- test: kubernetesEnvironProvider cannot be opened by @claudiubelu in https://github.com/juju/juju/pull/19794
- fix: ensure gce images are correctly configured for pro support by @wallyworld in https://github.com/juju/juju/pull/20417
- fix: crd resource cleanup on app removal by @CodingCookieRookie in https://github.com/juju/juju/pull/20385
- docs: update starter pack by @tmihoc in https://github.com/juju/juju/pull/20419
- feat: always use authorizer for checking offer permissions by @hmlanigan in https://github.com/juju/juju/pull/20421
- docs: add 3.6.9 feature notes by @wallyworld in https://github.com/juju/juju/pull/20444
- fix: fix bundle deploy integration test by @jack-w-shaw in https://github.com/juju/juju/pull/20474
- feat(docs): export dark-mode SVGs in Excalidraw converter by @anvial in https://github.com/juju/juju/pull/20420
- docs: fix cli docs -- links and formatting by @tmihoc in https://github.com/juju/juju/pull/20451
- refactor: reduce complexity and abstractions in gce provider by @wallyworld in https://github.com/juju/juju/pull/20466
- refactor: move providers to internal package by @wallyworld in https://github.com/juju/juju/pull/20508
- feat: import filesystem force option by @jneo8 in https://github.com/juju/juju/pull/20247
- fix: caas reconcile scale up prevention by @jneo8 in https://github.com/juju/juju/pull/20479
- docs: clean up storage ref doc by @tmihoc in https://github.com/juju/juju/pull/20501
- fix: set maintenance policy upon instance creation on GCE by @adglkh in https://github.com/juju/juju/pull/20509
- fix: adding multiple secrets simultaneously error by @CodingCookieRookie in https://github.com/juju/juju/pull/20401
- fix: cleanup LXD profile when a model is deleted by @adisazhar123 in https://github.com/juju/juju/pull/20357
- fix: crd cleanup on app removal for all other resouces by @CodingCookieRookie in https://github.com/juju/juju/pull/20489
- docs: 3.6+ update see note style by @tmihoc in https://github.com/juju/juju/pull/20523
- fix: allow "credential-get" to work on a K8s model by @benhoyt in https://github.com/juju/juju/pull/20428
- fix: address a race condition in firewaller tests by @wallyworld in https://github.com/juju/juju/pull/20547
- feat: remove metrics and meterstatus functionality by @adisazhar123 in https://github.com/juju/juju/pull/20520
- docs: 3.6+ fix relation images in dark mode by @tmihoc in https://github.com/juju/juju/pull/20539
- fix: gracefully handle error when security group is disabled in openstack by @adisazhar123 in https://github.com/juju/juju/pull/20548
- feat: add vpc support to the google provider by @wallyworld in https://github.com/juju/juju/pull/20518
- docs: 3.6+ improve structure and look of our hook doc by @tmihoc in https://github.com/juju/juju/pull/20553
- docs: 3.6+ revisit information foregrounding notes by @tmihoc in https://github.com/juju/juju/pull/20551
- Add support for ssh-allow model config for gce by @adglkh in https://github.com/juju/juju/pull/20511
- fix: update secret-set hook tool help by @dimaqq in https://github.com/juju/juju/pull/20567
- docs: add caution banner for 3.5 EOL by @nvinuesa in https://github.com/juju/juju/pull/20570
- doc: remove command aliases from cli reference doc by @wallyworld in https://github.com/juju/juju/pull/20584
- refactor: caas package to internal providers package by @CodingCookieRookie in https://github.com/juju/juju/pull/20564
- feat: add support for gce service account credentials by @wallyworld in https://github.com/juju/juju/pull/20585
- feat: caas scale unit attach storage by @jneo8 in https://github.com/juju/juju/pull/20434
- fix: use
disk-typeinstead oftypewhen querying disk type on gce by @adglkh in https://github.com/juju/juju/pull/20557 - refactor: rename k8s provider package to 'kubernetes' by @wallyworld in https://github.com/juju/juju/pull/20615
- feat: watch application storage constraint changes by @adisazhar123 in https://github.com/juju/juju/pull/20589
- feat: add spaces and subnet placement for gce by @wallyworld in https://github.com/juju/juju/pull/20568
- feat: allow different service account on bootstrap for gce by @wallyworld in https://github.com/juju/juju/pull/20617
- fix: support image-id constraint for charm deployment on gce by @adglkh in https://github.com/juju/juju/pull/20591
- fix: use new lxd profile naming scheme in test suites by @adisazhar123 in https://github.com/juju/juju/pull/20626
- fix: failing ci gating tests by @adisazhar123 in https://github.com/juju/juju/pull/20627
- fix: setup gcloudcli in ci gating tests by @adisazhar123 in https://github.com/juju/juju/pull/20635
- fix: integration test to deploy bundle by @adisazhar123 in https://github.com/juju/juju/pull/20636
- fix: import fs force patch race condition by @jneo8 in https://github.com/juju/juju/pull/20633
- fix(tests): ci gating tests followup by @adisazhar123 in https://github.com/juju/juju/pull/20637
- fix: ci gating timeout issue by @CodingCookieRookie in https://github.com/juju/juju/pull/20642
- feat: ignore image-id when filtering metadata by @wallyworld in https://github.com/juju/juju/pull/20644
- tests: use microk8s kubectl for k8s storage tests by @wallyworld in https://github.com/juju/juju/pull/20646
- fix(k8s): call broker.Destroy when NewModel fails for CAAS models by @SimoneDutto in https://github.com/juju/juju/pull/20639
- feat: display and update application storage cmd apiserver by @CodingCookieRookie in https://github.com/juju/juju/pull/20604
- test: fix storage ci tests on aws by @wallyworld in https://github.com/juju/juju/pull/20649
- fix: wait for other side to ack when closing a websocket by @wallyworld in https://github.com/juju/juju/pull/20645
- test: replace ntp with juju-qa-dummy-subordinate and fix ec2 spaces by @adisazhar123 in https://github.com/juju/juju/pull/20647
- test: update juju-qa-bundle-test and pin ubuntu base by @adisazhar123 in https://github.com/juju/juju/pull/20668
New Contributors
- @addyess made their first contribution in https://github.com/juju/juju/pull/20268
- @iasthc made their first contribution in https://github.com/juju/juju/pull/19765
- @claudiubelu made their first contribution in https://github.com/juju/juju/pull/19794
- @adglkh made their first contribution in https://github.com/juju/juju/pull/20509
- @dimaqq made their first contribution in https://github.com/juju/juju/pull/20567
- @luci1900 made their first contribution in https://github.com/juju/juju/pull/20758
Full Changelog: https://github.com/juju/juju/compare/v3.6.9...v3.6.11
- Add AWS and Azure regions to cloud provider support
- Support import-filesystem for Kubernetes workloads
- Increase allowed secret content size to 1 MiB (then reduced to 1 MB)
Full changelog
The Juju team is proud to release Juju 3.6.9!
This is a point release to the stable 3.6 series of Juju.
Checkout the Juju 3.6.9 Release Notes
What's Changed
- chore: merge 2.9 to 3.5 by @hpidcock in https://github.com/juju/juju/pull/19280
- docs: fix linkcheck by @tmihoc in https://github.com/juju/juju/pull/19974
- docs: fix loal typo by @st3v3nmw in https://github.com/juju/juju/pull/19898
- chore: upgrade description v9 by @kian99 in https://github.com/juju/juju/pull/20039
- fix: don't flush model when we have no machines by @adisazhar123 in https://github.com/juju/juju/pull/20029
- fix: followup PR to set controllerUUID in missed places by @adisazhar123 in https://github.com/juju/juju/pull/20057
- chore: add target token field to migration spec by @kian99 in https://github.com/juju/juju/pull/20085
- fix: machine loopback addresses not being accounted by @sombrafam in https://github.com/juju/juju/pull/19998
- feat: add aws and azure regions by @adisazhar123 in https://github.com/juju/juju/pull/20087
- fix: inefficient security group client side filtering by @adisazhar123 in https://github.com/juju/juju/pull/19954
- feat: support import-filesystem for k8s by @jneo8 in https://github.com/juju/juju/pull/19904
- fix: reduce charm memory constraints and fill workload container requests by @CodingCookieRookie in https://github.com/juju/juju/pull/20014
- feat(docs): add automatic Excalidraw to SVG conversion by @anvial in https://github.com/juju/juju/pull/20060
- docs: add 2.9.52 release notes by @wallyworld in https://github.com/juju/juju/pull/20139
- docs: add 3.6.8 release notes by @wallyworld in https://github.com/juju/juju/pull/20140
- fix(docs): improve Excalidraw to SVG conversion script by @anvial in https://github.com/juju/juju/pull/20135
- chore: reword CVE commit message by @wallyworld in https://github.com/juju/juju/pull/20154
- Move k8s-attach-storage feature flag from controller to cli by @jneo8 in https://github.com/juju/juju/pull/20157
- docs: add reference doc for missing introspection commands by @wallyworld in https://github.com/juju/juju/pull/20104
- chore: fix machine startup race in tests by @wallyworld in https://github.com/juju/juju/pull/20138
- fix: azure prem storage pending indefinitely by @CodingCookieRookie in https://github.com/juju/juju/pull/20122
- chore(docs): only convert modified excalidraw files by @anvial in https://github.com/juju/juju/pull/20183
- chore(deps): bump golang.org/x/crypto from 0.39.0 to 0.40.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20193
- chore(deps): bump golang.org/x/tools from 0.34.0 to 0.35.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20194
- feat: allow migration minion worker to follow redirects by @kian99 in https://github.com/juju/juju/pull/20133
- feat: add tags to Openstack security groups by @adisazhar123 in https://github.com/juju/juju/pull/20169
- feat: allow edge snaps to be used as official builds by @wallyworld in https://github.com/juju/juju/pull/20202
- refactor: move k8s image away from docker by @CodingCookieRookie in https://github.com/juju/juju/pull/20153
- refactor: rename all DOCKER_USERNAME to OCI_REGISTRY_USERNAME by @CodingCookieRookie in https://github.com/juju/juju/pull/20239
- chore: merge 3.5 by @wallyworld in https://github.com/juju/juju/pull/20238
- docs: 3.6 add google analytics by @tmihoc in https://github.com/juju/juju/pull/20128
- docs: add ref for cloud canonical k8s by @tmihoc in https://github.com/juju/juju/pull/20242
- docs: 3.6+ fix vm name in deployment env setup guide by @tmihoc in https://github.com/juju/juju/pull/20249
- docs: 3.6+ clarify snap requirements for k8s clouds by @tmihoc in https://github.com/juju/juju/pull/20250
- fix: use correct version when bootstrapping from edge snap by @wallyworld in https://github.com/juju/juju/pull/20254
- feat: new retry strategy and better logging for upgrade step by @adisazhar123 in https://github.com/juju/juju/pull/20248
- fix: issue upgrading a k8s controller by @wallyworld in https://github.com/juju/juju/pull/20116
- fix: make adding a disk to a lxd container idempotent by @wallyworld in https://github.com/juju/juju/pull/20269
- docs: add lastmod to sitemap config by @tmihoc in https://github.com/juju/juju/pull/20273
- tests: fix version unit tests when there's a build number by @wallyworld in https://github.com/juju/juju/pull/20278
- chore: conditionally stop the external controller updater worker by @kian99 in https://github.com/juju/juju/pull/20266
- docs: update homepage, how-to, ref to better expose topics by @tmihoc in https://github.com/juju/juju/pull/20283
- fix: ensure zone constraints are used with lxd by @wallyworld in https://github.com/juju/juju/pull/20271
- docs: fix error in howto overview by @tmihoc in https://github.com/juju/juju/pull/20290
- fix: only include resource ID in error message when applying changes by @wallyworld in https://github.com/juju/juju/pull/20295
- docs: make some minor updates to the hooks reference docs by @wallyworld in https://github.com/juju/juju/pull/20211
- chore: merge 2.9 by @wallyworld in https://github.com/juju/juju/pull/20296
- feat(secrets): increase the allowed size for secret content to 1MiB by @wallyworld in https://github.com/juju/juju/pull/20287
- fix: k8s model and workload container image updated to repository of target controller during model migration and upgrade by @CodingCookieRookie in https://github.com/juju/juju/pull/20267
- docs: add tutorial observe content to htg controllers by @tmihoc in https://github.com/juju/juju/pull/20302
- test: fix a typo in the secret ci tests by @wallyworld in https://github.com/juju/juju/pull/20309
- test: use agent-stream='testing' when doing ci tests for a specific sha by @wallyworld in https://github.com/juju/juju/pull/20312
- chore: reduce max secret size to 1MB not 1MiB by @wallyworld in https://github.com/juju/juju/pull/20314
- fix: choose non SEV flavor for Openstack by @adisazhar123 in https://github.com/juju/juju/pull/20299
- fix: add k8s do not follow path priority for k8s config file by @CodingCookieRookie in https://github.com/juju/juju/pull/20307
- fix: sort lxd storage by path before attaching by @wallyworld in https://github.com/juju/juju/pull/20320
- fix: intermittent firewaller test failure by @adisazhar123 in https://github.com/juju/juju/pull/20297
- fix(test): fix spaces_ec2 integration test by @jack-w-shaw in https://github.com/juju/juju/pull/20325
- fix: fallback to lexicographical sort if natural sort fails by @adisazhar123 in https://github.com/juju/juju/pull/20313
- docs: fix bullet points for channel risk levels by @MattiaSarti in https://github.com/juju/juju/pull/20324
- fix: life worker reports wrong value by @SimonRichardson in https://github.com/juju/juju/pull/20335
- docs: move relation doc to hooks doc and delete extra material by @wallyworld in https://github.com/juju/juju/pull/20315
- fix: ensure filesystem attachment watcher sends all events by @wallyworld in https://github.com/juju/juju/pull/20338
- docs: 3.6 redo tutorial by @tmihoc in https://github.com/juju/juju/pull/20322
- fix: handle script runner errors and don't ignore them by @wallyworld in https://github.com/juju/juju/pull/20352
- fix: do not detect fan for local or provider container networking by @wallyworld in https://github.com/juju/juju/pull/20353
- docs: add related links on homepage by @tmihoc in https://github.com/juju/juju/pull/20358
- fix: missing availability zones for lxd machines by @adisazhar123 in https://github.com/juju/juju/pull/20339
- test: use 'provider' container networking on supported clouds by default in ci tests by @wallyworld in https://github.com/juju/juju/pull/20369
- chore(deps): bump golang.org/x/text from 0.27.0 to 0.28.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20374
- chore(deps): bump golang.org/x/sys from 0.34.0 to 0.35.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20375
- chore(deps): bump golang.org/x/crypto from 0.40.0 to 0.41.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20376
- chore(deps): bump golang.org/x/mod from 0.26.0 to 0.27.0 by @dependabot[bot] in https://github.com/juju/juju/pull/20377
- chore: merge 2.9 by @wallyworld in https://github.com/juju/juju/pull/20382
- docs: 3.6+ add version added notes for secrets by @tmihoc in https://github.com/juju/juju/pull/20383
- fix(docs): improve excalidraw conversion script with dependency auto-installation by @anvial in https://github.com/juju/juju/pull/20389
- fix: do not update external controller info unless needed by @wallyworld in https://github.com/juju/juju/pull/20398
New Contributors
- @st3v3nmw made their first contribution in https://github.com/juju/juju/pull/19898
- @jneo8 made their first contribution in https://github.com/juju/juju/pull/19904
- @MattiaSarti made their first contribution in https://github.com/juju/juju/pull/20324
Full Changelog: https://github.com/juju/juju/compare/v3.6.8...v3.6.9
Minor fixes and improvements.
Full changelog
The Juju team is proud to release Juju 3.6.8!
This is a point release to the stable 3.6 series of Juju.
Checkout the Juju 3.6.8 Release Notes
Minor fixes and improvements.
Full changelog
The Juju team is proud to release Juju 2.9.52!
This is a point release to the stable 2.9 series of Juju.
Checkout the Juju 2.9.52 Release Notes
Minor fixes and improvements.
Full changelog
The Juju team is proud to release Juju 3.6.7!
This is a point release to the stable 3.6 series of Juju.
Checkout the Juju 3.6.7 Release Notes