What's new in Charmcraft (2022w11)

This week we’ll release version 1.5 currently in candidate to stable. We’re creating also a track for major version number 1 (with v1.5 released also there), and taking the compromise to not introduce breaking changes in big major versions in the future (for example, let’s say after 1.8 we have a release that breaks backwards compatibility: in that case we’ll release 2.0 in latest track, create a a track for major version 2, and do not release the breaking change in track 1).

The following are plans for the next couple of weeks, aiming to v1.6:

  • Provide rapid iterations when developing a charm (related issue); this actually has three different parts…

    • Reuse already installed dependencies from last run if requirements didn’t change

    • Stop reinstalling/updating system packages every time a provider instance is used

    • Create some form of “fast track” to inject changes in previously built .charm file if only Python sources changed (still in design phase)

  • Expose craftcl from craft-parts to allow to control (in charmcraft.yaml) how the lifecycle step behaves (related issue)

  • Polish some details in Charmcraft installers for Windows and MacOS (related issue)

  • Expose (as progress messages) the lifecycle step updates when packing (related issue)

2 Likes

great to hear about that fast track! I’ve been using a bunch a python script that does that exact same thing :slight_smile:

Yeah love the fast track ideas. Combining this with juju download would be even better as even some cold-starts could still be warm

1 Like