# What changed in @react-native-async-storage/async-storage

> 13 changes in @react-native-async-storage/async-storage 3 from its official release notes, upgrade guides and advisories: 9 breaking. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/@react-native-async-storage/async-storage/

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

## @react-native-async-storage/async-storage 3

### Breaking changes

- Providing null for a key now throws an error instead of crashing the app. (3.0.3) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.3)
- Android requires an extra installation step. (3.0.0) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.0)
- Brownfield access to storage no longer uses Apple's delegate. (3.0.0) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.0)
- Batch operation methods formerly named with the multi* prefix have been renamed and their API updated. (3.0.0) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.0)
- The callback-based API is no longer available. (3.0.0) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.0)
- The flag to opt out from iCloud backup has been dropped; iCloud backup is disabled by default. (3.0.0) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.0)
- This release is missing native artifacts; the notes advise against using it and say 3.0.1 contains a fix. (3.0.0) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.0)
- Create a storage instance before using Async Storage. (3.0.0) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.0)
- The useAsyncStorage hook has been removed; it will be introduced later. (3.0.0) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.0)

### Behavior and default changes

- The default export is a singleton storage that uses v2/v1 storage to ease transition. (3.0.0) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.0)

### Tooling

- The Shared Storage artifact is published to Maven Central, eliminating an extra step in Android installation. (3.1.0) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.1.0)
- A Jest mock is included for use when testing applications with AsyncStorage. (3.0.2) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.2)

### Fixes and other changes

- Apple platforms now correctly handle “other” errors. (3.0.3) — [release notes](https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage/async-storage%403.0.3)
