All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Entries for unreleased work are not written here directly. Each issue drops a
fragment in changelog.d/; the fragments are assembled
into a version section at release. See that README for the format and for when a
change warrants an entry at all.
[0.1.0] 2026-08-22
First release: the OpenTelemetry bridge for the
statifier statechart engine, built on
its public :telemetry events only. A statechart macrostep is a span;
effect and trace telemetry events are span events on it; each macrostep
roots its own trace, stitched to its neighbors with span links. The design
is recorded upstream in statifier-ex's docs/opentelemetry.md and
st-ADR-0062.
Added
OpentelemetryStatifier.setup/1, which attaches the bridge to statifier's session telemetry and emits astatifier.macrostepspan per macrostep.- Records the effect, trace,
:interpret,:unroutable, and:halttelemetry events as span events on the open macrostep span, and links each macrostep span to the session's previous macrostep and (for an invoked child's:initializemacrostep) to the invoking parent's open span. Datamodel values are excluded unlesssetup/1receivesrecord_datamodel_values: true. - Cleans up the span table over the session lifecycle:
:terminateremoves the session's rows (ending a still-open macrostep span with an error status), and a periodic sweep does the same for sessions whose process died without a:terminate, so a brutal kill orphans no open span and leaks no rows. Withtrace: falsethe bridge degrades to macrostep-grained spans with effect-level span events, no configuration needed.