Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: reduxjs/react-redux
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v8.0.0-beta.2
Choose a base ref
...
head repository: reduxjs/react-redux
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v8.0.0-beta.3
Choose a head ref
  • 11 commits
  • 9 files changed
  • 4 contributors

Commits on Dec 23, 2021

  1. Configuration menu
    Copy the full SHA
    4dc875e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    45e5709 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e1f2bd7 View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2021

  1. Update FUNDING.yml

    markerikson authored Dec 31, 2021
    Configuration menu
    Copy the full SHA
    df40769 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2022

  1. Configuration menu
    Copy the full SHA
    e18feeb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    422c869 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2022

  1. Configuration menu
    Copy the full SHA
    87c5621 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2022

  1. Switch back to Subscription in useSelector to fix unsubscribe perf

    The Subscription impl originally used an array of listeners just
    like the actual Redux store, but in #1523 we changed it to be a
    linked list to fix perf issues. The use of `indexOf+splice` caused
    a quadratic cost to unmounting many components.
    
    In v8, I originally dropped use of `Subscription` to potentially
    save on bundle size. However, `Provider` still uses `Subscription`,
    so that will always be in the bundle.
    
    For this issue, a user pointed out that directly subscribing to the
    store brought back the original quadratic unsubscription behavior,
    which I've confirmed locally.
    
    Swapping `store.subscribe` for `subscription.addNestedSub` fixes
    that issue.
    
    I've added a unit test that mounts and unmounts a massive tree and
    measures the elapsed time. There's a distinct difference between
    the "correct" and quadratic behavior. Weirdly, there's also a big
    diff in "correct" time between React 18, and 17 + the "compat" entry
    point, and I have no idea why.  It's not as bad as the quadratic
    time, but it's still pretty expensive.
    
    I've written the test to set an acceptable max unmount time based on
    which React version we're running against, with some buffer added.
    markerikson committed Feb 5, 2022
    Configuration menu
    Copy the full SHA
    43d1cc6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a30e8b4 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2022

  1. Configuration menu
    Copy the full SHA
    921b440 View commit details
    Browse the repository at this point in the history
  2. Release 8.0.0-beta.3

    markerikson committed Feb 6, 2022
    Configuration menu
    Copy the full SHA
    2e18eae View commit details
    Browse the repository at this point in the history
Loading