---
title: "@noble/hashes Breaking Changes on npm | Since.dev"
description: "What each @noble/hashes release removed, renamed or changed: 12 breaking changes in 1 version on npm, each with its source."
canonical_url: https://since.dev/packages/npm/@noble/hashes
last_updated: 2025-08-25
---

# @noble/hashes breaking changes

Every breaking API change we have recorded in @noble/hashes on npm: 12 breaking changes in 1 version. Below are its newest version, removals and renames first, each with its source.

Newest change August 25, 2025

## 2.0.0

12 breaking changes, first published August 25, 2025.

- **Removed** `crypto`  

The internal crypto module was removed; use the built-in WebCrypto instead. [github.com](https://github.com/paulmillr/noble-hashes/releases/tag/2.0.0)
- **Renamed** `_assert`  

The \_assert helper was moved into utils.js, so imports must point there. [github.com](https://github.com/paulmillr/noble-hashes/releases/tag/2.0.0)
- **Renamed** `@noble.hashes.sha3`  

All module imports now need the .js extension, so update import paths such as sha3 to sha3.js. [github.com](https://github.com/paulmillr/noble-hashes/releases/tag/2.0.0)
- **Renamed** `blake2b`  

The blake2b module was merged into blake2.js, so imports must point there. [github.com](https://github.com/paulmillr/noble-hashes/releases/tag/2.0.0)
- **Renamed** `blake2s`  

The blake2s module was merged into blake2.js, so imports must point there. [github.com](https://github.com/paulmillr/noble-hashes/releases/tag/2.0.0)
- **Renamed** `md5`  

The md5 module was moved into legacy.js, so imports must point there. [github.com](https://github.com/paulmillr/noble-hashes/releases/tag/2.0.0)
- **Renamed** `ripemd160`  

The ripemd160 module was moved into legacy.js, so imports must point there. [github.com](https://github.com/paulmillr/noble-hashes/releases/tag/2.0.0)
- **Renamed** `sha1`  

The sha1 module was moved into legacy.js, so imports must point there. [github.com](https://github.com/paulmillr/noble-hashes/releases/tag/2.0.0)
- **Renamed** `sha256`  

The sha256 module was merged into sha2.js, so imports must point there. [github.com](https://github.com/paulmillr/noble-hashes/releases/tag/2.0.0)
- **Renamed** `sha512`  

The sha512 module was merged into sha2.js, so imports must point there. [github.com](https://github.com/paulmillr/noble-hashes/releases/tag/2.0.0)

And 2 more in this version.

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
