Charmcraft 4.0 release notes

23 September 2025

Learn about the new features, changes, and fixes introduced in Charmcraft 4.0.

Requirements and compatibility

For development and testing, Charmcraft requires a host with a minimum of 4GB RAM running a Linux distribution compatible with systemd.

All versions of Charmcraft require the following software:

We recommend you install the Charmcraft snap. It comes bundled with all its dependencies.

Non-snap installations of Charmcraft have the following dependencies:

What’s new

Charmcraft 4.0 brings the following new features.

New Documentation Domain

Charmcraft is an important member of the Canonical community and ecosystem, and all its site names should demonstrate that. With this release, we gave the docs a new home at the Ubuntu domain. You can now reach it at:

documentation.ubuntu.com/charmcraft

We put redirects in place to handle links to the old ReadTheDocs domain.

With this change, we also removed the language subdirectory (/en) in the URL, to shave a few characters off all links.

OpenID Connect integration

OpenID Connect is now available in all 12-factor app charm extensions. It’s available in any charm using the Django, Express, FastAPI, Flask, and Go extensions and packed with Charmcraft 4.

init profile changes

Charmcraft 4.0 has much more modern machine and kubernetes init profiles. Changes include:

  • The static and lint tox environments are now united.

  • The charm is packed with the uv plugin.

  • Dependencies are now managed with uv.

  • The reusable integration tests now use Jubilant.

Test profiles

We introduced two new init profiles, test-machine and test-kubernetes. They provide a framework for using the charmcraft test command. These profiles are experimental, so we can’t guarantee their stability.

Spring Boot framework extension

Apps that use the Spring Boot framework can now use the Spring Boot framework extension for charming the app. A new tutorial is also included to walk a first-time charmer through charming their Spring Boot app.

Feature removals

The following features are removed in Charmcraft 4.0. If you need these features, they are still available in Charmcraft 3.

Windows support

Charmcraft 4.0 has ceased support for Windows. To continue on the platform, we encourage Windows users to run Charmcraft in Windows Subsystem for Linux.

CentOS 7 support

CentOS 7 reached its end of life on 30 June 2024, and support for it has ended with Charmcraft 4.0.

Bundle removal

As scheduled, all charm bundle features are removed with Charmcraft 4.0. Charmcraft 3 will continue support for packing bundles and the register-bundle and promote-bundle commands. This follows the discontinuation of new bundle registrations in Nov 2024.

simple profile

The simple init profile is removed from Charmcraft 4.0. The default profile is now kubernetes, which is a minimal profile with scaffolding for a Kubernetes charm. We have transferred the simple profile to an example charm in the Ops repository.

Known issues

The following issues were reported and are scheduled to be fixed in upcoming patch releases.

See individual issue links for any mitigations.

  • #2078 charmcraft clean does not clean all platforms for a charm.

  • #1990 Cannot stage packages with Charmcraft

Fixed bugs and issues

Charmcraft 4.0.0

  • #2431 Charmcraft now errors if a relation name is invalid.

Contributors

We would like to express a big thank you to all the people who contributed to this release:

@ade555, @alithethird, @bepri, @dimaqq, @dwilding, @erinecon, @jahn-junio r, @javierdelapuente, @lengau, @m7mdisk, @marcusboden, @medubelko, @mr-cal and @tonyandrewmeyer