Repository navigation
2.23.6: backport fixes from 3.x
2.23 is the LTS series for Ops, and this release brings it up to date with the bug fixes made in the 3.x series through to the end of September.
Relation.load() now decodes only the fields that your data class uses. Before, loading a unit databag into a data class failed on the keys that Juju sets itself, such as ingress-address. Additionally, Pydantic dataclasses created with Pydantic versions before 2.11 are now properly detected as Pydantic dataclasses.
When a destination rejects tracing data, the tracing exporter now says which destination it was, and it no longer logs a traceback for it.
In ops.testing, converting an unknown status by name no longer raises a TypeError.
The ops_tracing.vendor.otlp_json package is now the private ops_tracing._otlp_json module. vendor was never intended for public use, but this is technically a breaking change and any charms that were using vendor will need to be updated to stop doing so.
Changelog
Fixes
Cherry-picked recent fixes from main into the 2.23-maintenance branch (#2789), including:
- Only decode fields used by the data class in
Relation.load()(#2636) - Detect Pydantic dataclasses from before 2.11 when mapping aliases (#2768)
- In
ops.testing, don't pass a message when converting an unknown status by name (#2700) - Say which tracing destination rejected the data (#2714)
- Allow
IdentityDictto be assignedIdentityAccess(#2628)
Refactoring
- Move the otlp-json package to be a regular ops-tracing module (2.23) (#2788)
All commits: 2.23.5...2.23.6