# What changed in react-toastify

> 99 changes in react-toastify 6 to 11 from its official release notes, upgrade guides and advisories: 36 breaking, 1 security, 31 new APIs and options. Each one cited. Sources checked 2026-10-31. HTML: https://unstale.sh/npm/react-toastify/

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

## react-toastify 11

### Breaking changes

- On toast.dismiss(), onChange fires status: 'removed' synchronously instead of after the exit animation; double onClose is also guarded against. (11.1.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.1.0)
- This option is no longer needed. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- This option is no longer needed. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- Enables a custom progress bar and removes the built-in progress bar while retaining features such as autoClose and pause handling. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- This function has been removed because it is no longer needed. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- The callback no longer receives children and now receives an optional reason: true for user dismissal or a string supplied through closeToast. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- The onClose callback is no longer delayed until the exit animation completes. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- The callback no longer receives children; its new signature takes no arguments. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- This option has been removed to reduce the API surface; progress bar customization no longer relies on inline style. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- The minimal CSS export has been removed. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- Scss is no longer used; the library now uses CSS. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- The hook is no longer exposed. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- The hook is no longer exposed. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)

### Security

- ToastContainer accepts a nonce prop and applies it to the injected style tag for CSP support. (11.1.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.1.0)

### New APIs and options

- This ToastContainer prop appends the injected style tag to head instead of prepending it. (11.2.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.2.0)
- The new opt-in value auto follows the OS color scheme via prefers-color-scheme; the default remains light. (11.2.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.2.0)
- Passing false disables enter and exit animations on the container or per toast. (11.2.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.2.0)
- ToastContainer and toast accept ariaLabel for screen readers and testing. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- CloseButtonProps is now re-exported. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- Custom notification components can pass a reason to closeToast, allowing onClose to distinguish between actions. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- ToastContainer accepts a customizable keyboard shortcut matcher; the default Alt+T shortcut focuses the first visible notification for keyboard navigation. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- Custom notification components can receive isPaused to determine when to pause progress animation, including on hover or focus loss. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)

### Behavior and default changes

- The stylesheet is injected automatically, so applications no longer need to import it; the CSS file remains exported. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)

### Fixes and other changes

- The injected stylesheet is prepended to head again, allowing CSS variable overrides to work without !important. (11.2.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.2.0)
- The stacked container respects mobile 100vw again. (11.1.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.1.0)
- The progressbar role now includes aria-valuenow, aria-valuemin, and aria-valuemax. (11.1.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.1.0)
- Stacked scale is clamped at 0.5 to prevent zero or negative scale in deep stacks. (11.1.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.1.0)
- Releasing a touch drag no longer re-pauses the toast. (11.1.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.1.0)
- Vertical dragging now visually moves the toast because --y gets a unit. (11.1.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.1.0)
- The close button now uses absolute positioning so it does not interfere with notification content. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- The newestOnTop behavior has been fixed. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- Support for React 19 has been added. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)
- Toast elements have sensible default styling values that can be customized with CSS or associated CSS variables. (11.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v11.0.0)

## react-toastify 10

### Breaking changes

- The `closeOnClick` prop now defaults to `false` instead of `true`. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- The `draggable` prop now defaults to `touch`, so notifications are draggable only on touch devices by default. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- The `enableMultiContainer` prop has been removed; containers with an assigned id no longer need it. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- React 18 is now the minimum required version. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- The `toast.POSITION` constant has been removed. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- The `toast.TYPE` constant has been removed. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)

### New APIs and options

- Custom icon logic receives an `isLoading` field. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- Add the `stacked` prop to `ToastContainer` to enable stacked notifications. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- Dismiss all toasts in a given container, or dismiss a toast by id within a specific container. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- Limit an active-toast check to a specific container by passing its id. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- Pause notification timers programmatically, optionally targeting a toast by id or a container. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- Play notification timers programmatically, optionally targeting a toast by id or a container. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- Customize the opacity of the progress bar's background trail with this CSS variable. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)

### Fixes and other changes

- TypeScript correctly infers the content of notification data when it is provided. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- Fix notifications showing multiple times. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- Fix a memory leak that occurred while using multiple containers. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- Fix the `onClose` event triggering twice. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)
- Fix `ToastOptions` `className` overriding the `ToastContainer` `toastClassName` instead of appending to it. (10.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v10.0.0)

## react-toastify 9

### Breaking changes

- The toast.configure API was removed; it did not work with React context because it creates a new React tree. (9.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v9.0.0)
- The callback now receives a ToastItem with properties such as status, content, id, and data, instead of the number of displayed toasts and containerId. (9.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v9.0.0)

### New APIs and options

- A headless hook addon lets developers build a notification center on top of react-toastify. (9.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v9.0.0)

### Fixes and other changes

- Fixed a bug where a success toast on a promise did not disappear when the promise resolved too quickly. (9.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v9.0.0)
- Fixed generic result types for toast.promise when using a custom render method. (9.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v9.0.0)
- Fixed an issue where an updated toast sometimes had incorrect styles. (9.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v9.0.0)

## react-toastify 8

### Breaking changes

- The `toast.TYPE.DARK` constant is no longer available. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- The `.Toastify__toast--dark` CSS class is removed. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- The `.Toastify__toast--default` CSS class is removed. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- The `.Toastify__toast--error` CSS class is removed. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- The `.Toastify__toast--info` CSS class is removed. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- The `.Toastify__toast--success` CSS class is removed. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- The `.Toastify__toast--warning` CSS class is removed. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- The `dark` toast type is removed; use the `theme` option or `toast.dark` instead. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)

### New APIs and options

- Adds a `data` option for passing data to a notification without rendering a React component. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- Icons can be customized or disabled per toast or globally on `ToastContainer`; custom icons can be strings, components, or functions. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- Separates theme from notification type, with light, dark, and colored themes configurable globally or per notification; use `theme: "colored"` for the former type-based colors. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- Displays a loading notification that you can update yourself with `toast.update`. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- Accepts a promise and updates its notification when the promise resolves or fails, showing a spinner while it is pending. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)

### Behavior and default changes

- Switches styling to CSS variables, allowing developers to change colors such as the progress bar color. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)
- Notifications of type info, error, warning, and success display an icon by default. (8.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v8.0.0)

## react-toastify 7

### Breaking changes

- The duration parameter was removed; CSS animations now work out of the box. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)
- The dependency on react-transition-group was removed. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)
- The toast timer starts after you click on the toast. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)
- A toastId can no longer be reused. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)

### New APIs and options

- A way to load the CSS without a CSS loader was added. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)
- You can now specify the swipe direction. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)

### Behavior and default changes

- The border radius was increased slightly. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)
- CSS animations work out of the box. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)

### Fixes and other changes

- ID generation was changed. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)
- pauseOnFocusLoss is now applied on the first render. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)
- You can select text inside inputs while a toast is open. (7.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v7.0.0)

## react-toastify 6

### Breaking changes

- className now supports strings only. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- The react-transition-group upgrade affects custom transitions. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- React 16.8 is required because the release introduces hooks. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)

### New APIs and options

- ToastContainer can use containerId as its HTML id. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- A dark toast style is available. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- You can define inline styles on a toast. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- You can unsubscribe from the onChange event. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- You can limit the number of toasts displayed. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- A hook is exposed for creating your own Toast. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- A hook is exposed for creating your own ToastContainer. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- Toast can use toastId as its HTML id. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)

### Performance

- The bundle size is smaller. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)

### Fixes and other changes

- Center positioning is calculated with transform instead of a negative margin-left based on half the toast size. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- The close button icon was improved. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- Fixes toast progress styles not being used. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
- The library supports strict mode. (6.0.0) — [release notes](https://github.com/fkhadra/react-toastify/releases/tag/v6.0.0)
