Repository navigation
Releases
v0.3.0
- 起動高速化(チェックリストとロゴの遅延読み込み)
- 自動アップデート(起動30秒後 + 24時間おき、手動確認あり)
- Windows MSIX / MSI、macOS dmg のリリース整備
- チェックリストの初出フィルタ、並び替え、サークルマップ改善
- Microsoft Store 提出用 MSIX(0.3.0.0)
What's Changed
- chore(rename): アプリを Ligrol、パック形式を nartik に改名 by @MegaBlackLabel in #22
- feat(tbf): 技術書典21と自作サークルマップを追加 by @MegaBlackLabel in #23
- feat: 起動高速化・自動更新・Store 配布とチェックリスト改善 by @MegaBlackLabel in #24
Full Changelog: v0.2.13...v0.3.0
v0.2.13
-
UI フレームワーク: gpui-kit 0.8.0(crates.io 版)へ更新し、gpui-wry を gpui-webview に移行。
0.8.1 は gpui-pre-macos 0.3.10 が stable Rust 1.97 で未安定 API を使うため macOS を
ビルドできず、上流修正まで 0.8.0 に固定しています。 -
依存更新: sqlx 0.9 / rand 0.10 / ureq 3.5 / lindera 6.2 / keyring 4 / resvg・usvg 0.49 /
aes-gcm 0.11 / sha2 0.11 / libsqlite3-sys 0.37 など。sqlx 0.9 の動的 SQL は
AssertSqlSafe を明示(補間はテーブル名・列名だけ、値は bind のまま)。 -
修正: 見開きの最終見開きで次ページへ空送りしない。Google 未ログイン時に
終了時のアップロード確認を出さない(保存済みプロフィールだけ残っている場合)。
互換性: 既存のバックアップと pack はそのまま読めます。libwebp-sys 0.14 は webp の
更新待ちで保留しています。詳細は CHANGELOG.md を参照してください。
What's Changed
- feat: キーボード操作の拡充と各種修正(FANZA タグ・終了時アップロード・保存先・ビューアー) by @MegaBlackLabel in #19
- feat(fantia): Fantia のログイン・同期・本棚対応と、取り込み/表紙の修正 by @MegaBlackLabel in #20
- chore(release): v0.2.13(gpui-kit 0.8.1・依存更新・不具合修正) by @MegaBlackLabel in #21
Full Changelog: v0.2.12...v0.2.13
v0.2.12
-
サンプル(デモ)モード:
--demo/THUNDOKU_DEMO=1で、メモリ内 DB・一時ディレクトリ・
メモリ keyring だけを使い、架空の 50 冊(技術書典)で本棚・ビューアー・履歴・付箋・
チェックリストを試せるようにした。通常のデータ保存先には書き込まず、ネットワークにも出ない
(ストア同期 / 表紙 / タグ / Drive / ログイン / チェックリスト同期 / 保存先変更を止め、
ログアウト・Drive 削除・全データ削除も無効化)。ログと二重起動ロックも本物の起動と分ける -
ログをデータディレクトリに出す: 出力先を
<データディレクトリ>/logs/thundoku.log
(全 OS 共通)に変え、レポート画面から格納先を表示して開けるようにした(#8) -
表紙バンドル: 未ダウンロードの本の表紙を
thundoku-thumbs.jsonとして同じ Drive フォルダへ
上げ、Web 版の本棚で表示できるようにした(PRK が無いときは上げない。封筒は用途ラベル付きの
SealedEnvelopeに一般化。既存バックアップのバイト列は変えていない) -
端末間のユーザーデータ:
owner_subとpage_notes.memoを暗号化バックアップでは平文で
運び、取り込む端末の鍵で暗号化し直す方式にした(別 PC のデータが来ず付箋が空になる問題の
修正)。設定の「同期」でも Drive のバックアップ(お気に入り・付箋・履歴)を取り込み、
ローカルのユーザーデータが 0 件のときは Drive のバックアップを上書きしない -
サイドバーの開閉を一番上のボタンに(#7)、ツールバーが見切れる幅までウィンドウを
狭められないようにし(#5)、レポートの下書きにアプリのバージョンを自動で入れる(#4) -
修正: 表紙プレースホルダの文字が描画されない(システムフォント未読込で
usvgが
文字を捨てていた)、Google ログイン / 「Issue を作成」で落ちる(ShellExecuteWを描画中に
呼んでいた)、BOOTH の購入ライブラリが同期されない(Cookie をDomain属性で送り分ける)、
macOS で画面が真っ黒 / ログイン WebView が 0×0(build_as_childに変更)、終了時の
アップロード失敗が画面に出ずに終了していた、未アップロードの変更が無いのに終了時の保存確認が
出ていた(#6)、ビューアーのページスライダーが綴じ方向に追従しない、ログにセッション Cookie の
値が残る、ほか
セキュリティ: 依存の脆弱性は 0 件(CI の cargo audit が green。例外は .cargo/audit.toml に
理由と見直し時期つきで記載)。既存のバックアップと pack はそのまま読める(互換性を壊す変更は
今回なし)。詳細は CHANGELOG.md を参照
What's Changed
- fix(report): ブラウザーを update の外で開く(「Issue を作成」で落ちるのを直す) by @MegaBlackLabel in #9
- chore(report): 画像は GitHub の Issue 画面でアップロードする案内に揃える(テンプレートの 補足欄を削除) by @MegaBlackLabel in #11
- feat(report): 下書きのバージョン欄にアプリのバージョンを自動で入れる(#4) by @MegaBlackLabel in #13
- fix(bookshelf): 本の上のメニューが見切れる幅まで狭められないようにする(#5) by @MegaBlackLabel in #14
- fix(exit): 未アップロードの変更が無ければ終了時の保存確認を出さない(#6) by @MegaBlackLabel in #15
- feat(sidebar): 開閉を一番上のボタンにし、ナビ行の右余白を揃える(#7) by @MegaBlackLabel in #16
- feat(logging): ログをデータディレクトリに出す(レポート画面から格納先を開ける)(#8) by @MegaBlackLabel in #17
- feat(demo): サンプル(デモ)モードを追加 by @MegaBlackLabel in #18
New Contributors
- @MegaBlackLabel made their first contribution in #9
Full Changelog: v0.2.11...v0.2.12
v0.2.11
-
BOOTH の複数ファイル選択: 1 商品に複数のダウンロード(PDF + 画像 ZIP など)がある本で、2 個目以降が無視されていた(パーサーが最初の 1 件だけを採用し、商品ブロックも先頭 4,000 バイトで切っていた)。全候補を保存し、ダウンロード時に 2 件以上のときだけファイルを選べるようにした(1 件以下は従来どおり即開始、選択は記憶しない)
-
Drive から pack だけで復元したときの欠落を解消:
books.site_id/tbf_product_idとページ本文(document_text)が戻らなかった。pack のmetadata.jsonにsourceを追加し、本文は専用エントリdocuments/text.jsonl(他エントリと同じ暗号化・per-entry deflate)で運んで復元時に戻す(形態素解析は取り込みと同じ経路で再生成)。古い pack は従来どおり復元でき、0.2.11 で作った pack も 0.2.10 以前で開ける(本文エントリはパス指定で読むため読み飛ばされる) -
Drive の同期フォルダが増え続ける問題:
drive.sync.folder_idを失うたびにcreate_folderしていたため、My Drive 直下に同名フォルダが 14 個まで溜まっていた。確保の前にルート直下の同名フォルダを探して再利用する(複数あるときは更新の新しいものを選び、警告ログに件数と ID を出す。古いフォルダは消さない) -
Drive のバックアップ: 設定に「書籍のバックアップ」ON/OFF(
drive.sync.books・行が無ければ ON)を追加。OFF は本のファイルの送受信だけを止め、本棚の DB バックアップと鍵の同期は続ける。試し読み(product_sample_pages)もバックアップ対象に加えた(画像本体は除き、開くときに自サイトから取り直す) -
修正: 鍵の初回作成が並行すると別の鍵が保存されて復号できなくなる問題(同時に初回アクセスされると、先に返した鍵で暗号化した列や pack が復号不能になっていた)
-
開発・コンプラ: 依存ライセンスの許可リストを CI で強制(GPL / AGPL 系や未知のライセンスが混入したら落ちる)、配布物(Windows / macOS の zip)に
LICENSEと同梱アセットのライセンス全文を同梱、SECURITY.md/CONTRIBUTING.md/CODE_OF_CONDUCT.md/ PR テンプレートを追加、Actions の完全なコミット SHA 固定とmainの必須ステータスチェックを有効化
セキュリティ: cargo audit の脆弱性は 0 件(例外は .cargo/audit.toml に理由と見直し時期つきで 1 件)。互換性を壊す変更は今回なし(0.2.10 の DB 暗号化の注意はそのまま有効)。詳細は CHANGELOG.md を参照
Full Changelog: v0.2.10...v0.2.11
v0.2.10
破壊的変更(データの互換性): DB の機密列(ページ本文・形態素解析・付箋メモ)を暗号化した形式(enc:v1:BASE64(IV||暗号文||タグ))で保存するようになった。起動時に既存の平文行を一度だけ移行するので、0.2.10 で起動した DB は 0.2.9 以前では正しく読めない(復号できず、ページ本文・付箋メモが表示されない)。複数端末で使うときは、すべての端末を 0.2.10 以降に揃えてから同期すること。
- ビューアー: 左右のクリック帯が綴じ方向に従う(右綴じで「左を押すと戻る」)、高解像度のページが荒れて見える(前縮小が効いていない)、ページ送り/戻しの帯にカーソルを合わせるとメニューが出る、を修正
- タグ: 「表示中のタグ取得」を追加(FANZA同人 / DLsite)。PDF で取り込んだ本にもストアのジャンルタグを反映
- その他: ダウンロードを一時ファイル経由に(4 GiB 級の本でメモリを数 GB 使う問題)、Drive から削除 / バックアップ対象外の切替、DB の機密列の暗号化、未ログイン取り込みの fail-closed 化、セッション期限の統一(詳細は CHANGELOG を参照)
Full Changelog: v0.2.9...v0.2.10