Release Notes: v0.1.3
Release Notes: v0.1.3 (2025-09-21)
Compare: v0.1.1 → v0.1.3
注意: v0.1.2 は欠番です(スキップ)。
Summary
v0.1.1 から v0.1.3 にかけて、運用性と管理機能の強化を中心に多数の改善を行いました。特に「データベースバックアップ管理」「リリースノート表示」「お知らせ一覧」「CATCH発送の反映と在庫閾値アラート(メールキュー)」など、管理者向けの機能を拡充しています。
Features
- 資材の一括登録機能(管理画面)
- タブ区切りのテキストデータを貼り付けることで、複数組織の資材を一括で登録。
- Excelからのコピー&ペーストを想定し、改行を含むセル(ダブルクォートで囲まれたデータ)のパースに対応。
- 登録前にプレビュー画面で内容を確認可能。
- リリースノート閲覧機能を追加
- docs/release-notes 下の Markdown を自動検出・一覧表示
- Goldmark による Markdown → HTML 変換
- 現在のビルドバージョンを検出し該当ノートがあれば強調表示
- データベースバックアップ管理(管理画面)
- バックアップの作成・一覧表示・削除を UI で実行
- 既存 DB を指定バックアップに置き換える「切り替え」機能(切り替え後は手動再起動が必要)
- メタデータ(名称・コメント・作成日時)を JSON で管理し、新しい順に表示
- お知らせ一覧ページを追加
- docs/informations の Markdown を日付順に一覧化(HTML 変換して表示)
- CATCH 発送の反映ワークフロー強化
- タイトル単位で発送件数を在庫トランザクションへ反映(見本分の自動加算を含む)
- 反映取消(トランザクションセットの削除)に対応
- 反映時に各組織の最小在庫を計算し、警告閾値以下の組織にメール通知をキューイング
- メールキュー管理
- メールキュー一覧 API/画面、再送、バッチ実行(擬似送信・ドライラン結果保存)
- 一括出庫(管理)
- 理由とカテゴリ別数量(CATCH/その他/見本)で複数マテリアルに一括適用
Improvements
- 管理 UI の細部を調整(ボタン状態制御、読み込み表示、モーダルダイアログ等)
- 在庫計算系の共通ロジック整備(指定日時時点の在庫、最小在庫算出)
- ルーティング/ハンドラの整理とエラーメッセージの明確化
Fixes
- 組織管理の編集機能が動作しない不具合を修正
- 組織情報の更新API(
PUT /admin/organizations/:id)を実装し、編集内容が保存されるように修正。 - 編集中に組織番号が重複しないように検証する機能を追加。
- 組織情報の更新API(
- 一部の入力検証の不足を補強(空値、フォーマットチェック、存在確認など)
- バックアップ/復元処理まわりのエッジケース対応(メタデータやファイル存在チェック)
Build/Deps
- Markdown レンダラーに Goldmark を採用(リリースノート用)
- magic link ライブラリを v0.1.3 に更新
Docs
- リリースノート(本ファイル)追加
- 運用お知らせ(docs/informations/2025-09-20.md, 2025-09-21.md)を追加
Breaking Changes
- なし
Upgrade Notes
- データベースをバックアップに切り替えた場合は、手動でサーバー再起動が必要です。
- メール送信はキューに蓄積後バックグラウンド処理で実行されます。SMTP 等の設定が必要な場合は環境変数/設定をご確認ください。
Notable Components/Files
- internal/handlers/release_notes.go(リリースノート一覧/詳細)
- web/templates/release_notes_index.gohtml, release_notes_detail.gohtml
- internal/services/database_backup.go, internal/handlers/database_backup.go
- web/templates/admin_db_backups.gohtml(バックアップ管理 UI)
- internal/services/information_service.go, internal/handlers/information_handler.go
- web/templates/informations_index.gohtml
- 管理機能の強化: internal/handlers/admin.go(CATCH 反映/取消、メールキュー、在庫系 API など)