deepmerge is a JavaScript library for deeply merging the enumerable properties of two or more objects. It returns a new merged object, supports customizable array merge behavior (for example concatenation or overwriting), and can merge multiple objects together using merge.all.
Project status
- Maintenance status: The most recent evidence of activity is an upstream push on 2023-04-21 and the latest recorded update v4.3.1 on 2023-03-16, so as of 2026-06-09 this repo looks quiet/dormant rather than actively maintained.
- Update cadence: Updates appear infrequent (notably 2019 updates, then a gap until 2023), with no signs of a steady cadence in the provided history.
AI summary generated
Recent updates
v4.3.1
No publisher release notes were provided for v4.3.1. The code diff shows this release is primarily a TypeScript typing correction around the arrayMerge option, plus some documentation/test modernization and dev dependency updates.
v4.3.0
v4.3.0 mainly includes a small runtime safety fix around how `deepmerge` checks symbol/property enumerability, preventing a possible thrown error. The release also updates CI configuration, regenerates the lockfile, and reformats some documentation/code style files.
v4.2.2
Release v4.2.2 was published on 2019-10-28. No release notes were provided by the publisher, so there is no documented information about new features, fixes, or breaking changes in this release.
v4.2.1
No release notes were provided for v4.2.1 in the supplied release data. The code changes instead indicate a targeted fix to deep-merge behavior around falsy values, plus a small internal refactor to improve prototype-safety checks.
v4.2.0
Release v4.2.0 introduces new merge behavior intended to prevent prototype-pollution style issues by skipping “unsafe” properties during object merging. The only code change is a helper that filters which source keys are allowed to be merged into the destination, and it is accompanied by new regression tests.
BreakingSecurityv4.1.2
Release v4.1.2 contains no published release notes. The code change is small but behaviorally significant in how `deepmerge` handles the `options` object, plus dev dependency bumps in the lockfile and package version increment.
v4.1.1
Release v4.1.1 makes `deepmerge` stop mutating the caller-provided `options` object. It also adds a regression test to ensure `options` remains unchanged, with minor doc and version metadata updates.
v4.1.0
No release notes were provided for v4.1.0. The code changes are small, centered on making the internal clone helper available to custom array merge implementations.
Featuresv4.0.0
This release notes section provides no publisher documentation. The included code diff indicates a package entry point and build output change, and a version bump in package metadata.
v3.3.0
Version v3.3.0 was released on 2019-06-20, but no release notes were provided by the publisher. As a result, there is no documented information here about new features, bug fixes, security updates, or breaking changes.