Charm Tech pulses 2026#10 and 2026#11

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-get endpoint pass-through (#2499)
  • Backported 3.x fixes to 2.23 (#2492)
  • Tightened testing teardown:
    • Clean up resources in testing.Context (#2506)
    • Close SQLite storage in Harness.cleanup() (#2507)
    • Wait on ExecProcess after expected TypeError (#2509)
  • Fixed mixed-format JUJU_HOOK_NAME for hyphenated endpoints (#2515)
  • Worked on integration tests for ops.hookcmds (#2520)
  • Worked on restoring sys.breakpointhook on _Manager teardown (#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.deploy removes ./ from relative pathlib.Path objects, causing Juju to raise ambiguous name error (#317)
    • Added a change log to Jubilant (#319)
  • Fixed a bug where Jubilant unit tests failed with snap Juju installed (#330)
  • Added Jubilant show_unit method (#308, contributed by @gbeuzeboc)
  • Added docstrings for the public classes in pytest-jubilant (#68)
  • Concierge 1.6.0 release (v1.6.0):
    • Allow specifying Juju snap revision (#185)
    • Added astral-uv to dev preset (#195)
  • Concierge: bumped Go to 1.26.4 (#204)
  • Worked on adding a version subcommand in Concierge, aliased to --version (#197)
  • Charmhub public listing review:
    • Fixed the icon check to check for inclusion in the packed charm not just the file (#104)
    • Improved SECURITY.md (#105)
    • Added pip-audit + CycloneDX SBOM (#106)
    • Replaced requests with urllib.request (#119)
  • 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.PathLike in PathProtocol.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.json for 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.md to 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.pathops functional 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_fail security events on client-cert verify failure (#874)
  • Fix client retry after context cancellation bug (#876)

Documentation

1 Like