v2.4.29
Highlights
This release rolls up everything shipped on main since the last published GitHub release, v2.4.15, through v2.4.29.
- OpenTelemetry tracing is now much more complete across runtimes. The OTEL middleware work tightened root span parenting, preserved nanosecond timing, aligned Python/TypeScript tracing behavior, added stronger TypeScript coverage, and documented the integration path for both runtimes.
- Optional integrations and package exports are cleaner. Root imports stay lightweight, peer-backed integrations stay opt-in, TypeScript now supports direct source imports via
abxbus/sourceandabxbus/source/*, and the runtime export surface is better aligned across Python and TypeScript. - Cross-runtime metadata/serialization got tighter. Event result serialization, handler naming, handler metadata, and optional export behavior were aligned so forwarded/rehydrated events behave more consistently between Python and TypeScript.
- Immediate execution docs now cover parallel fan-out. The RPC-style immediate execution page now shows how to combine
event_concurrency='parallel'with racing child events in both TypeScript and Python, and the pattern is covered by mirrored regression tests. - Python and TypeScript package versions are both bumped to
2.4.29.
Example Snippets
OTEL middleware setup
import { EventBus } from 'abxbus'
import { OtelTracingMiddleware } from 'abxbus/OtelTracingMiddleware'
const bus = new EventBus('AppBus', {
middlewares: [new OtelTracingMiddleware()],
})Immediate-execution parallel fan-out
const settled = await Promise.allSettled([
event.emit(SomeChildEvent1({})).done(),
event.emit(SomeChildEvent2({})).done(),
event.emit(SomeChildEvent3({})).done(),
])The Python equivalent is documented with asyncio.gather(..., return_exceptions=True) in the immediate-execution guide.
Resources
- OTEL middleware docs
- Immediate Execution (RPC-style)
- Parent-Child Tracking
- TypeScript OTEL implementation
- TypeScript optional-dependency/export coverage
- Python optional-integration import coverage
- Immediate execution Python regression coverage
- Immediate execution TypeScript regression coverage
- Full compare:
v2.4.15...v2.4.29
Validation
mainCI for3ad9fd0completed successfully:Dependency GraphRelease Statepre-commit-hookstest-pytest-ts
- Local packaging/build verification:
uv buildpnpm run build