xtend is a small JavaScript utility library for shallowly extending one object with properties from a list of objects, where later properties override earlier ones. It returns a new object without mutating the inputs, and it is useful as a helper for combining objects. The project is marked DEPRECATED and has a stability status of Locked.
Project status
- Maintenance status: Upstream is marked archived, and the last upstream push was 2020-08-10. This source appears quiet, not actively maintained as of 2026-06-09.
- Update cadence: The most recent recorded updates are from 2019-07-08 (v4.0.2), with a long gap since then (many years). The cadence is effectively stopped, with only occasional historical updates.
AI summary generated
Recent updates
v4.0.2
v4.0.2 contains largely non-functional changes: the package version is bumped, license/docs housekeeping is performed, and the build Makefile is removed. The only code-adjacent change is additional unit test coverage specifically targeting prototype pollution behavior for both `extend` and `mutableExtend`.
v4.0.1
Release v4.0.1 contains small internal changes to the xtend implementation and updates tests. The release notes section is empty, so the behavioral impact needs to be inferred from the code diff.
v4.0.0
Release v4.0.0 is published, but no release notes were provided by the publisher. Without documented changes, there is no direct information available to assess new features, breaking changes, bug fixes, security, performance, or migration steps.
v3.0.0
Release v3.0.0 has no accompanying release notes. The code diff shows a small refactor removing an internal null/undefined guard (hasKeys) from both the main extend implementation and the mutable variant, which changes runtime behavior for invalid inputs.
v2.2.0
Release v2.2.0 updates xtend with a small internal refactor and dependency change. It removes the runtime dependency on object-keys and replaces key enumeration logic in both main entry points.
Breakingv2.1.2
Release v2.1.2 updates the package metadata for xtend. The provided code diff shows only changes to package.json (version and keywords), with no functional source code modifications.
v2.1.1
Release v2.1.1 appears to include no functional code changes. The only detected change is an update to the package version in package.json from 2.1.0 to 2.1.1.
v2.1.0
Release v2.1.0 has no published release notes. The code diff shows a small internal refactor in mutable.js that changes how object keys are enumerated, along with dependency version bumps in package.json.
v2.0.6
Release v2.0.6 makes a small internal change to how xtend decides whether a given source argument should be merged into the target. It replaces the external is-object check with a new local predicate in has-keys.js, and updates both index.js and mutable.js to use it.
v2.0.5
Release v2.0.5 was published, but no release notes were provided by the publisher. As a result, this analysis cannot reliably identify new features, breaking changes, bug fixes, or dependency updates from the release documentation alone.