Changelog¶
3.3.0 (2025-01-13)¶
Core¶
Plugins¶
New Poetry plugin.
New Python plugin.
Reactive¶
Extensions¶
The Django extension is no longer considered experimental.
The
charm
command is now run in verbose mode by default.
Command line¶
The
pack
command now updates the charm libaries in the project directory if they don’t meet the requirements in thecharm-libs
key ofcharmcraft.yaml
.New create-track command.
Linter¶
New linter to check that the entrypoint contains a call to
ops.main()
Documentation¶
How-to guides for migrating to the new plugins:
For a complete list of commits, see the 3.3.0 release on GitHub.
3.2.2 (2024-10-16)¶
The
whoami
command now works with charm-scoped credentials.
For a complete list of commits, see the 3.2.2 release on GitHub.
3.2.1 (2024-09-16)¶
This is a bugfix release for 3.2, bringing in two fixes:
Core¶
The shared cache directory now gets locked. Builds that run while another copy of Charmcraft has the cache directory locked will run without a shared cache.
Plugins¶
charm¶
The charm plugin will now force-install pip if the installed venv version is older than the minimum version, guaranteeing that pip gets updated correctly.
For a complete list of commits, see the 3.2.1 release on GitHub.
2.7.4 (2024-10-07)¶
This release bumps some dependencies to fix a security issue with requests.
For a complete list of commits, see the 2.7.4 release on GitHub.
2.7.3 (2024-09-16)¶
Core¶
The shared cache directory now gets locked. Builds that run while another copy of Charmcraft has the cache directory locked will run without a shared cache.
The charm plugin now force-reinstalls pip when necessary, guaranteeing a correct version of pip.
For a complete list of commits, see the 2.7.3 release on GitHub.
2.7.2 (2024-09-09)¶
We’ve backported some 3.x bugfixes to the 2.7 series.
Store¶
Skopeo now uses an insecure policy when copying OCI images, allowing it to run even when the user hasn’t set up OCI image policies.
Meta¶
Build fixes to the published version
For a complete list of commits, see the 2.7.2 release on GitHub.
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 incharmcraft.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
andflask-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
snapSymlinked directories are correctly included in charms (previously only symlinked files worked).
Fixed a crash when using the
framework
linter with thereactive
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 charmAll new bases, starting with
ubuntu@24.04
, must use thebase
andplatforms
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
inconfig.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 unifiedcharmcraft.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.