Deep-object-diff is a small JavaScript library for computing deep differences between two objects, including nested arrays and nested objects. It returns the overall diff, or you can get only added, deleted, updated, or a detailed breakdown of added, deleted, and updated changes. Useful for comparing complex object states and generating change sets.
Project status
- Maintenance status: The source appears quiet/dormant as of today (2026-08-12). The last upstream push was 2024-03-04, and the most recent known updates in the provided release history are from 2022-11-12.
- Update cadence: There is no evidence of regular or recent updates, with a multi-year gap between the last published updates (2022) and today.
AI summary generated
Recent updates
v1.19
This release is a vulnerability patch for prototype pollution in deep-object-diff, specifically addressing pollution via the returned diff object. The fix ensures the intermediate accumulator objects used to build diffs are created without a prototype, preventing __proto__-based poisoning. Tests were updated to cover diff/addedDiff/updatedDiff/deletedDiff and nested cases.
Securityv1.1.8
v1.1.8 is a small patch release focused on TypeScript typing improvements and packaging metadata. It updates the TypeScript definitions for ESM/TypeScript resolution and refines the return type of detailedDiff.
v1.1.7
Release v1.1.7 is described as a fix for a broken publish. The actual code diff shows only a package version bump in package.json, with no other code changes.
v1.1.6
v1.1.6 is a small patch release focused on performance and ESM compatibility. The code changes primarily remove object spread usage in diff construction to reduce allocations, and update internal import statements to include the .js extension for ES module builds.
v1.1.5
Across v1.1.1 to v1.1.5, the project moved toward a dual ESM/CJS publishing setup, added GitHub Actions based CI, and refactored internal diff utilities to correctly handle object keys that collide with Object.prototype. v1.1.5 is documented as a fix for broken imports, but the code diff also includes functional behavior changes in the diff algorithm.
Features