# What changed in bitcoin-address-validation

> 4 changes in bitcoin-address-validation 3 to 4 from its official release notes, upgrade guides and advisories: 3 breaking, 1 security. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/bitcoin-address-validation/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## bitcoin-address-validation 4

### Breaking changes

- Valid witness addresses with an unrecognized type now return AddressType.unknown; exhaustive switches and mappings must handle it, and applications requiring a recognized payment type should check type as well as validate. (4.0.0) — [release notes](https://github.com/ruigomeseu/bitcoin-address-validation/blob/ec4a7ca6dcc052d99dbeae10567eec52d348e483/CHANGELOG.md#400)
- Casting destinations are checked at runtime and must be regtest or signet. (4.0.0) — [release notes](https://github.com/ruigomeseu/bitcoin-address-validation/blob/ec4a7ca6dcc052d99dbeae10567eec52d348e483/CHANGELOG.md#400)
- Node.js users now require Node.js 18.8 or newer. (4.0.0) — [release notes](https://github.com/ruigomeseu/bitcoin-address-validation/blob/ec4a7ca6dcc052d99dbeae10567eec52d348e483/CHANGELOG.md#400)

## bitcoin-address-validation 3

### Security

- Address inputs longer than 500 characters are rejected before decoding to prevent excessive CPU usage. (3.0.1) — [release notes](https://github.com/ruigomeseu/bitcoin-address-validation/blob/ec4a7ca6dcc052d99dbeae10567eec52d348e483/CHANGELOG.md#301)
