================================================================================
  LegalOS 更新履歴
================================================================================


v1.0.5 (2026-05-03)
--------------------------------------------------------------------------------

[本リリースの位置付け]
  - LegalOS v1.0.5 の外部配布用 正式版 EXE です。
  - 機能・DB スキーマ・workflow / action / repository / license の動作は
    社内安定化版と同一です。本リリースでは外部配布向けに
    パッケージ名・画面表示・ドキュメント表記を整理しています。

[製品名・配布物の表記]
  - 製品名:           LegalOS v1.0.5
  - 配布フォルダ名:   LegalOS_v1.0.5
  - 配布 ZIP 名:      LegalOS_v1.0.5.zip
  - アプリ画面表示:   「LegalOS v1.0.5」（恒常的なエディション語は付けません）
  - 本 EXE は未認証時のみ「30 日無料トライアル」として動作し、
    ライセンスキー入力後は「製品版」として継続的にご利用いただけます。
    ライセンス状態（トライアル中 / 製品版ライセンス認証済み）は、
    ログイン画面のトライアルバナーで動的に表示されます。
  - 本配布物（CHANGELOG / README / LICENSE / 同梱 PDF / 画面表示）からは
    社内段階のビルド識別子を除去しています。
  - APP_BUILD_STAMP は内部ビルド識別子としてのみ残置しており、
    画面ヘッダー帯には表示しません。サポート問い合わせ時に
    「ヘルプ → バージョン情報」ダイアログで確認できます。

[同梱物]
  - DB スキーマ・設定キー・運用フローは v1.0.5 安定版と完全互換です。


--------------------------------------------------------------------------------
  v1.0.5 で追加・改善された主な機能（v1.0.4 → v1.0.5）
--------------------------------------------------------------------------------

[30 日無料トライアル制御 + ライセンスキー認証]
  - 初回起動から 30 日間は全機能を利用可能なトライアル期間として動作します。
  - %APPDATA%/LegalOS/license.dat に状態を保存（HMAC 改ざん検知付き）。
  - 30 日経過で起動時にライセンスキー入力ダイアログを表示します。
  - HMAC-SHA256 ベースの 1 キー方式で恒久解除が可能です。
  - オフライン完結（ネットワーク・外部サービス通信は一切行いません）。
  - ログイン画面に「トライアル版（残り N 日）」「ライセンスキー入力」リンク
    または「製品版ライセンス認証済み」状態バナーを表示します。
  - ライセンスキー入力欄は右クリックメニュー / Ctrl+V / Shift+Insert に対応し、
    Windows + 日本語 IME 環境でも安定して貼り付けが可能です。

[ログイン画面のコピー & ペースト補強]
  - ログインID欄・パスワード欄で Ctrl+V / Ctrl+A / 右クリック貼り付けが
    確実に動作するよう、明示キーバインドと右クリックメニューを追加しました。
  - パスワード欄では「切り取り」「コピー」を無効化（DISABLED）し、
    クリップボードへの平文流出を防止しています。
  - パスワード欄に貼り付け後も伏字表示（show="*"）が維持されます。

[初期設定ウィザード（4 ステップ）]
  - 初回起動時に 4 ステップの初期設定ウィザードを表示します。
      Step 1 / 4: 保存先（一般 / 機密案件フォルダ・DB 配置）
      Step 2 / 4: 会社情報（ログイン画面に表示する会社名）
      Step 3 / 4: 初期部署（営業部 / 法務部 / 経営企画部 / 監査部 + 任意追加）
      Step 4 / 4: 管理者アカウント（表示名 / ログインID / パスワード）
  - Step 1 へは何度でも戻れます（同値再適用は no-op）。
  - 既存 yaml の手編集も従来どおり可能です（後方互換）。
  - 設定保存は yaml をアトミック書き込み（一時ファイル + os.replace）し、
    書き込み前に .bak を生成、書き込み後に再読込で値整合を verify します。
    失敗時は .bak から自動復元します。

[管理画面の強化]
  - ロック状態の可視化と手動アンロック
      * ユーザー一覧 Treeview に「ロック」列と上部ツールバーの
        「ロック解除」ボタンを追加。一覧画面から直接ロック解除が可能です。
      * 自分自身のロック解除は禁止（警告ダイアログ）。
      * USER_UNLOCKED 監査ログを記録します。
  - 仮パスワード自動生成
      * 大文字・小文字・数字・記号を最低 1 文字ずつ含む 12 文字を生成。
      * 紛らわしい文字（0/O, 1/l/I, o）を除外。
      * パスワードリセットダイアログに「自動生成」「コピー」ボタン。
  - パスワードポリシーの中央化（最低 8 文字以上）。
  - 認証監査ログ Treeview のダブルクリックで詳細ダイアログを表示
    （JSON detail を整形・コピー可）。

[バックアップ機能（管理画面 → バックアップタブ）]
  - 軽量モード:  legaldesk.db + legal_os.db + 設定 yaml + manifest（数 MB）
  - フルモード:  上記 + 一般案件フォルダ + 機密案件フォルダ（数 GB の可能性）
  - SQLite Connection.backup() API で WAL モード対応の整合コピー。
  - manifest.json に schema_version / mode / files / source / environment
    を記録します。
  - threading でバックグラウンド実行、進行状況を逐次表示。
  - 失敗時は成功した処理 / 失敗した処理を UI と監査ログに明示します。
  - BACKUP_EXECUTED 監査ログ（success フラグ付き）を記録します。
  - ZIP は暗号化されません。保存先の管理にご注意ください。

[復元機能（管理画面 → 復元タブ）]
  - 2 段階方式:
      Stage A (準備, 起動中): バックアップ ZIP を選択 → 自動バックアップ作成
        → staging に展開 → restore_pending.json を書き込み
      Stage B (適用, 起動時): main.py 冒頭で flag を検出 → ファイル差し替え
  - 復元前に必ず軽量モードの自動バックアップを作成します。
  - 適用順序: DB → yaml → storage（固定）。
  - storage 復元はチェックボックスで明示選択（デフォルト OFF・フル ZIP のみ）。
  - 「復元」と入力させる確認ダイアログで誤操作を防止します。
  - 失敗時は .replaced.bak から自動ロールバックします。
  - RESTORE_EXECUTED 監査ログを記録します。

[ファイル閲覧制御の防御補強]
  - 案件フォルダ直開きで area 制御を迂回できる経路を塞ぎました。
    OS Explorer 経路にも area 別の閲覧ポリシーが適用されます。
  - 「案件フォルダを開く」ボタンを役割別動作に変更:
      * legal / legal_manager / system_admin
          → 従来どおり案件ルートを開きます。
      * 営業 / 承認者 / 監査担当 / その他
          → 閲覧可能 area サブフォルダのみを順に開きます。

[ワークフロー列の表示復旧]
  - 法務担当者ホームほか各ホーム一覧の WF / ワークフロー列が空欄になる
    不具合を修正しました。
  - 既存案件への workflow instance 一括付与スクリプトを同梱しています。

[Windows 高 DPI 対応 / 第一印象改善]
  - DPI awareness（PerMonitorV2 相当）と Tk scaling を有効化。
    125% / 150% スケーリング環境での「ぼやけ」を改善しました。
  - フォント family を明示（Windows: Yu Gothic UI）し、ttk theme を統一。
  - SetupFrame / LoginFrame のブランドタイトル / 入力欄高さ / 余白を整理。


[仕様・互換]
  - DB スキーマ変更なし。v1.0.4 と完全互換です。
  - 設定キーの追加なし。新規キー無しで全機能を実装しています。
  - 既存ユーザーのアップグレードは EXE と同階層ファイルの上書きのみで可能です。
  - 起動時の DB 再構築・yaml 書き戻しは graceful migration として動作します。

[新規イベント種別（auth_audit_logs.event_type）]
  - user_unlocked
  - backup_executed
  - restore_executed


[既知の制約]
  - PDF マニュアル（管理者・利用者）は v1.0.4 系の本文を暫定同梱しています。
    ウィザード / バックアップ / 復元の章追加は正式版で更新予定です。
  - 同梱の管理者マニュアル「既知の制約」章も併せてご参照ください。
  - HMAC SECRET はソース内埋め込みです（将来の販売数増加時にビルド時注入
    方式へ移行予定）。
  - license.dat の物理削除でトライアル期間がリセットされます
    （簡易制御のため意図された挙動）。


--------------------------------------------------------------------------------
過去の更新履歴は CHANGELOG_v1.0.4.txt / CHANGELOG_v1.0.3.txt を参照してください。
================================================================================
