Changelog

A smaller core with stronger evidence.

Release notes keep GitHub source and npm registry milestones explicit while migration guidance stays on its own focused page.

6.1.1 · 2026-08-23

Honor the declared validator dependency under consumer conflicts

The release resolves strong-type through the package boundary while preserving one Node/browser source.

Resolution

  • Bare strong-type import selects event-pubsub's nested exact 2.0.0 before a conflicting consumer root.
  • Bundlers may use the explicit browser entry; native browsers select the same source through an import map.
  • Unbundled native ESM requires no build step, with normal and scoped-conflict maps documented.

Evidence

  • Packed Node consumers poison root strong-type 1.1.0 and prove nested 2.0.0 executes through ESM and CommonJS.
  • Packed real-Chrome consumers execute both maps, and Rollup 4.62.5 with node-resolve 16.0.3 bundles the same conflict fixture.
  • 131 shared checks include 12 Given/When/Then workflows resolved through the bare package map in Chrome.

6.1.0 · 2026-08-21

Restore the original package contract and share one source across module systems

Published to npm and GitHub from the same verified source commit.

Runtime

  • Direct CommonJS require() and ESM import load the same source on Node 22.12+.
  • strong-type 2.0.0 restored as the sole production dependency.
  • Original sibling-package ../strong-type/index.js shim preserved.
  • One unified null-prototype registry with its wildcard under the real Symbol key.
  • Per-registration {handler, once} state without mutating user functions.
  • Live dispatch arrays, linear duplicate removal, and constant-time reset.
  • Delegated validation restored; invalid-input TypeError text can differ from 6.0.0.

Evidence

  • 119 unique checks across five focused suites.
  • Node and real-Chrome execution from a package-shaped staged tree.
  • Packed ESM/CommonJS parity smoke at the exact Node 22.12.0 floor.
  • copyfiles remains absent.

6.0.0 · 2026-08-21

Modern event dispatch, native coverage, and engineer documentation

Published as the verified GitHub source release. At that milestone npm latest remained 5.0.3; 6.1.0 later became the registry release.

Runtime

  • Optimized packed listener records and dispatch hot paths.
  • Safe prototype-like event names.
  • Reentrant-safe one-shot removal.
  • Isolated list snapshots and consistent fluent returns.
  • Zero production dependencies.

Evidence

  • 110 unique checks across five focused suites.
  • Independent Node and real-Chrome native V8 coverage.
  • Validated package smoke and cross-platform Node matrix.
  • Execution-latency charts with raw schema v2 benchmark evidence.
  • Twenty-one-page GitHub Pages documentation and robust live demos.

5.0.3 · 2020-11-26

Prior npm release

The stable 5.x package added browser-oriented ESM examples and the earlier vanilla-test checks. The c8 workflow was added later on the repository branch.

Historical lines

1.x through 4.x

Earlier branches remain available in Git history and tags. Version 6 keeps the recognizable API while formalizing behavior that was previously implicit.