Skip to content

Releases: canonical/charmcraft

Release 1.2.0

03 Aug 20:38
1.2.0
1dfb54b
Compare
Choose a tag to compare
  • The Charm and Bundle packing is now done through a parts lifecycle process in the same manner as snapcraft.

    • the charm's requirements and entrypoint can now be specified in the config, to simplify repetitive packing.
    • it opens a world of possibilities to pack charms and bundles: explore the parts lifecycle docs if you have special packaging requirements.
  • Introduced a mechanism to validate that the charm was built using the best charm crafting practices (see all analyzers and linters).

    • this infrastructure is run automatically when packing the charm, aborting the process if problems are found (can be overruled with --force).
    • all linters and checkers can be called explicitly using the new analyze command (use --format=json to produce a machine-consumable output).
    • these verifications can be explicitly ignored (see analysis key in the config).
  • The packing procedure no longer includes all the project's files by default (see this forum post for further reference).

  • When packing charms in Charmcraft-driven LXD containers, perform additional validation of LXD configuration and user permissions to improve user experience.

  • Introduced --destructive-mode option to pack charm on host instead of using an LXD container (use with caution as this mode allows changes to system configuration).

  • Fixed a regression when listing revisions and showing status for bundles.

Release 1.1.2

22 Jul 15:31
1.1.2
db90e18
Compare
Choose a tag to compare
  • Allow including resources when releasing charms directly in the upload command.

Release 1.1.1

09 Jul 12:38
1.1.1
e9527f2
Compare
Choose a tag to compare
  • Save the resulting charm file in the current directory when packing
  • Improved the snapcraft.yaml file to be able to build in armhf

Release 1.1.0

05 Jul 12:31
1.1.0
7cdbeee
Compare
Choose a tag to compare
  • The upload-resource command was improved for OCI Images

  • The charm is now built in a LXD container, allowing the process to be done in a different base than the host

    • the Charmcraft config now has a bases entry to express where the charm can be built and where it can run (short and long forms supported)
    • this configuration is optional for now but will be mandatory in the future (see deprecation notices DN02 and DN03)
    • use of bases enables building in LXD
    • the Charm resulting file name reflects where it was built
    • Charmcraft now uses the craft_providers library, allowing in the future to build using Multipass instances
    • added a clean command to remove any structures that were used for the building
    • related specification)
  • The status command output now includes a column for the charm bases

  • The keywords in Charmcraft configuration are now separated using dashes (see deprecation notice DN01)

  • Some UX improvements

    • filepaths are shown in a consistent style
    • some help messages adjusted
    • better error messages when the charmcraft.yaml config has issues
  • The Charmcraft snap is now classic confined

    • the snap is the recommended way to install and use the tool
  • Other internal Charmcraft improvements

    • Python 3.6 and greater is now supported
    • started to use black for consistent and automated formatting
    • refactored how the project's dependencies are handled
    • migrated to use pydantic in the configuration manager

Release 1.0.0

30 Apr 13:40
1.0.0
3aa86c8
Compare
Choose a tag to compare
  • Provide the building charms functionality through the pack command.

0.10.1

27 Apr 21:39
0.10.1
3ed6fd9
Compare
Choose a tag to compare
  • Enhanced charm template generated by 'init' to use the new sidecar-pattern

Release 0.10.0

20 Apr 17:05
0.10.0
65d735b
Compare
Choose a tag to compare
  • Support for oci-image resources.

  • Improvements to the 'init' command, among others: links to docs, more robust base project, better docstrings and comments.

  • Alert if README.md not included in a packed bundle (as it is required for deploying).

  • Produce a manifest.yaml with the building context of the charm or bundle.

  • Fix the handling of charms with dashes in the name when dealing with libraries.

Release 0.9.0

11 Mar 13:44
0.9.0
eb11a84
Compare
Choose a tag to compare
  • Full support for Charm Bundles (register, upload, release, etc.); check the tutorial

  • Full support for file type Resources (upload, attach them to a charm release, etc.); check the tutorial

  • Point to external documentation in the docs left by init command

Release 0.8.1

18 Feb 12:03
0.8.1
4481a1b
Compare
Choose a tag to compare
  • Renamed back to status the command to show channels and released revisions in Charmhub.

  • Show to the user the returned error in case of rejected upload.

  • Improved/updated the Bash Completion file according to current commands and their options.

Release 0.8.0

29 Jan 11:51
0.8.0
82366fa
Compare
Choose a tag to compare
  • Charmcraft works now with the PRODUCTION store by default (can be changed in the configuration).

  • Configuration is now read from the charmcraft.yaml file, which is mandatory for bundles-related commands (optional for the rest by now, will be mandatory in the future for all commands).

  • The User Agent sent to Charmhub is more complete and identifies better the Charmcraft client.

  • Added all current commands and their options to the Bash completion file.

  • Improvements in some help messages and init resulting files.