Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 05 Jun 17:07
· 60 commits to main since this release
0d9d3fb

scripta v0.2.0 (Electron 版初回リリース)

Electron + React 19 + CodeMirror 6 + zustand v5 + Tailwind CSS v4 + Vite 8 + Biome 製のローカルファイルベース Markdown メモアプリ。

旧 Tauri 版(現在 private)の Electron への完全書き直し版。旧 userData (~/Library/Application Support/scripta/settings.json) との互換を保持しているため、旧版から移行しても workspace / window state は引き継がれます。

ダウンロード

各 OS の配布物は 未署名(コード署名・公証なし、旧 Tauri 版と同方針)。

OS アーキテクチャ ファイル
macOS Apple Silicon scripta-0.2.0-arm64.dmg
macOS Intel scripta-0.2.0.dmg
Windows x64 scripta.Setup.0.2.0.exe
Linux AppImage scripta-0.2.0.AppImage
Linux .deb scripta-next_0.2.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 を参照。

コア機能(旧 Tauri 版とパリティ)

  • ファイル I/O・chokidar ベース監視・純 JS 全文検索/ファイル名検索/未解決 wikilink スキャン
  • simple-git ベースの Git Sync(コンフリクト解決ウィンドウ付き)
  • OGP リンクカード / PDF / HTML / Prompt(.md) エクスポート
  • GitHub Releases API ポーリングによる手動アップデートチェック

新機能(旧版にない)

  • ローカル画像レンダリング用カスタムプロトコル scripta-asset://
  • OGP fetch の DNS rebinding 防御強化(pinSafeLookup / isGlobalIp
  • ファイルツリーの隠しファイル / 除外パターン制御
  • Settings に「今すぐアップデートを確認」ボタン
  • dialog:save 経由の window-scoped な短命 write capability

セキュリティ

  • contextIsolation: true / nodeIntegration: false / sandbox: true
  • CSP は production で unsafe-inline なし
  • scripta-asset:// は workspace 配下のみ配信(fail-closed)

既知の制限(v1.0.0 で対処予定)

  • 未署名配布(Gatekeeper / SmartScreen 警告)
  • 自動アップデート(electron-updater)未対応 — 手動でこの Release ページから更新
  • realpath 同期版(#31 で async 化予定)
  • approve リストがプロセス全体スコープ(#32 で window-scoped 化予定)

自動生成の全 PR 一覧(初回リリースのため全履歴を含む)

What's Changed

  • chore: GitHub リポジトリ初期セットアップ(Dependabot / セキュリティ / 設定) by @ymnao in #1
  • chore: Stage 0a — Electron + Vite + React の雛形を構築 by @ymnao in #2
  • chore: CI ワークフロー(lint / typecheck / test / build)を追加 by @ymnao in #3
  • chore: Stage 0b — 旧 React フロントエンドのコピー + Tauri 直接依存差し替え by @ymnao in #4
  • chore: 旧 scripta からユニットテスト 60 ファイルを復元(PR B) by @ymnao in #5
  • Stage 1: ファイル I/O を本物実装し path-guard で workspace 防御を導入 by @ymnao in #6
  • Stage 2: chokidar watcher と searchFilenames / scanUnresolvedWikilinks を実装 by @ymnao in #12
  • Stage 3: 純 JS で旧 Rust ロジックを移植して全文検索を実装 by @ymnao in #13
  • Stage 4: simple-git で git sync 移植 + コンフリクト解決ウィンドウ by @ymnao in #14
  • Stage 5: OGP / PDF / アップデートを Node stdlib で実装 by @ymnao in #15
  • Stage 6: ウィンドウ状態の永続化とアプリケーションメニュー by @ymnao in #16
  • Stage 6: e2e テスト基盤(Playwright + window.api モック)を追加 by @ymnao in #17
  • Stage 6: 旧 Tauri 版 e2e 22 spec を Electron renderer-only モードへ移植 by @ymnao in #18
  • Stage 6: 配布パイプラインの基盤整備(electron-builder + release workflow) by @ymnao in #19
  • fix: Stage 6 配布パイプラインのレビュー反映(アップデート URL / dev 分離) by @ymnao in #20
  • docs: 機能パリティ確認チェックリストを追加(Stage 6 GO/NO-GO 判定用) by @ymnao in #21
  • feat: ローカル画像レンダリング用カスタムプロトコル scripta-asset:// を登録 by @ymnao in #35
  • Chore(deps): Bump dompurify from 3.4.1 to 3.4.2 by @dependabot[bot] in #11
  • Chore(deps): Bump marked from 18.0.2 to 18.0.3 by @dependabot[bot] in #10
  • Chore(deps-dev): Bump @biomejs/biome from 2.4.13 to 2.4.14 in the lint-format group across 1 directory by @dependabot[bot] in #9
  • Chore(deps-dev): Bump the vite group across 1 directory with 2 updates by @dependabot[bot] in #8
  • Chore(deps-dev): Bump electron from 41.3.0 to 42.0.0 in the electron group across 1 directory by @dependabot[bot] in #7
  • feat: scanUnresolvedWikilinks の cancellation 対応 (closes #30) by @ymnao in #36
  • fix: electron 42 への対応(バイナリ取得補完 + module external 化) by @ymnao in #37
  • test: dialog.ts の IPC ハンドラ直接テストを追加 (closes #23) by @ymnao in #38
  • feat: OGP fetch の DNS rebinding 防御強化 (closes #29) by @ymnao in #39
  • docs: v0.2.0 リリース向け docs 刷新 (closes #24) by @ymnao in #40
  • fix: タイトルバー / タブバー UX 改善 (closes #41) by @ymnao in #43
  • fix: 罫線 (---) のカーソル行で raw 表示に戻す (closes #42) by @ymnao in #44
  • chore: pnpm 11.1.1 へ更新し、設定を pnpm-workspace.yaml に集約 by @ymnao in #57
  • feat: ファイルツリーで隠しファイル / 除外パターン設定を追加 (closes #45) by @ymnao in #56
  • Chore(deps-dev): Bump @types/node from 25.6.0 to 25.7.0 by @dependabot[bot] in #54
  • chore: 依存関係をまとめて更新 (Dependabot 9 PR 統合) by @ymnao in #60
  • Chore(deps): Bump write-file-atomic from 7.0.1 to 8.0.0 by @dependabot[bot] in #55
  • fix: git.test.ts のネットワークエラーテストを flaky から安定化 by @ymnao in #74
  • chore: 依存関係まとめ更新 + brace-expansion DoS 対応 (Dependabot 8 PR + alert #6) by @ymnao in #75
  • chore: pnpm dedupe で transitive 重複を統合 (dompurify ほか -6 packages) by @ymnao in #77
  • chore: electron を 42.0.1 から 42.2.0 へ更新 (Dependabot #62) by @ymnao in #78
  • feat: katex を 0.16.45 から 0.17.0 へ更新 (Dependabot #73) by @ymnao in #80
  • docs: 探索 QA チェックリストを追加 (#94 B 先行実施用) by @ymnao in #95
  • docs: Tauri 完全除去 Phase 1 PR-1 (inventory + ADR scaffolding) by @ymnao in #102
  • chore: Tauri 残骸検出 CI ガードを追加 (#82 Phase 1 PR-2) by @ymnao in #103
  • test: 実 Electron e2e 基盤 + safety net (#82 Phase 1 PR-3, closes #33) by @ymnao in #104
  • refactor: build target を Electron 42 の実ランタイムへ最適化 (#87) by @ymnao in #105
  • refactor: Mermaid の WKWebView 対策コードを削除し thin 化 (#83 Phase 2 PR-2-1) by @ymnao in #107
  • refactor: composingClass ViewPlugin を削除し IME 対策を thin 化 (#83 Phase 2 PR-2-2) by @ymnao in #108
  • refactor: inline code span スキャンの WebKit/Tauri 由来コメントを書換 (#83 Phase 2 PR-2-3) by @ymnao in #109
  • refactor: convertFileSrc を buildAssetUrl へ rename (#84 Phase 3 PR-3-1) by @ymnao in #110
  • docs: Phase 3 の設計判断を ADR 0001-0006 に起票 (#84 Phase 3 PR-3-5) by @ymnao in #111
  • refactor: コード全体の Tauri/Rust 言及コメントを除去 (#84 Phase 3 PR-3-4) by @ymnao in #112
  • refactor: commands.ts を IPC client/retry layer 化し settings を集約 (#84 Phase 3 PR-3-2/3-3) by @ymnao in #113
  • refactor: IPC エラーを structured error 化 (Tauri purge Phase 5, #85) by @ymnao in #114
  • refactor: 実 Electron e2e を拡充しテスト戦略を精査 (Tauri purge Phase 4, #86) by @ymnao in #115
  • fix: テーブル系の挙動を修正(ショートカット統一 / セル paste / 境界カーソル) by @ymnao in #116
  • fix: リスト/見出し系のカーソル位置と Enter 継続 (#91, #92) by @ymnao in #117
  • fix: テーブル境界カーソル / Cmd+Z / focusout 等の再修正(#89 #90) by @ymnao in #120
  • fix: KaTeX CSS の CDN URL を bundle 同梱版と動的同期 (#79) by @ymnao in #124
  • fix: PDF / editor の Mermaid ラベル消失・サイズ過大を 6 層 defense で解消 (#106) by @ymnao in #130
  • fix: PDF 改ページの過剰問題を hybrid 設計で解消 (#93) by @ymnao in #131
  • fix: 等幅フォントが macOS で proportional fallback する問題を解消 (#97) by @ymnao in #132
  • docs: fs:write を atomic 化しない設計判断を明記 (#100 / #133 wontfix) by @ymnao in #134
  • fix: #96 URL paste と md リンク/OGP カード UX 改善 by @ymnao in #135
  • fix: #118 順序付きリストの Tab/Shift+Tab で list-aware なインデント+再採番 by @ymnao in #136
  • fix: #101 OGP fetch に AbortController を実装して cancel 可能化 by @ymnao in #137
  • feat: #98 Settings に「今すぐアップデートを確認」ボタンを追加 by @ymnao in #138
  • chore(deps): 6 件の依存を一括 update + dedupe (#123 #125 #126 #127 #128 #129) by @ymnao in #139
  • chore(deps-dev): electron を 42.2.0 → 42.3.3 に update (#122) by @ymnao in #140
  • chore: リポジトリリネーム (scripta-next → scripta) に伴う source 更新 (#28) by @ymnao in #141
  • release: v0.2.0 (Electron 版初回リリース) by @ymnao in #61
  • fix: 構造化エラーの kind を contextBridge 越しに復元(git no-diff 誤「失敗」修正) by @ymnao in #142
  • chore: copyright 年を 2025 → 2026 に更新(LICENSE と統一) by @ymnao in #143

New Contributors

Full Changelog: https://github.com/ymnao/scripta/commits/v0.2.0