Back to Explore

ljharb/define-properties

GitHub
2 watchersOpen source

Last release:

Define multiple non-enumerable properties on an object at once. It uses Object.defineProperty when available, and falls back to standard assignment in older engines, without overriding existing properties unless predicate functions indicate force-overrides.

Project status

  • Maintenance status: Evidence is mixed, but the GitHub “last upstream push” is 2025-12-30, which suggests the repo is not completely abandoned. However, the most recent published update in the provided history is v1.2.1 (2023-09-13), indicating overall low-churn maintenance.
  • Update cadence: After v1.2.1 (2023-09), the next documented update history is missing, with earlier releases separated by multi-year gaps (for example, v1.2.0 in 2023-02, then v1.1.x in 2022 and earlier). Overall, updates appear infrequent.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v1.2.1

    v1.2.1 primarily refactors the internal implementation of define-properties to use the shared `define-data-property` helper. The release notes from the publisher are not provided, but the diff shows dependency and CI workflow updates alongside the refactor.

  • v1.2.0

    This release (v1.2.0) makes a targeted behavioral change in define-properties, specifically in how the optional predicate is treated when it is the boolean value true. Release notes were not provided in the release description, so the only authoritative view of changes comes from the code diff and repository metadata updates.

  • v1.1.4

    Release v1.1.4 was published on 2022-04-15, but no release notes were provided by the publisher. As a result, there is no documented information about new features, fixes, breaking changes, or dependency updates in this release.

  • v1.1.3

    Release v1.1.3 has no publisher release notes provided. The code changes focus on refactoring the core defineProperties implementation (removing the foreach dependency, adding minor caching) and updating the object-keys dependency, plus substantial CI and lint/test script updates.

  • v1.1.2

    v1.1.2 has no release notes provided in the publisher data. The code diff shows mostly maintenance changes: dependency bumps, expanded CI test matrix, and linting configuration updates, with only a very small edit in the runtime descriptor logic.

  • v1.1.1

    Release v1.1.1 primarily bumps dependency and developer tooling versions and expands the CI matrix to include io.js v2.4. The actual library code does not appear to be modified in the provided diff, and only test and config files are changed.

  • v1.1.0

    Version v1.1.0 primarily extends define-properties to support symbol-valued keys in the input map. The code diff shows a targeted runtime change in index.js, plus corresponding test coverage and some CI/linting/tooling updates.

    Features
  • v1.0.3

    This release bumps define-properties from v1.0.2 to v1.0.3. The only functional code change is in the feature-detection logic that determines whether the runtime correctly supports Object.defineProperty property descriptor attributes.

  • v1.0.2

    v1.0.2 primarily upgrades and reconfigures development tooling and CI, plus loosens version ranges for a couple of runtime dependencies. The provided release notes are missing, so the changes visible in the diff are effectively undocumented from the publisher perspective.

  • v1.0.1

    Release v1.0.1 was published on 2015-01-06, but no release notes were provided by the publisher. As a result, there is no documented information on changes, fixes, or compatibility impacts in this release.