Back to Explore

jaredwray/hashery

GitHub
2 updates · last 90 days1 watchersOpen source

Last release:

Hashery is a JavaScript/TypeScript object hashing utility that works in both browsers and Node.js, using the WebCrypto API for SHA-256, SHA-384, and SHA-512. It also provides synchronous non-cryptographic hashes (such as djb2, FNV1, Murmur, and CRC32), with deterministic output, optional custom serialization, and helpers like “hash to number” for consistent number generation.

Project status

  • Actively maintained: GitHub updates are recent, with the latest update on 2026-07-10 (v3.0.1), and follow-on updates as recently as the prior month (v3.0.0 on 2026-06-10).
  • Update cadence: Apparent short-term cadence of about 1 month between v3.0.0 and v3.0.1. Earlier in 2026 there were updates roughly every 1 to 2 months (e.g., v2.0.0 on 2026-04-08, v3.0.0 on 2026-06-10).

AI summary generated

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

Recent updates

  • v3.0.1

    v3.0.1 is described as a housekeeping patch with documentation updates and dependency/tooling refreshes only. The release notes explicitly state there are no library code changes, but they do include a v2 to v3 migration guide update in the README.

    Breaking
  • v3.0.0

    v3.0.0 primarily modernizes the project toolchain, switching to pnpm 11 via corepack and raising the minimum supported Node.js version to 22.18. The only runtime-impacting library change indicated by the diff is upgrading the dependency hookified from 2.x to 3.0.0; the rest of the changes are build, CI, and documentation/tooling upgrades.

    Breaking
  • v2.0.0

    v2.0.0 primarily upgrades underlying dependencies and the build pipeline. The release notes call out the hookified upgrade as breaking, but they do not spell out the concrete Hashery API changes that result from it.

    Breaking
  • v1.5.1

    v1.5.1 primarily updates the transitive dependency hookified from v1.14.x to v1.15.0. The only other changes are documentation badge URL updates in README.md, and the package version bump to 1.5.1.

  • v1.5.0

    v1.5.0 adds support for using hash providers directly, introduces an Agents-related feature, and updates benchmarking and documentation tooling. It also fixes hook behavior for synchronous hashing and adds/adjusts hook execution so hooks can affect outputs more consistently.

    Features
  • v1.4.0

    v1.4.0 adds a new 'warn' event that fires when an invalid or unknown hash algorithm is requested, and the library falls back to a default algorithm instead of failing in that case. The release also bumps several dev/tooling dependencies, updates CI to test Node.js 24, and adds a new benchmark comparing Hashery Web Crypto performance with Node's built-in crypto.

    Features
  • v1.3.0

    v1.3.0 adds a built-in FIFO cache to reuse computed hash results and includes additional benchmarking improvements (sync/async coverage and preloading fake data). It also adjusts package export definitions to be more robust for ESM and CommonJS consumers. The code change introduces new public caching APIs and changes runtime behavior by default.

    Features
  • v1.2.0

    v1.2.0 adds new synchronous hashing APIs, including a configurable default synchronous algorithm via `defaultAlgorithmSync`. It also introduces `toHashSync` and `toNumberSync` to support fast, non-WebCrypto hashing for algorithms like djb2, fnv1, murmer, and crc32. The release notes only mention these new features, but the code diff also includes provider and build pipeline changes.

    Features
  • v1.1.0

    v1.1.0 introduces option objects for both Hashery.toHash and Hashery.toNumber, and adds a Hashery.defaultAlgorithm setting that is used when no algorithm is provided per-call. It also adds hash truncation support for toHash via a maxLength option. The README and tests were updated to use the new option-object calling style.

    Features
  • v1.0.0

    v1.0.0 adds a substantial set of new hashing capabilities, including new provider support (with Web Crypto), additional hash algorithms, and conversion helpers like toHash and toNumber. It also expands configuration surface with parse and stringify options/properties, and introduces constructor support, hooks, and additional documentation badges.

    Features