Releases: ArchiveBox/abxbus
Releases · ArchiveBox/abxbus
2.4.7
2.4.6
Full Changelog: 2.4.2...2.4.6
2.4.2
What's Changed
- 🐍 Published the Python package as
abxbus==2.4.2and finalized renamedRepository,Issue Tracker,PyPI, andNPMmetadata inpyproject.toml. - 📚 Refreshed the docs and homepage copy around concurrency, parent/child flows, return values, and quickstart examples to match the renamed package surfaces.
- ✅ Tightened TS-side release metadata and
EventResultcoverage while aligning the docs site, README badges, and DeepWiki links withArchiveBox/abxbus. - 🔗 This is mainly a Python/docs/metadata release, with npm staying on
2.4.1while the docs and package identity catch up.
pip install abxbus==2.4.2Docs: Home · Quickstart · Parent-Child Tracking
Full Changelog: 2.4.1...2.4.2
2.4.1
What's Changed
- 🔁 Completed the
bubus→abxbusrename across Python and TypeScript package names, modules, docs, examples, CI, tests, bridges, and UI assets. - 📦 Added dual-runtime TS packaging with
requireexports plus newbuild:cjsandbuild:cjs:typesscripts alongside the existing ESM build. - 🧯 Tightened
done()/first()/ timeout behavior so the first handler error is re-raised consistently during nested execution. - 🛡️ Added Python recursion-depth option
max_handler_recursion_depthand safer Node runtime loading forAsyncLocalStorageand optional bridge dependencies.
const { EventBus } = require("abxbus");
const bus = new EventBus();Docs: Quickstart · Bridges · Timeouts
Full Changelog: 2.3.3...2.4.1
2.3.3
What's Changed
- 📦 Added CommonJS package outputs via
build:cjs,build:cjs:types, and newrequireexports inbubus-ts/package.json. - 🧯 Tightened
done({ raise_if_any })/first()error propagation, saferAsyncLocalStorageloading, and clearer optional-dependency detection in TS. - 🧪 Expanded TS base-event, timeout, error-handling, typed-result, and Python-side
tests/test_eventbus.pycoverage while moving the UI app underexamples/ui/.
const { EventBus } = require("bubus");Docs: Supported Runtimes · Timeouts · Quickstart
Full Changelog: 2.3.2...2.3.3
2.3.2
What's Changed
- 📦 Bumped both package manifests to
2.3.2and upgraded the TSuuiddependency to^13.0.0. - 🔗 Simplified package metadata by keeping canonical
homepage,bugs, andrepositoryfields inpackage.jsonand moving the extra links into the README. - 🧱 Preserved the broader cross-runtime parity work from the
2.2.x/2.3.1series while keeping2.3.2itself focused on packaging polish.
npm install bubus@2.3.2Docs: Quickstart · Development
Full Changelog: 2.3.1...2.3.2
2.3.1
What's Changed
- ✨ Added TS-side
eventCompleted()andeventResultUpdate()to separate queue-order waiting from immediatedone()semantics and support seededevent_results. - 🔁 Expanded retry integration coverage around
@retry,event_slow_timeout,event_handler_timeout, andevent_handler_slow_timeoutacross both runtimes. - 🌳 Tightened
BaseEventruntime state soevent_created_at,event_started_at, andevent_completed_atround-trip more consistently.
const seeded = event.eventResultUpdate(handler_entry, { eventbus: bus, status: "pending" });
await event.eventCompleted();Docs: Timeouts · Return Value Handling · Parent-Child Tracking
Full Changelog: 2.2.1...2.3.1
2.2.1
What's Changed
- 🧱 Added explicit per-event execution knobs
event_handler_completion,event_handler_timeout, andevent_handler_slow_timeoutin both Python and TypeScript event models. - 🗂️ Promoted
EventHistoryto a first-class API in both runtimes and documented it indocs/api/eventhistory.mdx. - 🔌 Brought middleware parity and coverage forward with
middlewares=normalization plus deterministicon_event_change()andon_event_result_change()hooks in TS. - 🧪 Expanded the test matrix around
BaseEvent,EventBus,EventResult, middleware ordering, locking, debounce, timeout, and cross-runtime roundtrips.
bus = EventBus(event_handler_completion="first", event_handler_slow_timeout=5.0)Docs: EventHistory API · EventBusMiddleware API · Timeouts
Full Changelog: 2.1.0...2.2.1
2.1.0
What's Changed
- 📚 Launched the Mintlify docs site with dedicated pages for
EventBus,BaseEvent,EventHandler, concurrency, bridges, middleware, and operations. - 🔁 Promoted
emit()as the primary dispatch verb across docs/examples while tighteningevent_path,event_started_at, andevent_completed_atsemantics across runtimes. - 🧱 Split the Python core into
base_event.pyand the newevent_handler.py, makingEventHandlera first-class documented API. - ✨ Added TypeScript
events_suck.wrap(...)/events_suck.make_events(...)helpers and broader cross-runtime payload/serialization coverage.
const event = bus.emit(CreateUserEvent({ email: "someuser@example.com" }));Docs: EventHandler API · Forwarding Between Buses · Supported Runtimes
Full Changelog: 2.0.0...2.1.0
2.0.0
What's Changed
- 🔌 Added bridge classes
HTTPEventBridge,SocketEventBridge,JSONLEventBridge,SQLiteEventBridge,PostgresEventBridge,RedisEventBridge, andNATSEventBridgeacross Python and TypeScript. - ⚙️ Added bus options
max_history_drop,event_handler_completion, andevent_handler_slow_timeout, plus per-eventevent_version,event_handler_timeout,event_handler_slow_timeout, andevent_handler_completion. - 🧱 Split core runtime into
event_bus.py,retry.py,lock_manager.py, andjsonschema.pywhile expanding cross-runtime roundtrip and bridge-worker coverage. - 🧪 Added performance scenarios, bridge roundtrip tests, handler-completion tests, timeout-default coverage, and schema/result validation across both runtimes.
bridge = RedisEventBridge("redis://redis@localhost:6379")
bus.on("*", bridge.emit)Docs: Bridges · Timeouts · Backpressure
Full Changelog: 1.8.1...2.0.0