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

  • Hashery appears actively maintained, with recent updates on 2026-09-14 (v3.0.2) and 2026-07-10 (v3.0.1), and an overall steady stream of versioned work through 2026.
  • The apparent update cadence is roughly every 1 to 2 months in 2026 (v3.0.2 in mid September, v3.0.1 in early July, v3.0.0 in early June), suggesting an active development line rather than maintenance mode.

AI summary generated

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

Recent updates

  • v3.0.2

    v3.0.2 is primarily a dependency and supply chain hardening release, upgrading the runtime dependency hookified to 3.0.3 plus updating multiple toolchain and code quality dev dependencies. The GitHub workflows and repo security posture were also significantly strengthened (pinned actions, Safe Chain bootstrapping, Aikido release scanning, Socket Firewall wrapping, and stage-only npm publishing). No application/library source code changes are visible in the provided diff.

    Security
  • 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