Skip to content

Releases: GSTJ/react-native-magic-toast

Release 1.2.2

Choose a tag to compare

@GSTJ GSTJ released this 21 Sep 12:19

1.2.2 (2026-09-21)

Bug Fixes

  • release: make chore(security) commits bump a patch release (#30) (566f779), references #27 #28 #29

Security

Chores

  • deps: exempt first-party magic packages (#26) (358a0c4)
  • deps: quarantine new package releases (#25) (fcb8a29)

Documentation

  • readme: rewrite with real numbers and an R2 hero (#22) (1fd5d4f)

Release 1.2.1

Choose a tag to compare

@GSTJ GSTJ released this 31 Jul 22:30

1.2.1 (2026-07-31)

Bug Fixes

  • packaging: add an exports map and drop the phantom native entries (#21) (af56907)

Code Refactoring

  • toast: draw the icons with views and drop react-native-svg (#20) (191029c)

Release 1.2.0

Choose a tag to compare

@GSTJ GSTJ released this 31 Jul 21:37

1.2.0 (2026-07-31)

Features

  • toast: export the Toast building blocks (#19) (c32f15e)

Release 1.1.0

Choose a tag to compare

@GSTJ GSTJ released this 31 Jul 21:31

1.1.0 (2026-07-31)

Features

  • toast: move onto magic-modal and pass the handle through (#18) (75338e6)

Release 1.0.1

Choose a tag to compare

@GSTJ GSTJ released this 29 Jul 00:12

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

  • kebab-case filenames (0dedd82)
  • use type aliases instead of interfaces (94d877a)

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

  • add a security policy (#13) (b773b6f)
  • oxlint: stop citing --print-config as the reason for extendConfig (964168f)
  • say when MagicModalPortal is ready to take a toast (ca110d9)

v1.0.0

Choose a tag to compare

@GSTJ GSTJ released this 26 Jul 14:30

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-worklets

If 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

Choose a tag to compare

@GSTJ GSTJ released this 25 Jul 20:18
485269d

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.

Release 0.3.1

Choose a tag to compare

@GSTJ GSTJ released this 08 Jun 19:47
a5bd063

0.3.1 (2024-06-08)

Release 0.2.2

Choose a tag to compare

@GSTJ GSTJ released this 26 May 19:41
3b80f3f

0.2.2 (2024-05-26)

Release 0.2.1

Choose a tag to compare

@GSTJ GSTJ released this 21 Aug 14:26

0.2.1 (2023-08-21)

Bug Fixes