変更履歴

公開された各バージョンの Imposia パッケージの変更点を確認できます。

このページは、バージョン付きで公開された各 Imposia リリースを要約します。@imposia/core、@imposia/viewer、@imposia/client、@imposia/react は同じバージョン番号を使います。完全な記録はリポジトリの CHANGELOG.md です。

0.6.0 — 2026年9月27日

  • 分割境界の余白・罫線の繰り返し、脚注とページフロートの重なり、出版 CSS の優先順位、リストの継続、ページ名、改ページ回避を修正しました。位置指定による描画のはみ出しで余分なページは生成されません。
  • 独立に作成したページ分割シナリオ 183 件と連続更新検査 2 件を追加しました。未対応の入力には明示的な診断を維持します。
  • gzip 実測値/予算を更新しました:Core ページ分割 63.2/63.5 KiB、Publication 67.5/68 KiB、Viewer 11.8/13 KiB、Client 71.8/72 KiB、React 73.6/74 KiB。
  • 初回確定前の iframe のちらつきと更新時の visibility 設定の消失を修正し、ドキュメントラベルのコントラストを改善しました。

ビジネス文書を書いたとおりにページ分割し、長い文書も速く処理し、印刷結果がプレビューにより近くなりました。互換性のない変更が 4 つあります。移行ノートを確認してください。

  • 互換性のない変更: 印刷で背景を保持し、印刷用に引き上げるフォント名を変更し、React の状態ユニオンに "aborted" を追加し、PDF.js ビューアー mountViewer を削除しました。
  • @page のマージンボックス 16 個すべてと、フォント・色・配置・罫線・余白のスタイル、内容に合わせて幅を分ける上下のボックス、@page :nth()、A3・A5・B4・B5・Legal・Ledger 用紙に対応しました。
  • PublicationOptions.pageNumbering: "entry" で Publication のエントリーごとにページ番号を振ります。請求書の一括出力でも各請求書に「Page 1 of N」が入ります。
  • 1 ページより長い表の行はセル単位で分割し、列をまたぐ grid アイテムも行単位で改ページします。
  • UNSUPPORTED_LAYOUT は、レイアウトをそのまま残すことで内容が失われるときだけ報告します。display: flex でカードを 1 行に並べる程度では警告しません。
  • dir="rtl" の宣言を保持し、右から左に書く文書にはページ送りが左から右のままであることを警告します。
  • 10,000 ページまで文書の長さに比例した時間でページ分割し、ホストは入力・ノード・ページ・時間の上限を引き上げられます。
  • 0.5.0 の実験的なエスケープハッチを予定どおり削除しました。

0.5.0 — 2026年8月20日

Core がブラウザーのネイティブパーサーで解析するようになり、ページ分割の性能改善で長い文書のレイアウト計測が減りました。

  • parse5 をブラウザーネイティブの解析(DOMParser、template フラグメント解析、ネイティブ直列化)に置き換えました。不正なマークアップは以前と異なる解析結果になる場合があり、parse5 と entities は Core バンドルから外れました。
  • 本番向け脆弱性監査で指摘された、同梱の postcss と推移的依存の nanoid を修正しました。
  • 兄弟ノードの並びをまとまりごとに配置し、あふれたときだけ二分探索するようにして、ノードごとの強制同期リフローとインラインあふれ検査をなくしました。
  • ページをまたぐテキストの分割位置を、書記素ごとの計測ではなく行ボックスの矩形から導出するようにしました。プロジェクトの長い段落のフィクスチャでは、getClientRects の呼び出しが英語テキストで 98.1%、CJK テキストで 95.9% 減りました。
  • 同じ世代内の同一 URL のアセットで、リゾルバー呼び出し、デコード検証、Blob URL を 1 回に共有しました。出現ごとのバイト集計と、拡張機能による拒否の扱いは変わりません。
  • ブラウザーバンドルを最小化し、バンドルサイズ予算を再設定しました。新しい高速経路には 1 リリースの間だけ内部フォールバックが同梱されるため、今回の Core バンドルは大きくなっています。
  • ホストが負荷のかかった状態でドキュメントを更新したときに出ることのあった Viewer のエラーを修正しました。コミットが canonical frame に反映されてからホストが新しい PageDocument を渡すまでの短い区間を、Viewer の周辺同期がページマーカーの破損として報告せず待つようになります。明示的な呼び出しの検証と、実際の破損の報告はこれまでどおりです。

0.4.1 — 2026年7月27日

呼び出し側のビューポート制約下でも複数ページの印刷が安定し、Viewer のパネルがレスポンシブな操作バーに追従するようになりました。

  • 呼び出し側が html と body に指定したビューポート制約が、隔離されたネイティブ印刷スナップショットを 1 枚に切り詰めないようにしました。ソース文書の印刷カスケードは維持されます。
  • Viewer の目次、検索、サムネイル、Inspector の各パネルを、320 px の折り返しレイアウトを含む実際のレスポンシブ操作バーの下に配置するようにしました。
  • ローカライズ済みドキュメントを、入門、基本概念、出版ガイド、パッケージ API リファレンス、ブラウザー標準の PDF 保存を軸に再構成しました。

0.4.1 のリリースノート

0.4.0 — 2026年7月24日

協調的なページ分割により、確定されるページ構造を変えずに、長い HTML や CSR 更新でも応答性を保てるようになりました。

  • PageDocumentOptions.compose に、既定 8 ms の実行予算、差し替え可能なスケジューラー、スケジューラーへの移譲を無効にする Infinity 指定を追加しました。
  • 完了したページ数と収束パスを含む暫定的な進捗通知を追加しました。
  • ステージングの内容とスタイルをマウントした後に、フォントと画像の読み込み完了を待つようにしました。
  • スケジューラー待機を中止できるようにし、追い越す世代どうしを直列化してから勝った世代をステージングするようにしました。
  • ネイティブ印刷スナップショットで、ソースの html・body コンテキスト、body スコープのセレクター、計算済みカスタムプロパティを保持するようにしました。
  • ページをまたぐカウンターが動作し続けるよう style containment は無効のまま、確定済みページのルートに layout containment を追加しました。

0.4.0 のリリースノート

0.3.0 — 2026年7月24日

印刷が iframe のサイズから独立し、制約付きのテーブル構成に明示的な拡張フックが加わりました。

  • Chromium で印刷が白紙になる問題を避けるため、ネイティブ印刷をトップレベル文書内の一時的で隔離されたスナップショットへ移しました。
  • Core と Publication の拡張機能向けに、同期の finalizePage フックを追加しました。
  • 分割されたテーブルの列幅を安定させる、明示的に有効化する createTableColgroupExtension() プリセットを追加しました。
  • 分割テーブル、安全な Grid、ページより高い通常ブロックの分割で、現在のページの残り領域を使うようにしました。

0.3.0 のリリースノート

0.2.0 — 2026年7月24日

Viewer の操作 UI をホストアプリケーション側で完全に構成できるようになりました。

  • 独自のナビゲーション、表示モード、ズーム UI を持つホスト向けに controls: false を追加しました。
  • 即時の Viewer 状態購読、React の状態コールバック、命令型のナビゲーションとズーム操作を追加しました。
  • Viewer のトークンと表示スタイルを各 Viewer ルートに限定し、スタイルシートの読み込みがホストページを変えないようにしました。

0.2.0 のリリースノート

0.1.3 — 2026年7月23日

HTML と CSR のページ分割の整合性を、製品の第一の契約にしました。

  • ソースのトークンが確定済みページ全体に一度ずつ、元の順序で現れることを証明するブラウザー横断の継続性テストを追加しました。
  • canonical iframe を保持したまま高速なソース更新を適用する、公開 CSR 継続性サンプルを追加しました。
  • リフロー型 EPUB を、看板のレンダリング経路ではなく、サポートされる意味構造の投影として位置付けました。

0.1.3 のリリースノート

0.1.2 — 2026年7月23日

リリース検査とデモサーバーのセキュリティ姿勢を強化しました。

  • 検証とコードスキャンに加えて、CodeRabbit の自動レビューを追加しました。
  • 未使用だったデモサーバーの要求遅延機能を削除し、関連する CodeQL 指摘を解消しました。
  • 構造セレクターが、保守的なフォールバックを持つ Element.matches() だけに到達することを確認しました。

0.1.2 のリリースノート

0.1.1 — 2026年7月23日

デモ、ドキュメント、リリース経路を公開パッケージの更新に備えて整えました。

  • 縦向きを優先する A4 操作、向きの切り替え、A3・A4・B1 プリセットを追加しました。
  • 多言語の API ドキュメントと出版ドキュメントを拡充しました。
  • npm trusted publishing、タグ、GitHub Releases、tarball、チェックサムを備えた、保護付きの GitHub Actions リリース経路を追加しました。

0.1.1 のリリースノート

0.1.0 — 2026年7月19日

最初のブラウザー専用リリースで、公開パッケージ群の全体を確立しました。

  • 1 つの永続的な canonical iframe による決定的なブラウザーページ分割を追加しました。
  • Viewer の表示層、ブラウザー用 Client エントリーポイント、主要な React アダプターを追加しました。
  • Publication の構成、Reader のナビゲーション、検索、サムネイル、複数の表示モードを追加しました。
  • 確定したソースからのネイティブ印刷とリフロー型 EPUB 3.3 書き出しを追加しました。
  • 型付きの診断、境界のある拡張機能、アセット解決、制約付きのテーブル・Flex・Grid・段組み・CJK 分割を追加しました。

npm で @imposia/core 0.1.0 を見る

On this page