v0.3.0
scripta v0.3.0
v0.2.0(Electron 版初回リリース)からのアップデート。テーブル UX とエクスポート品質の改善、KaTeX の完全オフライン化、v0.2.0 で「既知の制限」として挙げていた approve リスト / realpath / e2e の構造課題の解消が主軸。
ダウンロード
各 OS の配布物は 未署名(コード署名・公証なし、v0.2.0 と同方針)。
| OS | アーキテクチャ | ファイル |
|---|---|---|
| macOS | Apple Silicon | scripta-0.3.0-arm64.dmg |
| macOS | Intel | scripta-0.3.0.dmg |
| Windows | x64 | scripta.Setup.0.3.0.exe |
| Linux | AppImage | scripta-0.3.0.AppImage |
| Linux | .deb | scripta-next_0.3.0_amd64.deb |
初回起動時の手順(未署名のため警告が出ます)
- macOS: 初回は Finder で .app を Ctrl+クリック → 「開く」 を選択(または
xattr -d com.apple.quarantine /Applications/scripta.app) - Windows: SmartScreen の「Windows によって PC が保護されました」で 「詳細情報」 → 「実行」 を選択
- Linux (.deb): パッケージ名は
scripta-nextですが、起動するアプリはscriptaです(package.json:name と productName の差分による命名、機能は同じ)
主な変更内容
詳細は CHANGELOG.md を参照。
Added
- テーブル UX: セルをまたぐ範囲選択 + TSV コピー/ペースト (#148)、表外への TSV ペーストで Markdown テーブルを自動生成 (#159)
- アイコンボタンの tooltip: 機能名 + ショートカットキーをカスタム tooltip で表示。
disabled属性ではなくaria-disabled+ onClick ガードで「無効時も hover で説明が出る」設計 (#178) - KaTeX オフライン化: CSS / フォントを完全にローカル同梱、外部 CDN への fetch なし (#145)
Changed
- approve リストの window-scoped 化: プロセス全体スコープから per-window スコープへ。同一プロセス内の別ウィンドウから approve が漏れない設計に (#150, #151)
- path-guard の realpath を async 化: 同期版
realpathSyncからfs.promises.realpathへ。メインプロセスのイベントループを塞がない (#149) - UI 全体のブラッシュアップ: タブバー / アイコン / 余白の整理 (#162)
Fixed
- エディタ: テーブル境界の巨大キャレット修正と gap cursor 導入 (#168)
- エディタ: リスト / タスクリストのマーカー隙間クリックでの構文破壊 (#164)
- エディタ: 複数行選択ハイライトのエディタ左右 padding 領域はみ出し (#166)
- エディタ: 未セーブインジケータでタブ幅が変動するバグ (#165)
- エディタ: タスクリストの Tab ネスト幅を bullet と揃えて 2 スペースに統一 (#179)
- ファイル I/O: オートセーブが停止しうる 2 経路を防御的に塞ぐ (#163)
- PDF エクスポート: display math の寛容パターンを export にも適用 (#170)
Security
v0.2.0 の「既知の制限」進捗
- ✅ approve リストはプロセス全体スコープ (#32) → window-scoped 化で解消
- ✅
realpathは同期版 (#31) → async 化で解消 - ✅ e2e テストは renderer-only モード → 実 Electron e2e job を CI に追加、ローカルでも
pnpm test:e2e:electronで実行可能
既知の制限(v1.0.0 で対処予定)
- 未署名配布(Gatekeeper / SmartScreen 警告は v0.2.0 同様)
- 自動アップデート(electron-updater)未対応 — 手動でこの Release ページから更新
自動生成の全 PR 一覧(v0.2.0...v0.3.0)
What's Changed
- chore: v0.2.0 post-publish cleanup(CHANGELOG 確定 + legacy-residue 撤去 + test 修正) by @ymnao in #144
- feat: KaTeX CSS/font 完全オフライン化 + tmp 脆弱性解消 by @ymnao in #145
- feat: テーブルセルをまたぐ範囲選択 + TSV コピー/ペースト (#119) by @ymnao in #148
- refactor: path-guard の realpath async 化(#31) by @ymnao in #149
- refactor: approve リストを window-scoped に変更 (#32) by @ymnao in #150
- refactor: approve window-scoped 化のコード簡潔化 by @ymnao in #151
- feat: 表外への TSV ペーストで Markdown テーブルを自動生成 by @ymnao in #159
- chore: Dependabot PR 7件を一括更新 (#152-#158) by @ymnao in #160
- style: UIの全体的なブラッシュアップ by @ymnao in #162
- fix: オートセーブ停止につながる 2 経路を防御的に塞ぐ by @ymnao in #163
- fix: リスト/タスクリストのマーカー隙間クリックで構文破壊するバグを修正 by @ymnao in #164
- fix: 未セーブインジケータでタブ幅が変動するバグを修正 by @ymnao in #165
- fix: 複数行選択ハイライトがエディタ左右 padding 領域にはみ出すバグを修正 by @ymnao in #166
- fix: テーブル境界の巨大キャレット修正と gap cursor 導入 (#146, #167) by @ymnao in #168
- fix: PDF エクスポートの display math をエディタと同じ寛容マッチに変更 (#169) by @ymnao in #170
- fix: e2e の Vite dev server の bind 先を 127.0.0.1 に明示 (#171) by @ymnao in #173
- fix: watcher integration テストの registerWorkspaceRoot を await (#172) by @ymnao in #174
- chore: Biome nursery ルール noFloatingPromises を有効化し既存違反 10 件を解消 by @ymnao in #176
- feat: アイコンボタンに機能名+ショートカットを表示するカスタム tooltip を追加 (#161) by @ymnao in #178
- fix: タスクリストの Tab ネストを bullet と同じ 2 スペースに修正 by @ymnao in #179
- refactor: 残存するローカル platform 判定を platform.ts に統一 (#177) by @ymnao in #182
- refactor: watcher.integration.test.ts の symlink テスト整理 (#175) by @ymnao in #183
- refactor: temp workspace の test fixture を test-utils に集約 by @ymnao in #184
- release: v0.3.0 by @ymnao in #185
Full Changelog: v0.2.0...v0.3.0