Thank you to everyone who filled in the Charming Survey this cycle! We’ve been busy with our 25.10 roadmap prep, and many of your comments have directly affected our planning. Over the next few weeks we’ll reach out to those of you who left your email address and wanted Charm Tech to discuss your feedback with you.
This pulse we’ve continued work on Ops, adding support for the relation-model-get
hook tool available in Juju 3.6.2+, exposing config metadata in CharmMeta
, and improving the efficiency of setting multiple fields in relation data – these changes will be coming in Ops 2.20. A pre-release version of our new integration testing library, Jubilant, is now available. We’ve also continued improving our documentation, slimming the “Zero to Hero” Kubernetes charm tutorial down to seven chapters (from fourteen!), with testing explained as you go, and moving the “best practices” charming guidance from the Juju docs to the Ops and Charmcraft docs.
Ops
- Support for new relation-model-get hook took.
- The config metadata is now available in
CharmMeta
(#1648). - Continued work on support for using a fresh charm instance for deferred events (#1631).
- Continued work on a spec and proof-of-concept for validating config and relation data.
- In ops 2.20 (coming soon), RelationDataContent.update will efficiently call the relation-set hook tool only once rather than once per key (#1586).
- Continued work on
ops[tracing]
, started validating that existing charms can be easily converted to use this feature and inching ever closer to a release.
Charming
- Released Jubilant pre-release version. Jubilant is the joyful charm integration testing library: added docs landing page and tutorial, added integration tests, released 0.1.0 pre-release. Starting porting discourse-k8s integration tests from pytest-operator to Jubilant.
- Hosted an AMA session with the NoSQL Data team.
- Implementation of our new Python package for machine/k8s agnostic file operations (with a pathlib-like API) is now complete. The initial release will likely be next week following some final docs work.
Documentation
- Unified documentation on charm tests (#1628, #1635, #1639). Now we have one explanation doc on testing and two how-tos: unit test and integration test. The harness test how-to is moved to the legacy how-tos.
- The “Zero to Hero” tutorial for creating a Kubernetes charm is now much more streamlined: there are only seven chapters (only 5 that involve writing code), and adding tests is now included in each of the code-writing chapters.
- Items from the old (scheduled for removal) Juju charm style guide have been added to the Ops documentation as “Best practice” boxes (#1615). There’s also a new “Manage charms” how-to that gives an overview of starting your charm journey with links to Juju and Charmcraft, and a “How to write and structure charm code” how-to that holds more of the advice from the old style guide. There’s a similar PR for charmcraft and once that’s merged there will be a way to get hold of all the “Best practice” notes (for example, for a review).