MobX release notes, breaking changes, and upgrade notes.
Simple, scalable state management through reactive programming StackPulse turns upstream changelogs into scannable summaries with risky changes, deprecations, migration notes, and source links.
This major release introduces MobX 7, mobx-react-lite 5, and mobx-react 10, focusing on modern runtime and decorator model cleanup. It removes deprecated APIs, reduces bundle sizes, and requires MobX 7 and React 18 or later.
affected
Developers using MobX, mobx-react-lite, or mobx-react with older versions of MobX or React are affected.
action
Upgrade to MobX 7, mobx-react-lite 5, and mobx-react 10, and ensure React 18 or later is used.
release_signals
-ES5/non-proxy fallback has been removed.
-Legacy decorators are no longer supported.
-`configure({ useProxies: ... })` is no longer supported.
-`{ proxy: false }` options for `observable`, `observable.object`, and `observable.array` are no longer supported.
-The public `trace` API and its related runtime support have been removed.
!`Provider`, `inject`, and `MobXProviderContext`; use `React.createContext` directly.
!`disposeOnUnmount`; dispose reactions in `componentWillUnmount` or return cleanup functions from `useEffect`.
!`PropTypes`; use TypeScript or the regular `prop-types` package.
!`useObserver`; wrap components with `observer` or use `<Observer>`.
migration_steps5 steps
01Remove React batching imports, including the stale React Native batching deep import.
02Use `React.createContext` directly instead of `Provider`, `inject`, and `MobXProviderContext`.
03Dispose reactions in `componentWillUnmount` or return cleanup functions from `useEffect` instead of using `disposeOnUnmount`.
04Wrap components with `observer` or use `<Observer>` instead of `useObserver`.
05Use `useLocalObservable` instead of `useLocalStore`.
MobX 7 is a cleanup release focused on modern runtime and decorator model, removing legacy APIs and reducing bundle sizes. It requires React 18+ and drops support for non-Proxy fallbacks and legacy decorators.
affected
Users of MobX 6 or earlier, especially those using legacy decorators, non-Proxy fallbacks, or removed React binding APIs, are affected.
action
Upgrade to MobX 7 and update your code to use the new named exports and modern React binding APIs.
release_signals
-Removed ES5/non-proxy fallback; MobX now always uses Proxy-backed observable objects and arrays.
This release introduces MobX 7, mobx-react-lite 5, and mobx-react 10, focusing on modern runtime and decorator model cleanup. It removes deprecated compatibility paths, reduces bundle sizes, and requires MobX 7 and React 18 or later.
affected
Users of MobX, mobx-react-lite, and mobx-react who rely on deprecated APIs, ES5/non-proxy fallback, or legacy decorators are affected.
action
Update your code to use the new named exports and APIs, and ensure compatibility with MobX 7 and React 18 or later.
release_signals
-Removed ES5/non-proxy fallback; `configure({ useProxies: ... })` and `{ proxy: false }` options are no longer supported.
-
mobx@6.16.1mediumdeprecationfeatureJun 8, 2026
mobx@6.16.1
This patch release fixes a Stage 3 `@computed` override issue and removes outdated Flow typechecker support artifacts.
affected
Developers using `@computed` overrides with `super` delegation or relying on Flow typechecker artifacts are affected.
action
Update to version 6.16.1 to resolve the `@computed` override issue and clean up outdated artifacts.
+Recommended public React binding surface includes `observer`, `Observer`, `useLocalObservable`, `enableStaticRendering`, and `isUsingStaticRendering`.
migration_steps5 steps
01Use `React.createContext` directly instead of `Provider`, `inject`, and `MobXProviderContext`.
02Dispose reactions in `componentWillUnmount` or return cleanup functions from `useEffect` instead of using `disposeOnUnmount`.
03Use `useLocalObservable` instead of `useLocalStore`.
04Synchronize values from props into local observable state explicitly instead of using `useAsObservableSource`.
05Use `enableStaticRendering` instead of `useStaticRendering`.