Release history
Eleven releases in four weeks.
From the first release on 12 September 2026 to v0.7.1 three days later. It shipped comparing text, images and binaries; a day later it compared PDFs and told you where on the page, then two folders, then archives, Word documents and fonts, then the text of a PDF, then a shifted image, then JSON and YAML as data instead of lines, with the values alongside. In October, v0.8.0 added Terraform, SQLite and standard input, and made it fit pipelines.
Newest first
v0.8.0 ← v0.1.0 · 12 Sep – 8 Oct 2026
The CLI is free and MIT. Each release is a universal binary (Apple silicon + Intel) in a zip, and the Homebrew tap points at it.
0.8.08 Oct
Terraform, SQLite, and a CLI that fits pipelines. .tfstate,
terraform show -json state and plan files are compared resource by
resource, with secrets hidden (--show-secrets shows them). SQLite files
are compared by schema — tables, columns, indexes, views, triggers — and
the answer says the rows were not compared. Standard input works as one
side, --quiet / -q answers with the exit code only, --oneline keeps
just the summary line, --relative shortens paths in errors, and
mrdiff --completions bash|zsh|fish prints a shell completion script.
When two files use different line endings, it now says so under the
summary; the exit code does not change
0.7.115 Sep
JSON/YAML diffs now carry the value, not just the path —
~ version: "1.0" → "1.1" instead of a bare ~ version. A one-line
list of paths turned out not to be enough on its own to tell what
changed. --json's paths gains before / after (unabridged; the
human output's … truncation is display-only)
0.7.015 Sep
JSON and YAML, structurally. Two files that both
parse as JSON, or both as a deliberate YAML subset, are compared as data
— key order stops counting as a change, and an element inserted in the
middle of an array does not turn everything after it into noise.
Anything that does not parse (anchors, tags, block scalars, multiple
documents, or plain text) falls back to the line diff rather than being
read wrong. --json gains kind: "json" / "yaml" and a paths
array
0.6.014 Sep
--offset=dx,dy for images: place the right image on
the left one and compare the overlap only — two screenshots whose header
moved by a row answer “is the content the same?”. Different sizes are
compared over the overlap. The core also exposes its page and glyph
renderers, so a viewer can draw with the same hand that judges
0.5.013 Sep
PDF text. The text of a PDF is compared alongside
the rendering and reported separately — “the text is identical, only the
rendering differs” vs “the text differs in 3 lines” — and --text shows
the line diff, annotations and form values included. The landing page
now leads with “nothing leaves your machine, and it is fast”
0.4.013 Sep
Archives, Word documents, fonts. Any zip (docx,
xlsx, pptx, EPUB, Sketch) is compared as a folder from its own table of
contents; a Word body is compared paragraph by paragraph as a line diff;
fonts (OTF, TTF, TTC) glyph by glyph, drawn and compared pixel by pixel.
--json gains archive, docx, font
0.3.013 Sep
Two folders. mrdiff old/ new/ says which files
differ and which exist on one side only — the answer --ssh already
gave for a server, now for the folder next door. --json gains
kind: "dir"
0.2.013 Sep
PDFs. Each page rendered and compared like an image;
the answer says which pages differ and where on the page, in
millimetres. Page counts and paper sizes are reported separately. Also
--help with one line per option, and --lang=en|ja for a one-run
language switch
0.1.212 Sep
--version, and the release script refuses to build a
zip whose version does not match the tag
0.1.112 Sep Three more answers for images: a per-pixel mask, the difference grouped into regions, and the overall tone shift (B − A per channel) — so "44% different" can be told apart from "exported 20 brighter"
0.1.012 Sep
First release. Text, images, binaries, two URLs, the
clipboard, a deployed site vs its git-tracked folder (--site), a local
directory vs a server over SSH (--ssh). --json and --exit-code
from day one. Homebrew tap published the same day
About this list
- Dates are the GitHub release dates (JST). Version numbers follow
--versionand the tag. - Every release here is published with a downloadable zip; there are no tag-only entries.
- The JSON shape is fixed from v0.1.0 on. v0.2.0 added the
pdfkind, v0.3.0dir, v0.4.0archive/docx/font, v0.5.0textinsidepdfand thepdf-textkind, v0.6.0offsetinsideimage, v0.7.0 thejson/yamlkinds, v0.7.1before/afterinside those; nothing existing changed.