Charm Tech pulse 2025#17

Charm Tech had a full pulse of releases, reviews, and process improvements. We wrapped up key work on the security development lifecycle for the Charm SDK, delivered new releases across Ops, Jubilant, Concierge, and Pebble, and made progress on improving the charm listing process. Documentation has been updated to best practices: Jubilant and the uv plugin.

Pebble has gained the ability to send the service logs out in OpenTelemetry’s OTLP format, a feature that will improve workload observability, as charmers move from Loki to more open standards.

:heart: Please fill out the 25.10 Charming Survey, as your feedback steers where we put our effort next! :heart:

Ops

  • Released Ops 3.2.0, with minor improvements such as security event logging.
  • Finalised the SSDLC work for the “Charm SDK” for 25.10.
  • Worked on APIs for directly exposing the Juju hook commands and Juju Context (#1996, #2019).
  • Worked on moving accessing unit test side effects from the Context to the context manager (#2010).

Charming

Pebble

  • Released Pebble v1.24.0, including log forwarding support for the OpenTelemetry log format, security event logging, and minor bugfixes for pebble exec.
  • Release a RISC-V version of the Pebble snap (included in v1.24.0).
  • Fixed concurrent access to executions map for pebble exec (thanks Angel and Fred).
  • Created an action items doc based on Polar Signals’ performance analysis of Pebble. Includes what we will do (issues labeled “performance”) and what we won’t do.

Documentation

  • Ops documentation and example charms integration tests Jubilant now (#2000, #2004).
  • Worked on documentation that provides a centralised list of charming best practices, moves the “Charm Maturity” documentation from Juju to Ops, and explains the (new, upcoming) process for getting a charm publicly listed on Charmhub (#1989).
  • Contributed updates to the Charmcraft docs to clarify how to use the uv plugin (#2413).
  • Switched the Ops example charms to use formatting and linting that is consistent with charmcraft init, rather than the Ops codebase (#2008).
  • Switched the httpbin example charm to use the uv plugin when packing the charm and uv for testing the charm (#2011).