Skip to content

Releases: ArchiveBox/abxbus

2.4.7

22 Mar 10:41
bbd2573

Choose a tag to compare

Full Changelog: 2.4.6...2.4.7

2.4.6

22 Mar 10:25
4517446

Choose a tag to compare

Full Changelog: 2.4.2...2.4.6

2.4.2

20 Mar 22:41
c0884f6

Choose a tag to compare

What's Changed

  • 🐍 Published the Python package as abxbus==2.4.2 and finalized renamed Repository, Issue Tracker, PyPI, and NPM metadata in pyproject.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 EventResult coverage while aligning the docs site, README badges, and DeepWiki links with ArchiveBox/abxbus.
  • 🔗 This is mainly a Python/docs/metadata release, with npm staying on 2.4.1 while the docs and package identity catch up.
pip install abxbus==2.4.2

Docs: Home · Quickstart · Parent-Child Tracking

Full Changelog: 2.4.1...2.4.2

2.4.1

20 Mar 11:12
2d6710d

Choose a tag to compare

What's Changed

  • 🔁 Completed the bubusabxbus rename across Python and TypeScript package names, modules, docs, examples, CI, tests, bridges, and UI assets.
  • 📦 Added dual-runtime TS packaging with require exports plus new build:cjs and build:cjs:types scripts 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_depth and safer Node runtime loading for AsyncLocalStorage and 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

20 Mar 22:41
bdffd9c

Choose a tag to compare

What's Changed

  • 📦 Added CommonJS package outputs via build:cjs, build:cjs:types, and new require exports in bubus-ts/package.json.
  • 🧯 Tightened done({ raise_if_any }) / first() error propagation, safer AsyncLocalStorage loading, and clearer optional-dependency detection in TS.
  • 🧪 Expanded TS base-event, timeout, error-handling, typed-result, and Python-side tests/test_eventbus.py coverage while moving the UI app under examples/ui/.
const { EventBus } = require("bubus");

Docs: Supported Runtimes · Timeouts · Quickstart

Full Changelog: 2.3.2...2.3.3

2.3.2

17 Feb 07:47
b95685c

Choose a tag to compare

What's Changed

  • 📦 Bumped both package manifests to 2.3.2 and upgraded the TS uuid dependency to ^13.0.0.
  • 🔗 Simplified package metadata by keeping canonical homepage, bugs, and repository fields in package.json and moving the extra links into the README.
  • 🧱 Preserved the broader cross-runtime parity work from the 2.2.x / 2.3.1 series while keeping 2.3.2 itself focused on packaging polish.
npm install bubus@2.3.2

Docs: Quickstart · Development

Full Changelog: 2.3.1...2.3.2

2.3.1

20 Mar 22:41
bf56f50

Choose a tag to compare

What's Changed

  • ✨ Added TS-side eventCompleted() and eventResultUpdate() to separate queue-order waiting from immediate done() semantics and support seeded event_results.
  • 🔁 Expanded retry integration coverage around @retry, event_slow_timeout, event_handler_timeout, and event_handler_slow_timeout across both runtimes.
  • 🌳 Tightened BaseEvent runtime state so event_created_at, event_started_at, and event_completed_at round-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

20 Mar 22:41
9cfbb34

Choose a tag to compare

What's Changed

  • 🧱 Added explicit per-event execution knobs event_handler_completion, event_handler_timeout, and event_handler_slow_timeout in both Python and TypeScript event models.
  • 🗂️ Promoted EventHistory to a first-class API in both runtimes and documented it in docs/api/eventhistory.mdx.
  • 🔌 Brought middleware parity and coverage forward with middlewares= normalization plus deterministic on_event_change() and on_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

20 Mar 22:41
400fe90

Choose a tag to compare

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 tightening event_path, event_started_at, and event_completed_at semantics across runtimes.
  • 🧱 Split the Python core into base_event.py and the new event_handler.py, making EventHandler a 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

20 Mar 22:41
0d70a74

Choose a tag to compare

What's Changed

  • 🔌 Added bridge classes HTTPEventBridge, SocketEventBridge, JSONLEventBridge, SQLiteEventBridge, PostgresEventBridge, RedisEventBridge, and NATSEventBridge across Python and TypeScript.
  • ⚙️ Added bus options max_history_drop, event_handler_completion, and event_handler_slow_timeout, plus per-event event_version, event_handler_timeout, event_handler_slow_timeout, and event_handler_completion.
  • 🧱 Split core runtime into event_bus.py, retry.py, lock_manager.py, and jsonschema.py while 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