Roadmap & Releases

Check out the public roadmap for Juju and the charmed operator framework!

:calendar: Visit the roadmap

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: Juju 2.9.32 - 24 June 2022

:hammer_and_wrench: Fixes:

  • Juju 2.9.31 breaks yaml format accepted by juju add-credential(LP)
  • azure failed provisioning: conflict with a concurrent request(LP)
  • Juju attach-resource returns ‘unsupported resource type “”’ error(LP)
  • OpenStack: open-port icmp doesn’t work(LP)
  • Juju bootstrap aks can’t find storage(LP)

See the full list in the milestone page.

:juju: Juju 2.9.31 - 31 May 2022

:hammer_and_wrench: Fixes:

  • juju controller doesn’t reference juju-https-proxy when deploying from charmhub (LP)
  • sidecar application caasapplicationprovisioner worker restarts due to status set failed (LP)
  • LXD container fails to start due to UNIQUE constraint on container.name (LP)
  • k8s application stuck in an unremoveable state (LP)
  • Juju keeps creating OpenStack VMs if it cannot allocate a floating IP (LP)
  • Instance type constraint throws “ambiguous constraints” error on GCP (LP)

See the full list in the milestone page.

:juju: Juju 2.9.29 - 30 Apr 2022

:hammer_and_wrench: 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: Juju 2.9.28 - 08 Apr 2022

:hammer_and_wrench: 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: Juju 2.9.27 - 21 Mar 2022

Candidate release: 18 Mar 2022

:hammer_and_wrench: 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: 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).

:hammer_and_wrench: 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"

See the full list in the milestone page.

:juju: 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.

:hammer_and_wrench: 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: Juju 2.9.22 - 13 Dec 2021

:hammer_and_wrench: 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: Juju 2.9.21 - 3 Dec 2021

:hammer_and_wrench: 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: Juju 2.9.19 - 23 Nov 2021

:hammer_and_wrench: 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: Juju 2.8.13 - 11 Nov 2021

This release fixes various issues with Juju 2.8

:hammer_and_wrench: 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: Juju 2.9.18 - 8 Nov 2021

:hammer_and_wrench: 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: 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.

:hammer_and_wrench: 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: Juju 2.9.16 - 11 Oct 2021

:hammer_and_wrench: 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: 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.

:hammer_and_wrench: 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: 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.

:hammer_and_wrench: 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: 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.

:hammer_and_wrench: 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: Juju 2.9.12 - 30 Aug 2021

:hammer_and_wrench: Fixes:

  • Cross-model relations broken for CAAS (LP)
  • Boot failure when model-config sets snap-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: Juju 2.9.11 - 17 Aug 2021

:hammer_and_wrench: 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: 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'"

:hammer_and_wrench: 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: Juju 2.9.9 - 19 Jul 2021

:hammer_and_wrench: 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: 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.

:hammer_and_wrench: 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: Juju 2.9.7 - 06 Jul 2021

:hammer_and_wrench: 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.

Expand to see the release notes for 2.9.0-2.9.5
Expand to see the release notes for the 2.8 series
Expand to see the release notes for the 2.7 series
Expand to see the release notes for the 2.6 series
Expand to see the release notes for the 2.5 series
Expand to see the release notes for the 2.4 series

Last updated 9 days ago.