fast-deep-equal is a JavaScript library for fast deep equality checks, including value-based comparison for Date and RegExp. It also provides ES6 variants that support Map, Set, and typed arrays, and includes options aimed at comparing React elements.
Project status
- The repo shows the last upstream push on 2023-10-05, but the most recent documented
updatesin the provided summaries are from 2020-06 (v3.1.x), suggesting the project is quiet or in maintenance mode rather than actively evolving as of today (2026-06-09). - Apparent update cadence: heavier change activity in 2019 through early 2020 (v2.0.1 to v3.0.0 and v3.1.x), then a long gap with no additional behavioral
updatesreflected in the recent summary list.
AI summary generated
Recent updates
v3.1.3
Release v3.1.3 contains only dependency-related changes. The release notes do not mention any behavioral or compatibility impact, but the code diff shows CI Node version support changes and multiple major devDependency upgrades.
Breakingv3.1.2
v3.1.2 primarily updates TypeScript type declaration files. The only code changes in the diff are limited to making the `equal` export declarations use `declare const`, plus a version bump and some repository metadata updates.
v3.1.1
v3.1.1 updates the npm package contents to include additional React-specific entrypoints. The release notes state this is to fix missing React files, which is consistent with the code diff.
v3.1.0
v3.1.0 adds a React-specific equality entry point that avoids deep-traversing React element internals by skipping the `_owner` field to prevent circular reference issues. It also introduces new build outputs and test coverage specifically for comparing React elements.
Featuresv3.0.1
Release v3.0.1 contains documentation-only updates. The codebase diff shows only README.md edits and a version bump in package.json, with no functional implementation changes.
v3.0.0
v3.0.0 focuses on improving deep equality handling for Maps, Sets, and typed arrays to better reject pseudo-implementations. The core change is in the equality template, where Map/Set comparisons are stricter about requiring real instances, and typed-array detection was broadened to all ArrayBuffer views.
v3.0.0-beta.2
This release (v3.0.0-beta.2) focuses on faster deep equality checks for ES6 Map and Set, and adds compatibility for runtimes where BigInt64Array is not available. The release notes are brief, but the code diff shows substantive internal changes to how Map and Set are compared.
v3.0.0-beta.1
v3.0.0-beta.1 primarily updates the npm packaging contents and version metadata. It includes additional ES6-related files in the published package and updates README badges and installation guidance for the v3 pre-release.
Featuresv2.0.1
v2.0.1 makes small but important changes to fast-deep-equal. The main code change adds a null guard to the object-type comparison path, and the test suite is extended with explicit null/undefined cases. CI configuration is also updated to test additional Node.js versions.
v3.0.0-beta.0
Release v3.0.0-beta.0 tightens deep equality semantics by treating objects with different constructors as unequal, rather than relying purely on structural key/value comparison. It also introduces ES6 support for Maps, Sets, and typed arrays via a separate ES6 entry point.
BreakingFeatures