Thank you to everyone who completed our 25.10 charming survey! Your feedback is really important to us and will help shape our 26.04 roadmap.
This pulse, we’d like to highlight significant work towards our charmlibs monorepo – the new home for charm libraries. After finalising the review process and finishing our work on contributor docs, the monorepo will be open to charm library contributions in the near future. Many thanks to @ppasotti for contributing a library to help us beta test the infrastructure and release process.
Please get in touch with @james-garner if you have any questions or suggestions for Charmhub-hosted libraries that should be ported to the monorepo.
Ops
- Resolved approach for generating YAML from Python config and action classes, and worked on adjusting the PR to reflect that (#1975).
- Continued work on exposing a low-level API for the Juju hook commands (#2019).
- Worked on resolving an issue with ops[testing] where the behaviour when an exception occurs differs depending on whether testing.Context is used as a context manager or not (#1926).
- Worked on refactoring secret handling in Ops in order to fix the issue where multiple handles to the same secret could get out of sync, another where secret description doesn’t behave correctly in unit tests, and ultimately to streamline secret processing. The Juju bugs have been fixed in 3.5.5 and 3.6.0 and we can consider removing the work-arounds.
Charming
- Fix in Juju to allow the credential-get hook command to work on Kubernetes models. This should be available from Juju version 3.6.10.
- Released charmlibs-apt 1.0.0! This is a bug-for-bug move of the code from operator-libs-linux.v0.apt (release 0.19) to the charmlibs monorepo (#108). The Charmhub-hosted apt library is now deprecated in favour of charmlibs-apt, and will have its documentation updated accordingly. This process will be repeated for charmlibs-snap next pulse.
- For charmlibs-pathops, added support for the missing_ok argument of the unlink method to ContainerPath (#149) (released in 1.1.1).
- Dropped Python 3.8 support from charmlibs-pathops (#123) (released in 1.2.0) – the minimum supported version is now 3.10. Security and critical bug fixes will be provided for the 1.1 series for 1 year as needed.
- Completed work on CI for the charmlibs monorepo to allow charmers to own the review and release process for their libraries, including:
- Adding CODEOWNERS (#133).
- Allowing libraries to customise how their functional tests are run in CI (#115).
- Adding Juju integration test customisation (#117, #141).
- Supporting separate dependency groups for different test suites (#116).
- Building all the libraries’ reference docs correctly even if the libraries have clashing dependencies (#152).
- Releasing libraries automatically from main when they have a version bump (#118).
- Prepared the kubernetes and machine Charmcraft profiles to use Jubilant for integration tests, coming in Charmcraft 4 (#2430).
Pebble
- Fixed a websocket connection timeout issue (#691). This bug doesn’t have a big impact circle because there has already been a fix on the ops side (#1247).
- Start investigating an issue where tasks are rerun after daemon restart (related: #587).
Documentation
- Work continues to document the reconciler pattern.