clone is a JavaScript utility for deep cloning values like objects, arrays, numbers, strings, maps, sets, promises, dates, and regular expressions, including recursive cloning and support for circular references. It is useful when you need an independent copy of complex data structures so changes to the original do not affect the clone.
Project status
- Maintenance/health: The repository shows an upstream push on 2026-06-21, but the provided published updates (v1.0.4, v2.1.2) are from 2018, with no recent release/update notes included here, suggesting maintenance may exist but release cadence is very low.
- Apparent update cadence: Based on the visible tagged update history, updates were published in 2017-11 and then 2018-03, followed by a long gap to today (2026-08), so the cadence appears intermittent and currently quiet.
AI summary generated
Recent updates
v1.0.4
Release v1.0.4 contains a small internal change to the Buffer cloning logic in clone.js, plus a package version bump. No functional feature work or API changes are documented, and no release notes were provided.
v2.1.2
v2.1.2 significantly expands the clone library’s deep-cloning capabilities and updates the README and test suite accordingly. The diff shows added support for cloning ES6 Map, Set, Promise, Error, and Symbol-related properties, plus an added option to include non-enumerable properties. No release notes were provided, so the actual behavioral changes are not documented in the release metadata.
BreakingSecurityFeaturesv1.0.3
Release v1.0.3 was published on 2017-11-08, but the publisher did not provide any release notes. As a result, the changes included in this version, including any potential breaking changes, bug fixes, or security updates, are not documented here.
v2.1.1
v2.1.1 is a small maintenance release with documentation updates and a change to the core clone implementation around Map, Set, and Promise detection. The functional code change mainly affects how the library checks object types before cloning, which can prevent runtime exceptions in older or nonstandard JavaScript environments.
v2.1.0
The provided GitHub release notes for v2.1.0 are empty, so no behavioral changes are documented by the publisher. The code diff shows several additions to the cloning logic, most notably cloning Errors, changes to how symbol-named and non-enumerable properties are handled, and a new includeNonEnumerable option.
v2.0.0
Release v2.0.0 (notes not provided) significantly extends the clone implementation beyond plain objects and arrays. The core clone logic now detects and clones native Map, Set, Promise, and symbol properties, and it also tightens the depth==0 check to depth===0.
BreakingFeaturesv1.0.2
Release v1.0.2 includes a refactor of the core deep-clone implementation in clone.js plus test and build configuration updates. The release notes are missing (none provided), so behavior and compatibility changes need to be inferred from the code diff.
Breakingv1.0.1
Release v1.0.1 contains no publisher-provided release notes. The only code diff is a package.json update that bumps the package version and slightly tightens the devDependency version range for nodeunit.
v1.0.0
The v1.0.0 release has no publisher-provided release notes, but the code diff shows a significant refactor of the cloning implementation and packaging details. The primary runtime-relevant changes are in clone.js, including a new wrapping/export structure and updated handling of the `circular` argument.
BreakingFeaturesv0.2.0
Release v0.2.0 was published on 2014-11-26, but no release notes were provided by the publisher. As a result, the available information does not describe any new features, fixes, or breaking changes.