Skip to content

Release v0.4.0

Latest

Choose a tag to compare

@thanhtham010891 thanhtham010891 released this 16 Jun 15:42

agora-etl-rs becomes Agora's optional
acceleration substrate for measured core hot paths while Python keeps runtime
semantics.

Added

  • agora.core.acceleration as the single optional acceleration boundary.
  • DeliveryConfig(acceleration_mode=...) with auto, off, and required.
  • Declarative [performance] config with acceleration and profile.
  • Acceleration status in Pipeline.explain(), run summaries, tracing
    attributes, agora run --plan, agora doctor, and agora doctor --json.
  • Performance profiles that resolve to explicit runtime settings while keeping
    manual overrides authoritative.
  • Benchmark matrix runner for 0.3.3 baseline, pure Python 0.4.0, and
    Rust-enabled 0.4.0 runs.

Changed

  • Runtime modules no longer import agora_rs directly.
  • Existing Rust primitives are selected through the acceleration facade.
  • Direct flush, Rust prefetch, checkpoint state, metrics accumulator, and linear
    batch buffer decisions are visible in runtime metrics.
  • throughput profile is the opt-in gate for Rust source prefetch outside
    buffered lanes until release benchmarks justify broader activation.

Removed

  • agora.core.runtime.RecordDeliveryCoordinator
  • agora.core.sink._WRITE_OK
  • agora.core.context compatibility exports:
    _NOOP_SPAN_SCOPE, _BoundLogger, _NoopSpanScope, _PipelineSpanScope,
    and _normalize_trace_value
  • Legacy source/sink data-plane bool flag inference
  • BaseSource.runtime_counters() compatibility shim

Release Rule

Performance claims must be backed by benchmark JSON. Candidate Rust expansions,
including JSONL batch encoding and Arrow IPC transport, remain benchmark-gated.