This is a bumper edition with releases for Ops, Jubilant, Concierge, and Pebble!
One particularly notable update for charm library maintainers - please be aware of the upcoming deprecation of the Charmhub-hosted library machinery.
Ops
- Ops 3.7.1 release (v3.7.1): Fixed
relation-getendpoint pass-through (#2499) - Backported 3.x fixes to 2.23 (#2492)
- Tightened testing teardown:
- Fixed mixed-format
JUJU_HOOK_NAMEfor hyphenated endpoints (#2515) - Worked on integration tests for
ops.hookcmds(#2520) - Worked on restoring
sys.breakpointhookon_Managerteardown (#2542) - Started work on a spec for adding multiple-charm state transition testing support in Ops
Charming
- Jubilant 1.10.0 release (v1.10.0):
- Added support for
juju add-machine(#305, contributed by @Snehil-Shah) - Fixed an issue where Jubilant’s
juju.deployremoves./from relativepathlib.Pathobjects, causing Juju to raise ambiguous name error (#317) - Added a change log to Jubilant (#319)
- Added support for
- Fixed a bug where Jubilant unit tests failed with snap Juju installed (#330)
- Added Jubilant
show_unitmethod (#308, contributed by @gbeuzeboc) - Added docstrings for the public classes in pytest-jubilant (#68)
- Concierge 1.6.0 release (v1.6.0):
- Concierge: bumped Go to 1.26.4 (#204)
- Worked on adding a
versionsubcommand in Concierge, aliased to--version(#197) - Charmhub public listing review:
- For the api_demo_server used in the Ops K8s tutorial: added pip-audit (#46) and a SECURITY.md (#53). We’re working on converting the container image to a rock (#45)
- Started development on Hyrum, a ‘productised’ version of super-tox
- Submitted a Juju PR to provide clearer resource-confinement error messages (#22527) and a PR for user-secret lifecycle docs extension (#22529)
- Submitted PRs for improved error messages in crafting tools (#1086, #1082)
- Audited the charming CLIs for agent use, and started work on evaluating a set of charming skills against agent driven charm development
- @tony+meyer attended the inaugural Ubuntu New Zealand User Group meetup, and gave a short presentation on Juju
Charmlibs
- Switched to SPDX license expression in maintainer-owned
pyproject.toml(#502) - Added support for
str | os.PathLikeinPathProtocol.glob/LocalPath.glob(#505) - Added library tags to the charmlibs metadata based on a clustering study conducted by Design. These are exported in
interfaces/index.jsonfor future Charmhub consumption, and rendered in the general library and interface library indexes (#513) - Documented the upcoming deprecation of the Charmhub-hosted library machinery (#491)
- Added team labels to the charmlibs monorepo to help filter and track issue ownership across teams. To ensure that teams can track issues for their libraries, we now open a Jira ticket in the team’s preferred board at issue triage time.
- Added CI upload of Charmcraft logs after integration tests (#456)
- Expanded contributor docs, including adding an
AGENTS.mdto the monorepo (#489) - Fixed a longstanding bug with the custom docs build extension -- the right-hand-side table of contents is now correctly rendered in library reference pages (#495)
- Added Workshop config and instructions to make functional tests easier to run locally (#500)
- Fixed
charmlibs.pathopsfunctional tests that broke locally on systems with NSS-managed users/groups (#488)
Pebble
- Pebble v1.31.0 release (v1.31.0 + v1.31.0-fips): Structured CLI output, check state fix, overlord race fix
- Specification drafting for Otel Proxy for logs, metrics, traces and profiles (charm-tech#7)
- Added logging of
authz_failsecurity events on client-cert verify failure (#874) - Fix client retry after context cancellation bug (#876)
Documentation
- Documented
pebble enterin the Pebble API reference (#867) - Improved the how-to guide about managing files in containers (#2470)
- Documented how to add an icon to a charm (#2451, contributed by @gcomneno)
- Updated the docs on using
ops.testing.Contextas a context manager (#2477) - Added COS Lite integration tests and
juju_setupmarkers to the K8s tutorial (#2478, #2695) - Fixed small issues in the K8s tutorial (#2540, contributed by @iyamg)
- Fixed use of
Container.pullacross the docs to avoid leaking files (#2508) - Worked on a how-to guide for debugging Kubernetes charms (#2498)
- Worked on user-secret observer lifecycle and
secret-changedsemantics docs (#2522) - Worked on adding 26.04 to the tool versions page and marking Ops 2.23 as LTS (#2517)
- Worked on expanding the Jubilant security page (#332)
- Fixed the error message provided in testing when secret permissions are missing (#2510)
- Enabled support for
llms.txtin most docs (#322, #2495, #866)