Back to Explore

Yomguithereal/mnemonist

GitHub
2 updates · last 90 daysOpen source

Last release:

Mnemonist is a curated collection of data structures for JavaScript and TypeScript, aimed at being modular, performant, and easy to use with a consistent API. It includes common structures like heap, trie, and LRU caches, plus specialized options such as interval trees, KD-trees, suffix arrays, and probabilistic tools like Bloom filters.

Project status

  • The project appears actively maintained: the latest update was November 3, 2026, and the upstream repository was pushed November 4.
  • Update timing is irregular. Recent updates arrived in October and November 2026, following a gap of several months since April.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 0.40.7

    Version 0.40.7 fixes correctness issues in SparseMap, SparseQueueSet, MultiSet, BitSet, and BitVector. The code changes also correct BitVector iteration after shrinking and add regression tests for the affected edge cases.

    Breaking
  • 0.40.6

    v0.40.6 primarily fixes eviction reporting for `setpop` when the evicted key is falsy (0, '', false, etc.), and addresses deletion-related bugs in the `*WithDelete` cache variants. The code changes also reveal additional modifications outside the provided release notes, notably in `MultiSet` and the dev dependency tree.

  • 0.40.4

    Release v0.40.4 updates the TypeScript type declarations for `LRUMap.setpop` and `LRUCache.setpop`. The runtime JavaScript code does not appear to have changed in this diff, only the `.d.ts` typings and the package version/changelog.

    Breaking
  • 0.40.3

    Release v0.40.3 primarily updates the npm package metadata. The only functional metadata change is adding `sideEffects: false` to `package.json`, which can affect how bundlers treat the package during tree shaking.

    Breaking
  • 0.40.2

    Release v0.40.2 makes a TypeScript declaration fix for `BloomFilter.from`. The only functional change apparent from the diff is in the `.d.ts` file, aligning the type declaration with the expected static `from` factory usage.

  • 0.40.1

    Release v0.40.1 makes a targeted change to the TypeScript typings for SparseMap. The only functional change indicated by the diff is adding a missing constructor overload signature in sparse-map.d.ts, while package version metadata is bumped from 0.40.0 to 0.40.1.

  • 0.40.0

    v0.40.0 focuses on improving named export compatibility and TypeScript typings for Set operations. The provided diff mainly updates the TypeScript declaration file for the Set operations to accept ReadonlySet inputs, while also adjusting the intersection/union overload shape.

    Features
  • 0.40.0-rc1

    v0.40.0-rc1 adds an ESM entrypoint with named exports, and fixes missing CommonJS and TypeScript named exports for several Vector types, including PointerVector. It also resolves a CommonJS named export collision by renaming the Set export to set. The release notes cover these items, but the code diff shows additional packaging changes that may affect import paths beyond what is documented.

    BreakingFeatures
  • 0.39.8

    v0.39.8 focuses on small performance improvements to FixedDeque push and pop, and includes correctness fixes for some FixedDeque and CircularBuffer methods. The release notes also mention a TypeScript export fix for Float64Vector.

  • 0.39.7

    Version v0.39.7 makes small internal changes to LRU implementations and updates TypeScript declaration files. The provided release notes are empty, so the actual changes are only discoverable by inspecting the changelog and the code diff.

    Breaking
  • 0.39.6

    Release v0.39.6 primarily updates TypeScript type definitions for a few data structures (FibonacciHeap, StaticIntervalTree, Vector). No release notes were provided, but the changelog indicates these were type declaration fixes.

  • 0.39.5

    Release v0.39.5 updates the package version and adds TypeScript type declarations for the previously undocumented `utils/typed-arrays` module. The code diff indicates no runtime logic changes, only new `.d.ts` exports and version metadata updates.

    Features