Change Log: 0.3.2

Released: June 10, 2026

Focus

0.3.2 turns the refactored 0.3.x core into a tighter release contract.

This release is about hardening what already exists:

  • explicit public boundaries
  • preservation-backed runtime behavior
  • clearer plugin contracts
  • stronger diagnostics, security posture, and performance guardrails

Highlights

Public API boundaries are now frozen more deliberately

Agora now treats the package facades as explicit release contracts:

  • agora
  • agora.core
  • agora.core.<domain>
  • agora.core.runtime as an advanced public facade

Architecture tests now fail when public surfaces drift, when compatibility exports are undocumented, or when plugin-facing code leaks into underscore support modules by accident.

Runtime guarantees are preservation-backed end to end

The 0.3.x runtime guarantee matrix is now fully preservation-backed. This covers lane selection, ordering, checkpoint cadence, DLQ routing, retry boundaries, shutdown/cancellation behavior, and process/buffered invariants.

This release is therefore much safer for continued internal refactor: the code can keep moving without reopening ambiguity about preserved runtime semantics.

Observability and health diagnostics are safer

Built-in health payloads now redact and truncate last_error before exposing it through metrics/health surfaces.

Plugin diagnostics are also clearer:

  • agora plugins list now shows broken entry-points explicitly
  • entry-point key collisions with built-ins/public keys are surfaced as diagnostics instead of silently winning by import order
  • agora doctor is more explicit about its trust boundary during config import and pipeline-build checks

Plugin contract cleanup is now reflected in code, tests, and docs

The official agora-etl-plugins bundle and the incubating plugin packages now follow the updated contract more consistently:

  • MANIFEST compatibility binds to AGORA_PLUGIN_MANIFEST_VERSION instead of hard-coded stale values
  • package metadata points at the real agora-etl core artifact
  • plugin contract tests now fail when plugin packages depend on internal Agora support modules or on legacy module paths that now have public replacements

For 0.3.x, two advanced public plugin modules remain intentionally supported:

  • agora.core.registry for MANIFEST compatibility binding
  • agora.core.retry for shared retry helpers

Benchmark coverage now has a concrete maintenance budget

0.3.2 records the first post-refactor benchmark baseline and a simple perf budget for future maintenance work.

The benchmark split now covers:

  • file-backed lane throughput
  • runtime orchestration-heavy shapes such as buffered execution, sink fan-out, and observability overhead
  • Arrow process transport microbenchmarks

This makes it possible to catch hot-path regressions intentionally instead of relying on anecdotal before/after impressions.


Upgrade notes

For builders

  • Prefer agora and documented agora.core.<domain> facades over file-level modules.
  • Avoid underscore-prefixed imports even if a compatibility export still exists in 0.3.x.

For plugin authors

  • Bind MANIFEST compatibility from agora.core.registry.
  • Prefer agora.state, agora.runner, and the documented plugin-contract modules in docs/plugins/contract.md.
  • Treat agora.core.registry and agora.core.retry as advanced public plugin contracts in 0.3.x.

Deprecated aliases retained through 0.3.x

  • agora.core.runtime.RecordDeliveryCoordinator
  • agora.core.sink._WRITE_OK
  • agora.core.context._NOOP_SPAN_SCOPE
  • agora.core.context._BoundLogger
  • agora.core.context._NoopSpanScope
  • agora.core.context._PipelineSpanScope
  • agora.core.context._normalize_trace_value

These remain compatibility bridges in 0.3.x and are still targeted for removal in 0.4.0.


Validation

Release validation for 0.3.2 includes:

  • public surface / architecture tests
  • preservation coverage for runtime guarantees and plugin contract behavior
  • package-local CI for agora-etl-plugins
  • benchmark baselines for the canonical Phase 5 scenarios

Packaging

  • Bumped agora-etl to 0.3.2.