A reminder from the last report: the latest version of ops is a beta release with a new low-level API matching the Juju hook commands, refactoring ops to use the new API internally. Please help us by running your charms’ integration tests with ops==3.4.0b3! We’re very keen to minimise any chance of breaking your charms!
We’ve worked on a collection of small Jubilant and ops improvements, and we’ve continued the migration from the old charm-relation-interfaces repository to the new charmlibs one. We’ve got quite a bit of Pebble work lined up this cycle, and made a start on some of that.
Ops
- Refactored the secrets code to avoid caching secret metadata (#2143).
- Added the number of items in the queue when processing deferred notices (#2161).
- Some small fixes to the
hookcmdspackage added in 3.4.0b1 (#2170, #2174, #2175, #2179). - Dropped code that only existed to support Python 3.8 or 3.9 (#2173).
- Storage events no longer call
storage-get --help(!) to get the storage ID (#2172).
Charming
Jubilant
- Fixed app/leader unit syntax for exec (#216).
- Added show_model() method (#218).
- Added version() method (#219).
- Added add_credential() method (#221).
- Changed the machine parameter in exec from int to int|str (#223).
- Added add_ssh_key() and remove_ssh_key() methods (#228).
- Started work on running tests against Juju 4.0.
- Clarified that Jubilant is not only for charm integration tests (#215).
Charmlibs
- Interface documentation has been migrated to the charmlibs monorepo in preparation for archiving the charm-relation-interfaces repo (#256). You can now read the low-level interface docs on the charmlibs documentation site.
Pebble
- Started work on a FIPS-compliant Pebble.
- Drafted a spec for concealing sensitive content in environment variables from non-admin users.
Documentation
- Updated How to write integration tests for a charm to recommend that integration tests aren’t responsible for packing the charm (#2150).
- Worked on updating How to write unit tests for a charm to explain how to safely reuse State objects (#2153).
- Added links to the Juju hook documentation from each event class (#2176).
- The
ops.testingdocstring is no longer solely focused on Harness (#2171).