MrDiff

リリース履歴

4 週間で 11 のリリース。

2026 年 9 月 12 日の最初のリリースから、3 日後の v0.7.1 まで。テキスト・画像・バイナリを比べる形で出て、その翌日には PDF を比べてページのどこかを言い、フォルダ 2 つ、アーカイブ、Word 文書、フォント、PDF の文字、ずらした画像、JSON と YAML を行ではなくデータとして比べるようになり、その値も添えるようになった。10 月の v0.8.0 では、Terraform と SQLite、標準入力に対応し、パイプラインに合う形になった。

新しい順

v0.8.0 ← v0.1.0 · 2026 年 9 月 12 日 – 10 月 8 日

CLI は無料で MIT。各リリースは universal binary(Apple silicon + Intel)の zip で、Homebrew の tap はそれを指す。

0.8.010/8 Terraform と SQLite、そしてパイプラインに合う CLI。 .tfstate、terraform show -json の state、plan を、1 つの大きな JSON ではなく資源の単位で比べる。秘密は伏せる(--show-secrets で出す)。SQLite はスキーマ(テーブル・列・索引・ビュー・トリガ)で比べ、行は比べていないと答えの中で言う。標準入力を片側に使え、--quiet / -q は終了コードだけで答え、--oneline は要約の 1 行だけ、--relative はエラーのパスを相対にし、mrdiff --completions bash|zsh|fish でシェル補完のスクリプトを出す。2 つのファイルの改行コードが違うときは、要約の下にそう書く(終了コードは変わらない)

0.7.19/15 JSON/YAML の差分が、パスだけでなく値も持つように ── ~ version だけだったところが ~ version: "1.0" → "1.1" に。パスの一覧だけでは何が変わったか分からないと分かった。--json の paths に before / after が増えた(切らずに出す。人向けの出力の … は表示だけの話)

0.7.09/15 **JSON と YAML を構造で。**両方が JSON として、または意図して絞った YAML の部分集合として読めたら、行ではなくデータとして比べる ── キーの順は変更に数えず、配列の途中への挿入も後ろ全部をノイズにしない。読めないもの(アンカー・タグ・ブロックスカラ・複数ドキュメント・ただの文章)は、誤って読むより行の差分へ戻る。--json に kind: "json" / "yaml" と paths 配列が増えた

0.6.09/14 画像の --offset=dx,dy:右の絵を左の上に置いて、重なる範囲だけ比べる ── ヘッダーが 1 行動いたスクリーンショット 2 枚が「中身は同じか」に答える。寸法が違っても重なる範囲で比べる。コアはページと字形の描き手も公開し、見せる側が判定と同じ手で描けるようにした

0.5.09/13 **PDF の文字。**見た目と並べて文字も比べ、別に言う ──「文字は同じ、違うのは見た目だけ」と「文字が 3 行違う」。--text で行 diff が出る。注釈とフォームの値も含む。LP の主題を「クラウドに上げない。手元で、速い」に

0.4.09/13 **アーカイブ・Word 文書・フォント。**zip なら何でも(docx・xlsx・pptx・EPUB・Sketch)目次からフォルダとして比べる。Word の本文は段落ごとの行 diff。フォント(OTF・TTF・TTC)は字形ごとに描いて画素で比べる。--json に archive・docx・font が増えた

0.3.09/13 フォルダ 2 つ。mrdiff old/ new/ で、どのファイルが違うか・片側にしか無いかを言う。--ssh がサーバ相手に返していた答えを、隣のフォルダに。--json に kind: "dir" が増えた

0.2.09/13 **PDF。**ページごとに描いて画像と同じ方法で比べ、どのページが違い、そのページのどこかを mm で言う。ページ数と紙の大きさの違いは別に言う。あわせて --help(スイッチごとに 1 行)と、1 回きりの言語切り替え --lang=en|ja

0.1.29/12 --version。配布物を作るスクリプトは、版がタグと合わない zip を作らない

0.1.19/12 画像の答えを 3 つ足す:画素ごとの印、違いの塊、全体の色の差(B − A のチャンネルごとの平均)。「44% が違う」と「全体が 20 明るく書き出された」を見分けられるように

0.1.09/12 **最初のリリース。**テキスト・画像・バイナリ・URL 2 つ・クリップボード・公開中のサイトと git 管理下のフォルダ(--site)・手元のディレクトリと SSH 越しのサーバ(--ssh)。--json と --exit-code は初日から。同日に Homebrew の tap を公開

この一覧について

  • 日付は GitHub の Release の日付(JST)。版は --version とタグのもの。
  • ここにある全リリースに配布物の zip がある。タグだけのものは無い。
  • JSON の形は v0.1.0 から固定。v0.2.0 で pdf、v0.3.0 で dir、v0.4.0 で archive・docx・font、v0.5.0 で pdf の中の text と pdf-text、v0.6.0 で image の中の offset、v0.7.0 で json・yaml、v0.7.1 でその中の before・after が増えただけで、既存のものは変えていない。

MrDiff

Swift · MIT License

作者: 田畑ひとし · GitHub · English

© 2026 TABATA Hitoshi