Skip to content

Releases: albe/node-event-storage

v1.2.0 Raw EventStreams

27 May 18:59
13cec6b

Choose a tag to compare

Breaking changes:

  • scanConsumers() now returns parsed consumer descriptors ({ name, stream, identifier }) instead of filename strings.
  • Stream/type names produced via typeAccessor are validated more strictly; invalid names (for example with whitespace) now fail fast.

New in 1.2:

  • Raw EventStreams (raw=true) across stream/category/query APIs, emitting NDJSON Buffer chunks for zero-deserialization transport paths.
  • Raw predicates and object matchers for byte-level filtering, plus fixes for NDJSON/raw behavior in EventStream and JoinEventStream.
  • Read-path performance and correctness improvements (readRange, merge/backwards iteration fixes, index sync optimization, partition identifier caching).
  • Consumer lifecycle improvements (in-memory registry lookup, progress events).

v1.1.0 DCB

10 May 15:27

Choose a tag to compare

What's Changed

  • Skip reindexing when commit() creates a new write stream by @Copilot in #300
  • feat: O(1) secondary-index dispatch via discriminant lookup table + LRU partition fd pool by @Copilot in #302
  • Support hierarchical slash-separated stream names alongside existing dash-separated category streams by @Copilot in #301
  • feat: DCB support via CommitCondition API, query() improvements, and typeAccessor string path by @Copilot in #304
  • feat(Storage): async partition + index scan in open() with 'opened' event and callback hook by @Copilot in #303

Full Changelog: v1.0.0...v1.1.0

v1.0.0 Switch to ESM

02 Apr 14:44
911d58d

Choose a tag to compare

This only contains a shift from old CJS to ESM exports. It is otherwise functionally equivalent to 0.9.1

v0.9.1 Fix npm publish workflow

01 Apr 15:10
0dd3bc0

Choose a tag to compare

This is just a workflow release. No functional changes.

v0.9.0 Full auto repair

01 Apr 10:55
785e4ae

Choose a tag to compare

This release now contains full crash recovery and repairs corrupted files, brings lagging indexes up to sync and guarantees commits are only written in full.
The repair behavior is tested with a stress test writing to storage in a tight loop and artificially crashing the process. An upper bound on potential data loss is guaranteed and only depends on write buffer size, hence is configurable.

The documentation has received an overhaul and is available at https://node-event-storage.readthedocs.io/en/latest/

This release also drops official support for nodejs < 18, though it should still be functional.

This project is now considered production ready.

The next release will be a breaking change, moving the code base to ESM.

Full change log:
v0.8.0...v0.9.0

v0.8.0

01 Apr 10:53
95a0730

Choose a tag to compare

What's Changed

Full Changelog: v0.7.2...v0.8.0

Fix missing utils in package

27 Feb 14:39
1f00011

Choose a tag to compare

Fix missing index.js in package

27 Feb 14:29
943a397

Choose a tag to compare

Read-Only mode and improved file format

27 Jun 00:12

Choose a tag to compare

This release is a breaking change, since the file format of partitions was changed.

Consumer state

10 Aug 17:42

Choose a tag to compare

  • Consumers can store state with exactly-once semantics
  • Node 6 no longer supported
  • dependency version updates