ecies/js is a JavaScript and TypeScript library implementing the Elliptic Curve Integrated Encryption Scheme (ECIES) for secp256k1 and curve25519. It provides encrypt and decrypt functions plus PrivateKey and PublicKey APIs, useful for building client-side or server-side cryptographic messaging and key exchange flows across multiple platforms like browser, node, and React Native.
Project status
- Active maintenance: The project has recent versioned updates (v0.4.17 to v0.5.0 between 2026-01-27 and 2026-04-03) and the upstream last push was 2026-06-01, indicating ongoing development.
- Update cadence: Updates appear fairly steady, with about 1.5 months between v0.4.17 (2026-01-27) and v0.4.18 (2026-03-09), then about 3-3.5 weeks to v0.5.0 (2026-04-03).
AI summary generated Today
Recent updates
v0.5.0
2 months agov0.5.0 removes deprecated APIs and changes how configuration is applied during symmetric encryption. It also updates cryptographic utility internals to use an explicit curve configuration instead of defaulting from global state.
BreakingFeaturesv0.4.18
3 months agov0.4.18 mainly prepares for the upcoming v0.5.0 API behavior change around Buffer versus Uint8Array, while also bumping various dependencies. The code changes introduce runtime detection for Buffer availability and adjust TypeScript return types accordingly.
v0.4.17
4 months agov0.4.17 focuses on preparing the library for ESM usage and refactoring configuration handling. The release also bumps dependencies, including undici, and refreshes the runtime and browser examples to align with the updated APIs.
Featuresv0.4.16
7 months agov0.4.16 focuses on dependency/tooling upgrades (including Biome), preparation for upcoming noble-curves changes, and expanded elliptic curve test coverage. It also drops Node 18 support and updates README documentation for Deno runtime conditions. While most items are release-noted, there are several low-level cryptographic utility changes in src/utils/elliptic.ts that are not explicitly documented.
BreakingFeaturesv0.4.15
5/21/2025v0.4.15 mainly bumps dependencies (TypeScript, undici, and other packages) and revamps documentation. It also introduces configurable elliptic curves by threading an optional `curve` argument through key and utility construction logic.
Featuresv0.4.14
2/22/2025v0.4.14 primarily bumps dependencies (including undici) and updates developer-facing materials. The only non-dependency changes in the diff are documentation additions (DETAILS.md), README sponsor/docs linking, and test/CI configuration adjustments.
v0.4.13
12/19/2024v0.4.13 primarily bumps dependencies and revamps documentation. The core library change is a small refactor in `src/index.ts` where `encrypt` and `decrypt` now delegate to new internal helpers (`_encrypt` and `_decrypt`) that operate on `Uint8Array` before wrapping the result with `Buffer.from`.
v0.4.12
11/16/2024v0.4.12 release notes only mention adding PublicKey.toBytes. The actual diff shows a much larger refactor across the public API surface, internal key derivation and symmetric encryption plumbing, and package export structure, including new configuration-driven behavior that can change ciphertext format.
Featuresv0.3.21
11/9/2024v0.3.21 primarily revamps the test stack by migrating from Mocha/NYC to Vitest, and also bumps a few dependencies. The release notes do not call out any API surface changes beyond testing and dependency updates.
v0.4.11
11/5/2024v0.4.11 revamps the core ECIES primitives, including shared secret derivation (encapsulate/decapsulate), symmetric encryption/decryption, and elliptic utilities. It also adds browser compatibility tests and updates CI to run Playwright-based browser test suites.
Features