New: your coding agent can read the release notes before it upgrades. Set up the MCP server →
npm
Small, synchronous publish/subscribe events for Node.js plus bundled and unbundled browsers.
Last release 20 days ago
24 Aug 2026
Ships unpredictably
gaps range from 1 weeks to 5.7 years
Some releases are documented
notes for 7 of 25 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
25 releases · first in 2014
event-pubsub 6.1.1 fixes package-boundary resolution for strong-type and makes bundled and no-bundler browser support explicit.
[Roshi's Codex PRIME]
event-pubsub 6.1.1 fixes package-boundary resolution for strong-type and makes bundled and no-bundler browser support explicit.
Commit: 3831260
npm integrity: sha512-08nRrPDOAI5QtM/iQRVIs9DiWyFiyG8VCKf/4i71xQAurXm07exshjSY80wSHJMsHPw9cpUxzJPpXjMyHeBTZw==
npm shasum: 7554ac981c3b630ad319a993bdad3ebfbd70d89c
CI: https://github.com/RIAEvangelist/event-pubsub/actions/runs/32689936749
../strong-type/index.js import with the bare strong-type package name so Node selects event-pubsub's declared nested exact dependency under a root version conflict.index.js source as the explicit browser entry and made bundled plus no-build unbundled support explicit, including normal and conflict-scoped import maps.strong-type 1.1.0 at the consumer root, poisons that copy, instruments event-pubsub's nested 2.0.0, and proves both ESM and CommonJS execute the nested validator.event-pubsub and strong-type names through explicit maps.npm run test:behavioral command.One column per quarter.
Restored strong-type 2.0.0 as the sole production dependency while preserving the package-shaped Node and unbundled-browser include shim.
[Roshi's Codex PRIME]
strong-type 2.0.0 as the sole production dependency while preserving the package-shaped Node and unbundled-browser include shim.Symbol.for('event-pubsub-all').{handler, once} records, removing each one-shot registration before invocation without mutating user functions.* wildcard removal, linear duplicate removal, and constant-time registry reset.require('event-pubsub') support while retaining one native ESM source for Node and browsers on Node.js 22.12 or newer.latest: [email protected]sha512-FEMlhTxwqGM0hztTixG6FhVFXqp7Eq1ltk5mSreK6Mhy3xWWpLAzEUR6OMvMdNqT3jgSxA8JDhnhyAG3X4Xy7Q==[email protected]copyfiles is absent from the runtime and development dependency trees.Documentation · Benchmarks · Playground · CI
Published to npm and GitHub from the same verified source commit.
Added direct CommonJS require('event-pubsub') support while keeping one native ESM implementation for both module systems.
Restored strong-type 2.0.0 as the sole production dependency and preserved the original package-shaped ../strong-type/index.js Node/browser shim.
Kept wildcard and typed registrations together in one null-prototype registry, with the real wildcard stored under Symbol.for('event-pubsub-all').
Moved one-shot state from user functions into per-registration {handler, once} records and removed each one-shot registration before invocation.
Restored delegated public validation; invalid-input TypeError messages can differ from the direct checks in 6.0.0.
Restored live-array dispatch behavior while making duplicate removal linear and registry reset constant-time.
Set the production and development floor to Node.js 22.12.0, where synchronous ESM can be loaded directly through require() without a duplicate build.
Expanded the shared Node/Chrome inventory to 119 cases, including mixed once/persistent handlers, live mutation, strict wildcard removal, stale cleanup, and throwing-handler regressions.
Kept copyfiles out of the runtime and development dependency trees.
ES6+ with cleaned up npm install and digital ocean app static site for tests and example hosting
ES6+ with cleaned up npm install and digital ocean app static site for tests and example hosting
Earlier release lines remain available in Git tags and historical branches.
Nothing published for this version
Nothing published for this version
Nothing published for this version
@vale981 and I added support for .once and passing once to .on or .subscribe
@vale981 and I added support for .once and passing once to .on or .subscribe
Nothing published for this version
fixes ES6 apply vs call issue from #10 thanks @mrvini
v4.2.2 Compare # Choose a tag to compare
v4.2.2
Compare
Better fix for #7 thanks to @whdahl
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →