Repository navigation
Releases: GSTJ/react-native-magic-toast
Release list
Release 1.2.2
1.2.2 (2026-09-21)
Bug Fixes
Security
- security: patch audit findings (#24) (2c88fa3)
- security: patch current dependency advisories (#27) (04a1731)
- security: patch js-yaml CVE-2026-84375 (#29) (76a873a), references #209 #210
- security: patch September dependency advisories (#28) (3767811)
Chores
- deps: exempt first-party magic packages (#26) (358a0c4)
- deps: quarantine new package releases (#25) (fcb8a29)
Documentation
Release 1.2.1
Release 1.2.0
Release 1.1.0
Release 1.0.1
1.0.1 (2026-07-29)
Bug Fixes
- build: keep the tests out of the published tarball (#16) (16c66de)
- changelog: write CHANGELOG.md and backfill the history (#12) (da02bd7)
- deps: bump magic-oxlint-config to 2.0.0 and drop the eslint tree (#15) (d17640f)
- example: fire the first toast below MagicModalPortal (9e0b7d5)
- resolve the oxlint diagnostics the new preset reports (3f741f4)
Code Refactoring
Chores
- config: drop the workarounds 1.1.0 made unnecessary (093e79b)
- config: wire up oxlint, oxfmt and magic-tsconfig (ed20226)
- deps: bump the magic packages to 1.1.0 (8fbfa76)
- deps: bump the magic packages to 1.2.0 (0037ba8)
- deps: move to pnpm and swap eslint/prettier for the magic stack (58b06a7)
- example: resolve the library through the workspace link (#10) (6a356bf)
Documentation
v1.0.0
The toast API is untouched. magicToast.alert, magicToast.success, magicToast.show, Toast.Container and Toast.Message all take the same arguments and behave the same as on 0.4.0. Upgrading is a version bump plus the peer moves below.
The break is react-native-magic-modal going 4 -> 7 underneath.
Requirements
| Package | Minimum |
|---|---|
| react | 18 |
| react-native | 0.81 |
| react-native-reanimated | 4 |
| react-native-gesture-handler | 2.20 |
| react-native-worklets | 0.5 |
| react-native-safe-area-context | 5 |
npx expo install react-native-magic-toast react-native-magic-modal react-native-safe-area-context react-native-reanimated react-native-gesture-handler react-native-workletsIf react-native-magic-modal is in your own package.json, move it to ^7.0.0 in the same commit. Two majors resolving side by side gives you two copies of the module. The <MagicModalPortal /> you render then isn't the one this library pushes toasts into, and toasts stop appearing.
New architecture
Reanimated 4 dropped the legacy architecture and the Paper renderer with it. RN 0.82 took the newArchEnabled toggle out entirely, so 0.82 and later are already on it. On 0.81 with the toggle still off, flipping it is the work in this upgrade.
Reanimated 4 also needs its Babel plugin. babel-preset-expo adds it for you. Outside Expo, put react-native-worklets/plugin last in the plugin list in babel.config.js.
Return values
magicToast.show(...) returns magic-modal's return value directly, and its promise follows v7's shape. v4 resolved the bare value passed to hide(). v7 resolves { reason }, or { reason: MagicModalHideReason.INTENTIONAL_HIDE, data } when the modal was closed through hide(). If you import the enum from magic-modal directly, it's MagicModalHideReason now, not MagicModalHideTypes, and the members lost their -ED suffix (BACKDROP_PRESS, SWIPE_COMPLETE, BACK_BUTTON_PRESS).
Older apps
react-native-magic-toast@0.4.x still tracks magic-modal v4 if your app can't move to RN 0.81 yet.
Verified
Library and example app rebuilt on Expo SDK 55 (RN 0.83.6, React 19.2, Reanimated 4.3.1, worklets 0.8.3):
yarn lint clean
yarn typescript clean
yarn prepare bob build, clean
yarn test 2 passed, rendering through a real MagicModalPortal on Reanimated 4
example/
tsc --noEmit clean
expo export --platform ios bundled
expo export --platform android bundled
expo export --platform web bundled
No simulator or device runs.
v0.4.0
Clears the high-severity nth-check ReDoS that reached consumers through react-native-svg@12 > css-select@4.
react-native-svg moves ^12.1.1 -> ^15.0.0. It's a hard dependency here rather than a peer, so if you're pinning svg 12 you can end up with a duplicate native module. That's why this is a minor and not a patch.
yarn audit --groups dependencies is clean after the bump.