Skip to content

Version Packages - #4678

Merged
mweststrate merged 1 commit into
mainfrom
changeset-release/main
Jul 30, 2026
Merged

Version Packages#4678
mweststrate merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

mobx@7.0.0

Major Changes

  • 1926c69f53168619d688f348aa587e8f3ae579ae #4671 Thanks @kubk! - Release MobX 7, mobx-react-lite 5, and mobx-react 10.

    Bundle sizes are down: ESM prod 17.02 KiB gzip -> 13.96 KiB gzip; a minimal tree-shaken example is 10.32 KiB gzip now.

    It removes long-deprecated compatibility paths and keeps the React bindings split between mobx-react-lite for function components and mobx-react for class-component support.

    MobX 7

    MobX 7 is a cleanup release focused on the modern runtime and decorator model.

    • MobX now always uses Proxy-backed observable objects and arrays. The ES5/non-proxy fallback has been removed.
    • configure({ useProxies: ... }) is no longer supported.
    • { proxy: false } options for observable, observable.object, and observable.array are no longer supported.
    • Legacy decorators are no longer supported.
    • Namespaced annotation and comparer properties now use named exports to reduce bundle size:
    Removed API Replacement
    observable.ref observableRef
    observable.shallow observableShallow
    observable.deep observableDeep
    observable.struct observableStruct
    computed.struct computedStruct
    action.bound actionBound
    flow.bound flowBound
    comparer.identity compareIdentity
    comparer.default compareDefault
    comparer.structural compareStructural
    comparer.shallow compareShallow
    • The public trace API and its related runtime support have been removed. Use toJS, getDependencyTree, getObserverTree, spy or mobx-log package for debugging.

    mobx-react-lite 5 and mobx-react 10

    mobx-react-lite 5 and mobx-react 10 require MobX 7 and React 18 or later.

    mobx-react-lite remains the function-component package. mobx-react remains a thin wrapper around mobx-react-lite that adds class component and Stage 3 @observer class decorator support.

    • Keep function-component imports on mobx-react-lite if you do not need class component support.
    • Use mobx-react when you need class components or @observer class decorators.
    • mobx-react-lite supports function components and forwardRef; mobx-react delegates function components to mobx-react-lite and handles classes itself.
    • Remove React batching imports, including the stale React Native batching deep import. React 18+ renderers handle batching.

    The recommended public React binding surface for both packages is:

    • observer
    • Observer
    • useLocalObservable
    • enableStaticRendering
    • isUsingStaticRendering

    The following APIs have been removed from the React binding packages:

    • 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>.
    • useLocalStore; use useLocalObservable.
    • useAsObservableSource; synchronize values from props into local observable state explicitly.
    • useStaticRendering; use enableStaticRendering.
    • observerBatching, isObserverBatched, batchingForReactDom, batchingOptOut, and batchingForReactNative; remove these imports because React 18+ renderers handle batching.
    • Deprecated observer(fn, { forwardRef: true }); pass an already-created React.forwardRef(...) component to observer instead.
    • Legacy function-component contextTypes handling.

Patch Changes

mobx-react@10.0.0

Major Changes

  • 1926c69f53168619d688f348aa587e8f3ae579ae #4671 Thanks @kubk! - Release MobX 7, mobx-react-lite 5, and mobx-react 10.

    Bundle sizes are down: ESM prod 17.02 KiB gzip -> 13.96 KiB gzip; a minimal tree-shaken example is 10.32 KiB gzip now.

    It removes long-deprecated compatibility paths and keeps the React bindings split between mobx-react-lite for function components and mobx-react for class-component support.

    MobX 7

    MobX 7 is a cleanup release focused on the modern runtime and decorator model.

    • MobX now always uses Proxy-backed observable objects and arrays. The ES5/non-proxy fallback has been removed.
    • configure({ useProxies: ... }) is no longer supported.
    • { proxy: false } options for observable, observable.object, and observable.array are no longer supported.
    • Legacy decorators are no longer supported.
    • Namespaced annotation and comparer properties now use named exports to reduce bundle size:
    Removed API Replacement
    observable.ref observableRef
    observable.shallow observableShallow
    observable.deep observableDeep
    observable.struct observableStruct
    computed.struct computedStruct
    action.bound actionBound
    flow.bound flowBound
    comparer.identity compareIdentity
    comparer.default compareDefault
    comparer.structural compareStructural
    comparer.shallow compareShallow
    • The public trace API and its related runtime support have been removed. Use toJS, getDependencyTree, getObserverTree, spy or mobx-log package for debugging.

    mobx-react-lite 5 and mobx-react 10

    mobx-react-lite 5 and mobx-react 10 require MobX 7 and React 18 or later.

    mobx-react-lite remains the function-component package. mobx-react remains a thin wrapper around mobx-react-lite that adds class component and Stage 3 @observer class decorator support.

    • Keep function-component imports on mobx-react-lite if you do not need class component support.
    • Use mobx-react when you need class components or @observer class decorators.
    • mobx-react-lite supports function components and forwardRef; mobx-react delegates function components to mobx-react-lite and handles classes itself.
    • Remove React batching imports, including the stale React Native batching deep import. React 18+ renderers handle batching.

    The recommended public React binding surface for both packages is:

    • observer
    • Observer
    • useLocalObservable
    • enableStaticRendering
    • isUsingStaticRendering

    The following APIs have been removed from the React binding packages:

    • 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>.
    • useLocalStore; use useLocalObservable.
    • useAsObservableSource; synchronize values from props into local observable state explicitly.
    • useStaticRendering; use enableStaticRendering.
    • observerBatching, isObserverBatched, batchingForReactDom, batchingOptOut, and batchingForReactNative; remove these imports because React 18+ renderers handle batching.
    • Deprecated observer(fn, { forwardRef: true }); pass an already-created React.forwardRef(...) component to observer instead.
    • Legacy function-component contextTypes handling.

Patch Changes

mobx-react-lite@5.0.0

Major Changes

  • 1926c69f53168619d688f348aa587e8f3ae579ae #4671 Thanks @kubk! - Release MobX 7, mobx-react-lite 5, and mobx-react 10.

    Bundle sizes are down: ESM prod 17.02 KiB gzip -> 13.96 KiB gzip; a minimal tree-shaken example is 10.32 KiB gzip now.

    It removes long-deprecated compatibility paths and keeps the React bindings split between mobx-react-lite for function components and mobx-react for class-component support.

    MobX 7

    MobX 7 is a cleanup release focused on the modern runtime and decorator model.

    • MobX now always uses Proxy-backed observable objects and arrays. The ES5/non-proxy fallback has been removed.
    • configure({ useProxies: ... }) is no longer supported.
    • { proxy: false } options for observable, observable.object, and observable.array are no longer supported.
    • Legacy decorators are no longer supported.
    • Namespaced annotation and comparer properties now use named exports to reduce bundle size:
    Removed API Replacement
    observable.ref observableRef
    observable.shallow observableShallow
    observable.deep observableDeep
    observable.struct observableStruct
    computed.struct computedStruct
    action.bound actionBound
    flow.bound flowBound
    comparer.identity compareIdentity
    comparer.default compareDefault
    comparer.structural compareStructural
    comparer.shallow compareShallow
    • The public trace API and its related runtime support have been removed. Use toJS, getDependencyTree, getObserverTree, spy or mobx-log package for debugging.

    mobx-react-lite 5 and mobx-react 10

    mobx-react-lite 5 and mobx-react 10 require MobX 7 and React 18 or later.

    mobx-react-lite remains the function-component package. mobx-react remains a thin wrapper around mobx-react-lite that adds class component and Stage 3 @observer class decorator support.

    • Keep function-component imports on mobx-react-lite if you do not need class component support.
    • Use mobx-react when you need class components or @observer class decorators.
    • mobx-react-lite supports function components and forwardRef; mobx-react delegates function components to mobx-react-lite and handles classes itself.
    • Remove React batching imports, including the stale React Native batching deep import. React 18+ renderers handle batching.

    The recommended public React binding surface for both packages is:

    • observer
    • Observer
    • useLocalObservable
    • enableStaticRendering
    • isUsingStaticRendering

    The following APIs have been removed from the React binding packages:

    • 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>.
    • useLocalStore; use useLocalObservable.
    • useAsObservableSource; synchronize values from props into local observable state explicitly.
    • useStaticRendering; use enableStaticRendering.
    • observerBatching, isObserverBatched, batchingForReactDom, batchingOptOut, and batchingForReactNative; remove these imports because React 18+ renderers handle batching.
    • Deprecated observer(fn, { forwardRef: true }); pass an already-created React.forwardRef(...) component to observer instead.
    • Legacy function-component contextTypes handling.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 482664d to cf8f05f Compare June 25, 2026 07:32
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from cf8f05f to 437a7d6 Compare July 10, 2026 06:34
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 437a7d6 to 2295b55 Compare July 20, 2026 03:54
@github-actions
github-actions Bot force-pushed the changeset-release/main branch 2 times, most recently from b2a1424 to 39fa40b Compare July 30, 2026 19:16
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 39fa40b to f4721aa Compare July 30, 2026 19:20
@mweststrate
mweststrate merged commit c9f2e3f into main Jul 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant