Repository navigation
This release updates @boringnode/bus to 0.10, which makes the Redis and MQTT transports more reliable.
Bug Fixes
All of these come from @boringnode/bus 0.10 (40424db).
A failing transport handler no longer crashes the process
When a handler for a transport message threw or rejected, the error went unhandled and could take the process down. It is now caught and logged with the boringnode:bus debug logger, and the other handlers still run.
More reliable Redis transport
- Messages queued while Redis was down are now sent when the connection comes back, including with Redis Cluster. Before, they could stay stuck in the retry queue.
- Connection errors no longer print
[ioredis] Unhandled error eventto stderr. - Disconnecting while Redis is reconnecting no longer throws or keeps the process alive.
More reliable MQTT transport
The transport no longer forces a reconnection on every bus, so brokers stop seeing repeated CONNECTs and session takeovers, and operations no longer fail at random with "Connection closed".
Type-checking without Redis or MQTT installed
Transmit now imports its bus types from @boringnode/bus/types/core. Projects with skipLibCheck: false no longer need ioredis or mqtt installed just to type-check.
Upgrade notes
- If you use the MQTT transport,
mqttmust now be >= 5.16.0. That version fixes six advisories where a malicious broker could crash the client. - The Redis transport now also supports
ioredis6.
Dependencies
@boringnode/bus^0.10.0 and@poppinss/utils^7.1.2 (safeStringifyis 4 to 6x faster) (40424db)
Tooling
- Development now uses Node 24. The supported runtime is unchanged (
>=20.6). - Updated to eslint 10, TypeScript 6, release-it 21, c8 12 and del-cli 8. Removed the unused tsup dependency (
59f61de)
Full Changelog: v0.4.1...v0.4.2