5.17.1
5.17.1のリリースノート。
リリース日: 2026-09-04
バグ修正
クロスオリジンの
headerNavエントリーがアクティブなナビゲーションのハイライトを奪わないようになりました。ヘッダーのインラインスクリプトはnew URL(a.href, location.href).pathnameを使って実際のDOMからエントリーを組み立て直しており、この処理でオリジンが失われます。そのため他サイトのルートを指す外部エントリーが"/"を提供し、このサイト自身のルートルートに完全一致していました (384cfe1d3,440e366fb)。クライアント側のナビゲーションが、
location.pathnameだけから再導出するのではなく、SSRがすでに解決したアクティブ項目を再利用するようになりました。SSRはカテゴリー一致を優先し、パス一致をフォールバックとして使いますが、クライアントはパス側しか把握していませんでした。そのため、URLのプレフィックス一致では選ばれない項目をカテゴリーが選ぶページでは、読み込み時にハイライトが失われていました (90b0f2904)。ナビゲーションの再描画が、コンテンツバンドのパース完了を待つようになりました。スクリプトは
<header>内にインライン化されているため、トップレベルの実行時点ではセクション属性を持つ要素がまだ存在しません。その結果、再描画はパスのみの一致にフォールバックしてSSRのハイライトを消してしまい、初回読み込みではそれを元に戻すナビゲーションイベントも発火しませんでした (76baaf3b1)。navHrefが、絶対URLのクロスオリジンターゲットにロケール・バージョン・ベースの各プレフィックスを連結せず、そのまま通すようになりました。リンク切れを生むだけでなく、書き換えられたhrefは同一オリジン扱いになるため、上記のクロスオリジン向けアクティブ状態ガードを、それを最も必要とするロケール/ベース構成でちょうど無効化していました (c6fe1bb08)。
その他の変更
ナビゲーションスクリプトの解説コメントを、出力されるバイト列からジェネレーターのソースへ移動しました。上記の修正に関する背景説明が全ページの
<head>にインラインで出力されており、スクリプトが1273バイト分の散文で肥大化していました。この修正セット全体の正味コストは +173 バイトになりました (4f4b73ce5)。zfbのpeer依存および開発依存のパッケージ群を2.15.1へ更新しました (
e54438e96)。これはドキュメントのみのアップストリームリリースです。同梱されるwasmアーティファクトは2.15.0とバイトサイズが同一で、公開API・エクスポート・設定のデフォルト値・エンジン要件のいずれも変更されていません。