Back to Explore

kpdecker/jsdiff

GitHub
2 updates · last 90 days1 watchersOpen source

Last release: 1 month ago

jsdiff is a JavaScript library for computing text differences between an “old” and “new” string. It can produce character, word, line, sentence, CSS, or JSON diffs, returning results as ordered change objects, which makes it useful for generating human-readable or structured diff output.

Project status

  • Actively maintained, with an upstream push as recent as 2026-06-02, and multiple version updates published between January and April 2026.
  • Update cadence appears active, with notable version updates in late January 2026 (v3.5.1), late March 2026 (8.0.4), and mid-April 2026 (v9.0.0), suggesting ongoing evolution rather than maintenance-only.

AI summary generated Today

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

Recent updates

  • v9.0.0

    1 month ago

    v9.0.0 introduces major improvements to jsdiff patch support, especially around Git-style diffs (including extended headers, renames, creates/deletes, and more) plus more correct filename handling in patch headers. The structured patch model and formatting/parsing behaviors were updated substantially, including TypeScript type changes that allow undefined filenames and new Git-related flags.

    BreakingFeatures
  • 8.0.4

    2 months ago

    Release 8.0.4 has no published release notes in the provided data. The code diff indicates a major internal refactor, most notably moving core modules from JavaScript to TypeScript and restructuring exports, while also changing some runtime behaviors and public API surface.

    Breaking
  • v3.5.1

    4 months ago

    Release v3.5.1 was published on 2026-01-23, 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.

  • v4.0.4

    4 months ago

    v4.0.4 contains small internal changes to the patch parsing logic, specifically how the library extracts file and diff indices from unified diff headers. Release notes were not provided, so these code changes are effectively undocumented from the publisher perspective.

  • v5.2.2

    4 months ago

    This release (v5.2.2) contains a minimal change. The only visible code diff updates the package version in package.json from 5.2.1 to 5.2.2.

  • v5.2.1

    4 months ago

    No publisher release notes were provided for v5.2.1, but the code diff shows a significant jump from v4.0.4 that includes algorithmic changes to the core diff engine, new diff and patch helper APIs, and multiple parsing and tokenization behavior changes. The update also includes packaging metadata changes (UMD/global naming and Node exports field) that can affect how developers import the library.

    BreakingFeatures
  • v8.0.3

    4 months ago

    v8.0.3 focuses on fixing `diffWords` tokenization when an `Intl.Segmenter` is used, including a regression that could crash on common newline patterns. It also adds configurable patch header formatting for `createPatch`/`createTwoFilesPatch`/`formatPatch`, and hardens `parsePatch` against denial-of-service and ReDOS style attacks.

    SecurityFeatures
  • v8.0.2

    5/22/2025

    Version 8.0.2 restores compatibility for `diffSentences` on older Safari versions by changing sentence tokenization to avoid regex lookbehind. It also improves tree-shakeability of the published CJS and ESM builds via `sideEffects: false`, and includes build/test script adjustments.

  • v8.0.1

    5/13/2025

    v8.0.1 primarily fixes TypeScript typings for `diffJson` that were accidentally restricted to string inputs in v8.0.0. The underlying change extends the core `Diff` class typing to support separate input types, while keeping the runtime behavior the same.

  • v8.0.0

    5/12/2025

    Release v8.0.0 was published on 2025-05-12, but no release notes were provided by the publisher (content missing). As a result, there is no documented information about new features, fixes, breaking changes, or required migrations for this version.