このサイトは非公式の日本語訳です。Cloudflare・EmDashプロジェクトが運営するサイトではありません。

公開日:2026年9月9日 破壊的変更(Breaking):あり

破壊的変更(Breaking)と対応

  • MCPの更新系ツールで _rev が必須に(CHANGELOGの表記:Breaking (MCP clients)):MCPの content_updatecontent_publishcontent_unpublishcontent_discard_draft の4つのツールで、_rev(リビジョントークン)が必須になりました。エージェントが読んでいない変更を上書きすることを防ぎます。これまでは _rev を省略しても書き込みが実行されていましたが、省略すると検証エラーになり、エラーメッセージで content_get が案内されます。以前の動作に戻す設定はありません。
    • 対応:先に content_get でエントリーを取得し、応答に含まれるトークンを _rev としてそのまま渡します。トークンが古い場合は CONFLICT で失敗するので、もう一度取得してから新しいトークンで再試行します。
{
	"collection": "posts",
	"id": "01K4EXAMPLEID0000000000",
	"data": { "title": "New title" },
	"_rev": "MzoyMDI2LTA5LTA0IDEyOjMwOjAw"
}

CHANGELOGに「Breaking」の表記はありませんが、次の変更も既存の動作を変えます。

  • プラグインストレージのページ送りorderBy を指定した query() のカーソルによるページ送りで、行の重複や抜けが起きる問題が修正されました。あわせて、並べ替えるフィールドを持たない値(NULL)の位置が、昇順では最後、降順では最初に固定されました。これまでのデータベースごとの並び順に依存していた場合は、その行の順序が変わります。複数のフィールドを異なる向きで並べ替えながらカーソルでページ送りすると、StorageQueryError を投げるようになりました。
    • 対応:すべてのフィールドを同じ向きで並べ替えるか、カーソルを使わずに読み込みます。
  • レジストリからのインストールと更新の検証:パッケージとプロベナンス文書のハッシュに、小文字のbase32のmultibase形式の sha2-256 が必要になりました。プラグインCLIはすでにこの形式で出力します。

新機能

  • メディアライブラリに「画像を置き換え」が追加されました。EmDashが保存しているJPEG、PNG、WebPの画像を同じ形式のファイルに差し替えると、その画像を使っているすべての箇所が新しい画像になります。メディアID、ファイル名、URL、代替テキスト、キャプションは変わりません。元のファイルは残りません。
  • EmDashが保存しているJPEG、PNG、WebPの画像を切り抜けるようになりました。「Create cropped copy」で別のメディアとして保存するか、「Replace original」で元の画像を同じIDとURLのまま置き換えます。元の画像と切り抜きの履歴は残りません。
  • MCPに、タクソノミーの定義を管理する taxonomy_gettaxonomy_createtaxonomy_updatetaxonomy_delete が追加されました。MCPのクライアントから、タームを追加する前にタクソノミーを作れます。
  • content:beforeSave フックのイベントに、既存のエントリーを更新するときの id が追加されました。フックから ctx.content.get(event.collection, event.id) で保存前のエントリーを読めます。
  • 実験的な分散型プラグインレジストリで、インストールと更新のときに、公開者のPDS(Personal Data Server)にある署名済みのレコードを直接検証するようになりました。
  • パスキーのユーザー検証を PasskeyConfig.userVerification で設定できるようになりました。
  • getTerm()includeCounts オプションが追加されました。includeCounts: false を指定すると、エントリー数の集計を省けます。
  • コンテンツ編集画面の公開の欄が変わり、公開中の版と下書きの変更を区別して表示し、すぐに公開するか予約公開するかを1つのメニューから選べるようになりました。

主な修正

  • サンドボックス型プラグインの content:beforeSave フックから、保存を拒否できるようになりました(SAVE_REJECTED の結果を返します)。
  • 公開を取り消すと公開日がリセットされる問題が修正されました。
  • SQLiteで、真偽値のフィールドが 01 ではなく truefalse で返るようになりました。
  • 予約公開の定期チェックが、毎回すべてのエントリーを読み込む問題が修正されました。CHANGELOGは、D1では読み込んだ行数がそのまま課金対象になると説明しています。
  • 時差を含む日時で予約公開すると、数時間ずれて公開される問題が修正されました。
  • 多言語サイトで、管理画面のゴミ箱が選択中のロケールで絞り込まれるようになりました。
  • Cloudflare D1で、マイグレーション017が中断したあとに移行が完了しなくなる問題が修正されました。
  • 執筆者のプロフィールページで、執筆者のアバター画像を表示できるようになりました。
  • 管理画面の「View published」と「ライブビュー」のリンクに、翻訳されたエントリーのロケールの接頭辞が付くようになりました。

原文:emdash の変更履歴

根拠にした公式ページ

  • emdash の変更履歴(0.37.0):https://github.com/emdash-cms/emdash/blob/main/packages/core/CHANGELOG.md#0370
  • 公開日:npm(emdash 0.37.0、2026-09-09T10:38:48Z=日本時間9月9日):https://www.npmjs.com/package/emdash/v/0.37.0