website/docs/introduction/v5-summary.mdx
import { ExternalLinks } from '@site/src/components/ExternalLinks' import { InternalLinks } from '@site/src/components/InternalLinks'
Version 5.0.0 introduces several new features and improvements:
memoize and argsMemoize functions, alongside their respective options (memoizeOptions and argsMemoizeOptions).memoize and argsMemoize within its options object.weakMapMemoize and unstable_autotrackMemoize.memoize and argsMemoize into the <InternalLinks.OutputSelectorFields /> for debugging purposes.Type instantiation is excessively deep and possibly infinite error.dependencyRecomputations and resetDependencyRecomputations to the <InternalLinks.OutputSelectorFields />. These additions provide greater control and insight over <InternalLinks.InputSelectors />, complementing the new argsMemoize API.inputStabilityCheck, a development tool that runs the <InternalLinks.InputSelectors /> twice using the same arguments and triggers a warning If they return differing results for the same call.identityFunctionCheck, a development tool that checks to see if the <InternalLinks.ResultFunction /> is an <ExternalLinks.IdentityFunction /> .These updates aim to enhance flexibility, performance, and developer experience. For detailed usage and examples, refer to the updated documentation sections for each feature.
createSelector to weakMapMemoize.defaultMemoize to lruMemoize as it is no longer the default memoization function passed to createSelector.defaultEqualityCheck to referenceEqualityCheck.DefaultMemoizeOptions to LruMemoizeOptions.ParametricSelector and OutputParametricSelector types. Their functionalities are now integrated into Selector and OutputSelector respectively, which inherently support additional parameters.