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.
This release introduces lazy initialization for `@computed` and `@observable accessor` decorators, significantly reducing memory usage and construction time for unused properties. It also fixes a regression with `isComputedProp` and adds `getOrInsert` methods to `ObservableMap` for better compatibility with ESNext `Map` typings.
affected
Developers using `@computed` or `@observable accessor` decorators in large-scale applications will benefit from reduced memory usage and faster construction times.
action
Upgrade to version 6.16.0 to take advantage of the performance improvements and compatibility enhancements.
release_signals
+Lazy initialization for `@computed` decorator, reducing memory and construction time
+Lazy initialization for `@observable accessor` decorator, further optimizing memory and construction time
+
mobx-react@9.2.2lowfeatureMay 25, 2026
mobx-react@9.2.2
This release addresses a minor issue related to Babel-generated React version parsing output to avoid Rolldown invalid PURE annotation warnings.
affected
Developers using Babel with Rolldown may encounter fewer warnings related to PURE annotations.
action
Update to version 9.2.2 to resolve Rolldown PURE annotation warnings.
+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`.