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
- The repository/library does not show recent activity relative to today (last upstream push 2023-04-21, newest recorded update v4.3.1 on 2023-03-16), so maintenance appears quiet or in maintenance mode rather than actively maintained in 2026.
- Update cadence is irregular: updates clustered around early 2023 (v4.3.0, v4.3.1), followed by a long gap after 2023, and an even longer gap before that (latest prior major updates are from 2019).
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.