Releases: aviscaerulea/jpegview-nt
Releases · aviscaerulea/jpegview-nt
v1.3.46.0-20260519.1
安定性向上のためのバグ修正と PDF 表示機能の削除
Bugfixes
- 複数のリソースリーク・NULL 参照・C++ 未定義動作を修正(メモリリーク、GDI DC リーク、int オーバーフロー、UB 解消)
Other
Warning
PDF 表示機能を削除。本バージョン以降、PDF ファイルは開けなくなる。表示の不安定さを解消するためにこの判断を下した。
v1.3.46.0-20260506.2
スレッドプールの安定性修正
Bugfixes
- 画像処理スレッドプールでゼロ除算・例外発生時にクラッシュしていた問題を修正
v1.3.46.0-20260506.1
README 整備と JPEG 診断ログ追加
Improvements
- README を整備。h1 見出しを「JPEGView-nt」に変更し、Scoop インストール手順(
scoop install jpegview-nt)を追加
Other
- JPEG 読み込みハング問題の調査用診断トレースログを追加。現象発生時に
%TEMP%\jpegview-nt-trace.logに詳細ログが出力される LICENSE.txtをLICENSEにリネーム(GitHub のライセンス自動認識に対応)
v1.3.46.0-20260217.1
先読みスレッドと表示スレッドが同時に静的キャッシュへアクセスすることで発生するクラッシュを修正した。
修正
- PNG/WebP/JXL/AVIF デコーダのスレッド競合修正: 各デコーダが持つ静的キャッシュに対して排他制御(CRITICAL_SECTION)を追加した。先読みスレッド(最大 4 本)が同時に PNG/WebP/JXL/AVIF 画像を読み込む際に data race が発生し、間欠的なクラッシュや表示不能が起きる問題を修正。前回修正した PDF デコーダと同じ RAII パターンを適用。
v1.3.46.0-20260215.4
PDF 先読みクラッシュの修正と、ポータブルモードのデフォルト化。
修正
- HEIC と PDF が混在するフォルダで HEIC を連続表示(戻る方向)すると PDF の手前でクラッシュする問題を修正
- CPdfDocumentCache のファイルハンドル use-after-close バグを修正(メモリベースロードに移行)
- PDFium API のスレッドセーフティを確保(グローバル CRITICAL_SECTION)
- JPEGProvider::DeleteElement() の use-after-free を修正
新機能
- ポータブルモードをデフォルト化: StoreToEXEPath のデフォルト値を true に変更(fork 版はポータブル運用を前提)
- 設定テンプレート(JPEGView.ini.tpl)を JPEGView.ini と同期
ダウンロード: JPEGView-nt-1.3.46.0-20260215.4_x64.zip
v1.3.46.0-20260215.3
HEIC 連続閲覧パフォーマンスの改善。先読みバッファの設定可能化・双方向先読みの導入と、HEIF アルファブレンド処理の並列化により、HEIC 画像の連続閲覧が高速化した。
新機能
- INI 設定 ReadAheadBuffers(2〜8、デフォルト 5)で先読みバッファ数を設定可能にした
- 双方向先読みを実装: 空きバッファを進行方向 75%・逆方向 25% に配分し、逆方向への切り替え時の応答性を向上
- 方向転換時も先読みキャッシュを保持するよう変更(TOGGLE は例外的に全破棄)
パフォーマンス改善
- HEIF アルファブレンド処理を std::thread で並列化(10 万ピクセル以上で最大 8 スレッド分割)
v1.3.46.0-20260215.2
SVG/SVGZ レンダリングサポートの追加、MSVC ランタイム DLL 同梱による互換性改善、リポジトリ名称変更を含むリリース。
新機能
- SVG/SVGZ レンダリングサポート
- lunasvg ライブラリ(静的リンク)による高品質 SVG レンダリング
- gzip 圧縮 SVGZ にも対応
- 日本語テキスト表示対応(Yu Gothic → Meiryo → MS Gothic フォールバック)
- MSVC ランタイム DLL の同梱
- VC++ 再頒布パッケージ未インストール環境でも delay-load DLL が正常に動作
改善
- リポジトリ・アプリ名称を JPEGView-fork から JPEGView-nt に変更
- INI 設定のデフォルト値変更(IniEditor=system、NavigateWithMouseWheel=true)
- リリース自動化スクリプトの追加(release.ps1、Taskfile.yml)
修正
- 配布 zip の入れ子ディレクトリ問題を修正
v1.3.46.0-20260214.1
新機能
- HEIF デコーダのスレッド並列化: INI 設定の
CPUCoresUsedに基づいてスレッド数を制御 - PDF ドキュメントキャッシュ: 同一 PDF の 2 回目以降の表示を高速化
- PDF プレビュー時のヒント表示: 画面右下に Enter キー操作ガイドを表示(ローカライズ対応)
パフォーマンス最適化
- CPU コア数検出の改善: 論理コア数(ハイパースレッディング含む)を自動検出するように変更
- Release|x64 ビルド最適化: StringPooling、FunctionLevelLinking、IntrinsicFunctions、OptimizeReferences、EnableCOMDATFolding を統一設定
UI 改善
- PDF ヒントテキスト拡大: フォントサイズを 2 倍に拡大し、視認性を向上
設定変更
- Config ディレクトリ構造の整理: language と doc サブディレクトリを導入し、設定ファイルを整理
- INI デフォルト値の変更:
SkipFileOpenDialogOnStartup: false → true(起動時のダイアログを省略)DefaultWindowRect: image → auto(ウィンドウサイズを画面の 2/3 に自動調整)
- 不要ファイルの削除
開発環境改善
- リリース自動化スクリプト: release.ps1 でバージョン更新からリリースまでを一貫して自動化
- タスクランナー追加: Taskfile.yml で clean/build/release タスクを定義
- ビルド自動化改善: ポストビルドイベントにデバッグ出力を追加し、トラブルシューティングを容易に
- mimalloc.lib 配置改善: git 管理可能ディレクトリに配置し、クリーンビルド対応
v1.3.46.0-20260212.1
PDF の表紙プレビュー機能
- PDF 表紙(1 ページ目)のプレビュー表示を追加(PDFium ベース)
- 画面サイズに基づく最適 DPI 計算で高品質表示
- アンチエイリアシング有効(LCD テキスト最適化)
- Enter キーで OS 関連付けアプリ(Adobe Reader 等)を起動
- 画面右下にヒントテキスト表示
v1.3.46.0-20260130.2
パフォーマンス最適化
- スレッド数上限を 16→64 に拡大(ProcessingThreadPool)
- AVIF デコーダのスレッド数を INI 設定値(CPUCoresUsed)に変更
- mimalloc メモリアロケータを統合(マルチスレッド環境でのメモリ割り当て最適化)