Check out the public roadmap for Juju and the charmed operator framework!
The expander below has instructions to try any specific release version snap. You can also find release tarballs on Github.
Switch to a specific Juju client, model and controller version with snaps
To try a new release of Juju, you need to upgrade the client and the controller of your model.
Upgrading the client is as easy as:
sudo snap refresh juju --classic --channel=latest/stable
# or
sudo snap refresh juju --classic --channel=latest/candidate
If youād like to upgrade a controller to a stable release:
juju upgrade-controller <controller>
And for a candidate release:
juju upgrade-controller <controller> --agent-stream=proposed
Before attempting any controller upgrades, you should consider if you need to backup your controller.
Juju 2.9.29 - 30 Apr 2022
Fixes:
- Controller bootstrap fails on local LXD with āCertificate not foundā(LP)
- Juju unable to add a k8s 1.24 k8s cloud(LP)
- model migration treats āTryAgainā as a fatal error(LP)
- juju 2.9.26 unable to deploy centos7(LP)
See the full list in the milestone page.
Juju 2.9.28 - 08 Apr 2022
Fixes:
- Juju renders invalid netplan YAML for nameservers in IPv4/IPv6 dual-stack environment (LP)
- juju 2.9.27 glibc errors(LP)
- Juju controller keeps restarting when deployed with juju-ha-space and juju-mgmt-space (LP)
See the full list in the milestone page.
Juju 2.9.27 - 21 Mar 2022
Candidate release: 18 Mar 2022
Fixes:
- juju client panics during bootstrap on a k8s cloud (LP1964533)
- Controller upgrade ends up with locked upgrade (LP1942447)
- juju fails to upgrade ha controllers on for (at least) lxd controllers (LP1963924)
See the full list in the milestone page.
Juju 2.9.26 - 12 Mar 2022
This release includes a fix for broken upgrades coming from a deployment with cross model relations to multiple offers hosted on an external controller (LP1964130).
Fixes:
- 2.9.25 Upgrade Fails for Cross-Controller CMRs(LP1964130)
- Unauthorized for K8s API during charm removal(LP1941655)
- CRD creation fails in pod spec charms on juju 2.9.25(LP1962187)
- Juju prompted for a password in the middle of a bundle deploy(LP1960635)
- Unable to set snap-store-assertions on model-config (LP1961083)
- Note: This fix changes how to use log labels in model-config, extra single quotes are no longer required:
juju model-config -m controller "logging-config=#charmhub=TRACE"
- Note: This fix changes how to use log labels in model-config, extra single quotes are no longer required:
See the full list in the milestone page.
Juju 2.9.25 - 24 Feb 2022
This release is significant because it transitions to using the juju-db snap from the 4.4/stable
channel (running mongodb 4.4.11 at the time of writing) for newly bootstrapped controllers. NB the juu-db snap is not used if the default series is changed from focal
to an earlier vrsion.
Existing controllers which are upgraded to this release will not change the mongo currently in use.
Fixes:
- Juju trust not working for K8s charm(LP)
- cannot migration nor upgrade without manual intervention for a machine after a container is removed- (LP1960235 )
- On machines exhibiting the above behavior, the agents will show as lost during the upgrade, you must kill the jujud process on the machine. This allow it to be restarted and continue the upgrade.
- Also seen on machineās having an LXD container which havenāt been removed.
- destroy model fails if thereās a relation to offered application (LP)
- Sidecar charm get stuck if PodSpec charm with same name was deployed previously (LP)
- 2.9.22 regression: local charm paths resolved wrongly in bundles (LP)
- juju migrate failing with manual machines, verifying controller instance(LP)
- Offer permissions are not migrated (LP)
- destroy model fails if thereās a relation to offered application(LP)
See the full list in the milestone page.
Juju 2.9.22 - 13 Dec 2021
Fixes:
- Juju 2.9.9 fails to bootstrap on AWS (LP)
- controller migration is very hard when dealing with large deployments (LP)
- models not logging (LP)
- ceph-osd is showing as fail (LP)
- Bootstrap with Juju 2.8.11 breaks on LXD 4.0.8 (LP)
- juju ssh --proxy not working on aws when targeting containers with FAN addresses (LP)
See the full list in the milestone page.
Juju 2.9.21 - 3 Dec 2021
Fixes:
- juju enable-ha fails to cluster on 2.9.18 manual machines (LP)
- juju storage events are missing JUJU_STORAGE_ID (LP)
- Juju failing to remove unit due to attached storage stuck dying (LP)
- Juju creates two units for sidecar CAAS application (LP)
See the full list in the milestone page.
Juju 2.9.19 - 23 Nov 2021
Fixes:
- controller models with valid credentials becoming suspended (LP)
- FIP created in incorrect AZ for instance when bootstrapped against OpenStack. (LP)
- [2.9.16 & 2.9.17] juju trust gets lost if juju config is run on application (LP)
- mongo 4.4 has a multiline --version (LP)
See the full list in the milestone page.
Juju 2.8.13 - 11 Nov 2021
This release fixes various issues with Juju 2.8
Fixes:
- Juju
2.9.9fails to bootstrap on AWS (LP) - controller migration is very hard when dealing with large deployments (LP)
- models not logging (LP)
- ceph-osd is showing as fail (LP)
- Bootstrap with Juju 2.8.11 breaks on LXD 4.0.8 (LP)
- juju ssh --proxy not working on aws when targeting containers with FAN addresses (LP)
See the full list in the milestone page.
Juju 2.9.18 - 8 Nov 2021
Fixes:
- agent cannot be up on LXD/Fan network on OpenStack OVN/geneve mtu=1442 (LP1936842)
- no way to declare a k8s charm with metadata v2 that doesnāt need a workload container (LP1928991)
- Method to run an action in a workload container in sidecar charms (LP1923822 )
See the full list in the milestone page.
Juju 2.9.17 - 27 Oct 2021
This release introduces telemetry as a configurable option per model. It also supports more OCI image registry providers for pulling images used for CAAS models.
Fixes:
- Leader role not transferred when the inital leader goes offline (LP)
- if the primary node of an HA config goes down, the controller stops responding (LP)
- Trust permissions not ready on install hook in sidecar charms (LP)
- deployed application loses trust after charm upgrade (LP)
See the full list in the milestone page.
Juju 2.9.16 - 11 Oct 2021
Fixes:
- Unable to deploy workloads to lxd cloud added to k8s controller (LP)
- memory usage leading to OOMs on controllers
- LXD bootstrap fails with āExecutable /snap/bin/juju-db.mongod not foundā (LP)
- Requested imageās type āvirtual-machineā doesnāt match instance type ācontainerā (LP)
See the full list in the milestone page.
Juju 2.9.15 - 28 Sept 2021
This release improves the robustness of repeated cross model relation setup / teardown. Thereās also some improvements to how raft is used internally to manage leases.
Fixes:
- ceph mon does not render data to ceph-rados after redployment of ceph-radosgw only (LP)
- Unable to remove offers when 2 endpoints are offered with the same application (LP)
- upgrading 2.9.12 to 2.9.13 gets stuck in āraftlease response timeoutā (LP)
- pod-spec uniter exits on pending action op when remote caas container died (LP)
See the full list in the milestone page.
Juju 2.9.14 - 14 Sept 2021
This release fixes an upgrade issue found during testing of the 2.9.13 release. Thereās also an additional fix for an earlier regression deploying LXD containers on AWS.
Fixes:
- Juju fails to provision LXD containers with LXD >= 4.18 (LP)
- Juju is unable to match machine address CIDRs to subnet CIDRs on Equinix Metal clouds (LP)
- Non POSIX-compatible script used in
/etc/profile.d/juju-introspection.sh
(LP) - In AWS using spaces and fan network for a private network does not allow LXC containers to start(LP)
See the full list in the milestone page.
Juju 2.9.13 - Release cancelled, replaced by 2.9.14
This release adds support for pulling images used for CAAS models from private OCI registries! This means you can host your own jujud-operator
, charm-base
and juju-db
images. This initial release focuses on private registries on Dockerhub, with other public cloud registry support coming in a future release. More details in this post.
Fixes:
- Juju fails to provision LXD containers with LXD >= 4.18 (LP)
- Juju is unable to match machine address CIDRs to subnet CIDRs on Equinix Metal clouds (LP)
- Non POSIX-compatible script used in
/etc/profile.d/juju-introspection.sh
(LP)
Juju 2.9.12 - 30 Aug 2021
Fixes:
- Cross-model relations broken for CAAS (LP)
- Boot failure when
model-config
setssnap-proxy
(LP) - The
juju export-bundle
command gives error after upgrade (LP) - Several updates for the Raft engine that handles leases. These are steps to address (LP), though that issue is not completely resolved.
See the full list in the milestone page.
Juju 2.9.11 - 17 Aug 2021
Fixes:
- Resource downloads are very slow in some cases (LP)
- Upgrading the mongodb snap causes controller to hang without restarting mongod (LP)
- OpenStack provider: retry-provisioning doesnāt work for
Quota exceeded for ...
(LP)
See the full list in the milestone page.
Juju 2.9.10 - 03 Aug 2021
A new logging label: charmhub
. To enable debugging information about Charmhub, you can now use the following:
juju model-config -m controller "logging-config='#charmhub=TRACE'"
Fixes:
- Unable to
upgrade-charm
a pod_spec charm to sidecar charm (LP) - OOM and high load upgrading to 2.9.7 (LP)
- Controller not caching agent binaries across models (LP)
- Bundle with local metadata v2 k8s sidecar charm fails for āmetadata v1ā (LP)
- The
network-get
hook returns the vip as ingress address (LP)
See the full list in the milestone page.
Juju 2.9.9 - 19 Jul 2021
Fixes:
- Juju 2.9.8 tries to use an empty UID when deleting Kubernetes objects, and cannot remove applications (LP)
- The
juju-log
output going to machine log file instead of unit log file in Juju 2.9.5 (LP) - Deployment of private charms is broken in 2.9 (was working in 2.8) (LP)
- [Windows] Juju.exe and MicroK8s.exe bootstrap error (LP)
See the full list in the milestone page.
Juju 2.9.8 - 13 Jul 2021
This release introduces support for bootstrapping and deploying workloads to Equinix cloud. To try out the new provider:
- Run
juju update-public-clouds --client
to ensure that provider API endpoint list is up to date. - Add a credential for the equinix cloud (
juju add-credential equinix
). You will need to specify your equinix project ID and provide an API key. You can use the equinix console to look up your project ID and generate API tokens. - Select a metro area and bootstrap a new controller. For example to bootstrap to the Amsterdam data-center you may run the following command:
juju bootstrap equinix/am
.
Caveats:
- Due to substrate limitations, the equinix provider does not implement support for firewalls. As a result, workloads deployed to machines under the same project ID can reach each other even across Juju models.
- Deployed machines are always assigned both a public and a private IP address. This means that any deployed charms are implicitly exposed and proper access control mechanisms need to be implemented to prevent unauthorized access to the deployed workloads.
This release also introduces logging labels which will help with the aggregation of logs via a label rather than a namespace.
juju model-config "logging-config='#http=TRACE'"
The above will turn on HTTP loggers to trace. This is a new UX feature to help with debugging, itās not been full worked through Juju yet and might be subject to change.
Fixes:
- Juju fails to deploy mysql-k8s charm with its image resource (LP)
- Juju 2.9 failing to create ClusterRoleBinding (LP)
- Juju interprets
caas-image-repo
containing port number incorrectly (LP)
See the full list in the milestone page.
Juju 2.9.7 - 06 Jul 2021
Fixes:
- Juju upgrade 2.9 controller from local branch fails with wrong namespace. (LP)
- Unit network data not populated on peer relations in sidecar charms (LP)
- A
juju refresh --switch ./local
fails for metadata v1 charm (LP) - A migrated CaaS model will be left in the cluster after model destroyed (LP)
- Unable to deploy postgresql-k8s charm from charmhub (LP)
- Unable to deploy bundle with sidecar and pod_spec charms (LP)
- IP address sometimes not set or incorrect on pebble_ready event (LP)
- Improve
juju ssh
on k8s poor ux (LP) - Support encrypted EBS volumes for bootstrapping controllers on AWS (LP)
- Document and support
charmcraft
's bundle.yaml fields (LP) - install hook run after juju upgrade-model 2.7.8 to 2.9.4 (LP)
- controller fails to bring up
jujud
machine (LP) - The
juju ssh --proxy
command is not working on aws when targeting containers with FAN addresses (LP) - The
juju resources
revision date format uses year-date-month format instead of year-month-date (LP) - Using
juju config
with empty values erroneously resets since 2.9 (LP)
See the full list in the milestone page.