Changelog

3.2.0 (2024-08-28)

We have some fixes to the 3.1 series, as well as the features below. The most notable under-the-hood work is that Charmcraft now uses pydantic 2.

Core

You can now set charm-user in charmcraft.yaml to set what user Juju 3.6.0+ will use for running a kubernetes charm.

Plugins

reactive

Fix: actions.yaml is no longer overwritten.

Extensions

go-framework

New go-framework extension for easily charming go applications.

Documentation

The changelog is now included in the Charmcraft documentation. For completeness, we’ve back-filled the log with all the important changes from previous releases documented on GitHub.

For a complete list of commits, see the 3.2.0 release on GitHub.

3.1.2 (2024-08-07)

  • fix(app): clarify wording on ‘prime’ change

  • fix(strict-deps): fail if venv is inconsistent

  • fix(application): exclude files from charm

  • fix(package): Limit the bases in manifest.yaml

3.1.1 (2024-07-24)

  • fix(ci): fix tox ensure_version_matches

  • fix(metadata): allow long summaries in output

  • tests(spread): temporarily disable failing test

3.1.0 (2024-07-23)

New Features

  • Charmcraft has a new fetch-libs command, which, when combined with a charm-libs key in charmcraft.yaml, allows the automatic fetching and updating of multiple charm libraries.

  • The new, experimental test command is also included in Charmcraft 3.1. Please have a go with it. Documentation is fairly minimal right now, as the implementation is still in flux.

  • The upload-resource command now uses skopeo to upload images. Most notably, this means you can enter any skopeo-supported containers-transports URL to upload an OCI container to Charmhub.

  • New features to experimental extensions: django-framework and flask-framework. These are designed to work with rocks, for example, rocks with the flask-framework extension.

  • New releases are automatically published to PyPI (thanks @bittner)!

Bug fixes

  • flask-framework charms now automatically include the rustup snap

  • Symlinked directories are correctly included in charms (previously only symlinked files worked).

  • Fixed a crash when using the framework linter with the reactive plugin

  • … and several more!

For a complete list of commits, see the 3.1.0 release on GitHub.

3.0.0 (2024-03-14)

Breaking Changes

  • The prime keyword no longer adds extra files to a charm. If you need this functionality, please refer to this documentation page: Include extra files in a charm

  • All new bases, starting with ubuntu@24.04, must use the base and platforms keywords.

  • The --bases-index parameter is deprecated. Please start using the new --platform parameter instead

For more information, see the 3.0 release announcement.

For a complete list of commits, see the 3.0.0 release on GitHub.

2.7.1 (2024-07-18)

  • Bump minimum pip version to 24

  • set --no-binary=:all: in strict mode if no binary deps are declared

For a complete list of commits, see the 2.7.1 release on GitHub.

2.7.0 (2024-06-18)

  • enable riscv64 support

  • upload rocks using skopeo

For a complete list of commits, see the 2.7.0 release on GitHub.

2.6.0 (2024-04-12)

  • support type:secret in config.options

  • works with LXD 5.21

For a complete list of commits, see the 2.6.0 release on GitHub.

2.5.5 (2024-02-27)

  • fix(templates): put example config sections on all templates

  • fix(linters): ensure CheckResult text isn’t None

  • fix(builder): don’t rely on part names

For a complete list of commits, see the 2.5.5 release on GitHub.

2.5.4 (2024-02-27)

  • Bumped minimum pip version to 23

For a complete list of commits, see the 2.5.4 release on GitHub.

2.5.3 (2023-12-07)

  • Clearing the shared cache can cause errors

  • Internal error when running from outside of a charm repository

  • Typo in overview for the expand-extensions command

For a complete list of commits, see the 2.5.3 release on GitHub.

2.5.2 (2023-12-01)

  • fix: ignore empty requirements lines

For a complete list of commits, see the 2.5.2 release on GitHub.

2.5.1 (2023-12-01)

  • fix: make snap build on all architectures.

For a complete list of commits, see the 2.5.1 release on GitHub.

2.5.0 (2023-10-24)

  • charmcraft init now uses the new unified charmcraft.yaml

  • Opt-in strict dependency management

  • Shared wheel cache between build environments on the same host

  • Add support for Ubuntu mantic based charms (not for production use :-) )

For a complete list of commits, see the 2.5.0 release on GitHub.

Earlier than 2.5.0

For the changes from releases before 2.5.0, please consult the GitHub Releases page.