Skip to content

Changelog

0.4.1

Patch Changes

  • 3891e45: Align npm and GitHub package README titles with the final positioning line in each H1 (for example, Object Diff — Typed, framework-agnostic object diffing for modern web apps.), while keeping each product slogan under the heading.

0.4.0

Minor Changes

  • fc1705e: Object Diff: LCS array move detection, identity-aware merge, and DiffView explain(). Form Intelligence and Storage: align npm package messaging with the JOC ecosystem briefs.

0.3.3

Patch Changes

  • adb77b9: Add a Become a Sponsor badge linking to GitHub Sponsors.

0.3.2

Patch Changes

  • Security: Hardened against prototype pollution by explicitly rejecting proto, constructor, and prototype keys, and replacing dynamic property assignment with Object.defineProperty. Existing security tests continue to pass, resolving the CodeQL warning.

0.3.1

Patch Changes

  • Enhance document introduction

0.3.0

Minor Changes

  • 8c0a09f: Evolved object-diff from a small core into a full engine suite, then filled the post-phase gaps (RFC ops, moves, slim entrypoints). Root APIs stay compatible.
  • 8c0a09f: Add DiffOptions for identityKey, ignore/include path filters, and make detectMoves throw NotImplementedError instead of silently no-oping.
  • 8c0a09f: Add createDiffView on @jayoncode/object-diff/view, DX docs, and playground/README coverage for optional engines.
  • 8c0a09f: Add html/console/human serialize formats, createSerializer plugin contract, and @jayoncode/object-diff/formatter subpath (root serialize kept for compatibility).
  • 8c0a09f: Add @jayoncode/object-diff/merge with two- and three-way merge, conflict objects, and latest-wins / manual / custom strategies.
  • 8c0a09f: Harden the patch engine: validatePatch, optimizePatch, applyPatchWithInverse, optional patch optimize flag, and stricter apply validation by default.
  • 8c0a09f: Add @jayoncode/object-diff/plugins with createEngine, ObjectDiffPlugin contracts, lifecycle hooks, and PluginError.
  • 8c0a09f: Add @jayoncode/object-diff/query with find/filter/exclude/paths/summary/ofType and fluent query() over DiffResult.
  • 8c0a09f: Add RFC 6902 move/copy/test patch ops, real detectMoves (moved records), and slim @jayoncode/object-diff/core plus /patch subpath exports.
  • 8c0a09f: Add @jayoncode/object-diff/stats with DiffStatistics (ratios, depths, hot prefixes, estimated patch size).

Patch Changes

  • 8c0a09f: Document integrations (forms, session, audit, merge, plugins) with package guide, examples, and contract tests — no new peer deps.
  • 8c0a09f: Speed up hasChanges (single-walk / filtered early exit), add performance budget tests, and lock tree-shaken bundle size gates.

0.2.0

Minor Changes

  • 926fd56: JOC Docs v1.3.0 — Form Intelligence, playground hub, per-package changelogs

0.1.0

Initial public release of the Object Difference Engine for the JOC ecosystem.

Added

  • diff, compare, hasChanges, and filtered helpers (added, removed, updated, unchanged)
  • JSON Patch generation and application (patch, applyPatch, revertPatch)
  • Serializers for json, pretty, markdown, and table output formats
  • Interactive playground and package documentation on the JOC docs site

All notable changes to @jayoncode/object-diff are documented in this file.

The format is based on Keep a Changelog, and this project follows Semantic Versioning.

[Unreleased]

An ecosystem of independent, headless TypeScript libraries engineered for modern web development. Every package includes interactive playgrounds and documentation that evolves alongside the code.