mrkeyoor.com_
Mon 02 Nov 16:20 UTC
Open Source3 min read

OmniDiff 0.3.0 adds diffs for code embedded in strings

OmniDiff now compares shell inside YAML and TSX inside JSON as code. Its release scores measure highlighting agreement, not bug detection.

OmniDiff 0.3.0, released on November 1, 2026, adds language-aware diffs for code embedded inside strings. The release notes include shell commands inside YAML and TSX stored in JSON. For developers reviewing workflow files or generated source, that means the viewer can identify edits inside the embedded program instead of highlighting a broad stretch of its enclosing string.

This is a change to how the open-source diff tool presents edits. The release's accuracy figures measure agreement with the project's reference highlighting, not whether code is correct. We reviewed the release notes and version-pinned documentation, but haven't run OmniDiff 0.3.0 or checked its terminal rendering.

When one file contains another language

According to the 0.3.0 notes, OmniDiff treats supported embedded code as a separate file for diffing. Examples include shell in YAML run: and script: blocks, plus CSS and HTML in tagged template literals. For TSX inside JSON, the documented case pairs a "content" string with a "path" naming a .tsx file.

The parser resolves escapes and removes YAML block indentation while keeping interpolation expressions in place, the release notes explain. That distinction matters when reviewing a configuration edit: the outer file's quoting and indentation can otherwise obscure the program inside it. The documented contexts are specific, so this release shouldn't be read as a promise to recognize every language hidden in any string.

Frontend reviews get another targeted change. The same release compares CSS class lists class by class, including JSX attributes and arguments to helpers such as clsx and twMerge. It keeps a class whole when marking additions, removals or moves, including classes containing punctuation.

Read the accuracy figure narrowly

The project reports that its minimal highlighting mode exactly matches the reference on 987 of 1,419 hand-painted test cases, or 69.6%, in the release notes. Those are the maintainer's results, not our measurements. They describe how closely the displayed edits match human-labelled expectations on that set. They don't establish a rate for finding bugs or reviewing unfamiliar repositories.

For anyone trying the tool, the version-pinned README makes a practical distinction: git difftool opens its interactive viewer, while git diff uses plain-text output. The same documentation says source builds require Rust 1.92 or later and a C compiler, and identifies the licence as AGPLv3.

The next useful check is whether the embedded-language highlighting helps on your own workflow or frontend changes. The release names concrete cases to try; its reference scores leave plenty of highlighting disagreements. Inspect those disagreements before making this view your default way to review a patch.

Sources

  1. OmniDiff v0.3.0 release notes
  2. OmniDiff v0.3.0 README
  3. OmniDiff v0.3.0 changelog