release: v1.2.1 — 修复 SECRET_KEY 持久化问题

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
胡绍康andClaude Opus 4.6 committed 2026-03-02 12:24:10 +08:00
1 parent 8d5c8a04d6
commit ccef534a8c
1 file changed
+36
+36
View File
@@ -1,5 +1,41 @@
# DEVLOG(发布记录)
## v1.2.1(2026-03-02)
### 新增功能
- **智能 SECRET_KEY 管理系统**:自动初始化、持久化保存、重启保护,彻底解决数据丢失问题
- 首次启动自动生成 SECRET_KEY 并保存到 .env 文件
- 重启时使用现有 SECRET_KEY,不再重新生成
- 添加清晰的警告提示,提醒用户备份 .env 文件
- **README 界面截图展示**:添加仪表盘、邮箱界面、验证码提取、设置界面 4 张最新截图
### 修复
- **🔥 严重 Bug 修复**:修复 SECRET_KEY 每次重启都重新生成导致数据库加密数据无法解密的问题
- 问题表现:重启后提示"邮箱不存在"、"Failed to decrypt data"错误
- 根本原因:SECRET_KEY 变更导致 Fernet 加密密钥改变,无法解密旧数据
- 解决方案:start.py 添加智能环境初始化,确保 SECRET_KEY 持久化
- **自动环境配置**:如果 .env 文件不存在,自动从 .env.example 创建
- **智能密钥检测**:只在 SECRET_KEY 为占位符(your-secret-key-here)时生成新密钥
### 重要变更
- **start.py 重构**:添加 `ensure_env_file()` 智能环境初始化函数
- 自动检查并创建 .env 文件
- 智能判断是否需要生成新的 SECRET_KEY
- 显示友好的提示信息(首次生成 vs 使用现有)
- **截图更新**:清理 12 张旧截图,更新为 4 张最新界面截图
- **用户体验改进**:添加 SECRET_KEY 重要性说明和备份建议
### 测试/验证
- `python -m pytest tests/ --tb=short -q`:114 个测试全部通过
- **SECRET_KEY 持久性验证**:
- 首次启动:自动生成并保存 SECRET_KEY
- 重启验证:SECRET_KEY 保持不变(980bb366e44920382e395a3116de578b...)
- 多次重启:密钥始终一致,数据正常解密
- **数据加密解密验证**:
- 清空数据库后重新启动:使用相同 SECRET_KEY
- 导入新账号:数据正常加密存储
- 重启后读取:数据正常解密,无错误
## v1.2.0(2026-03-01)
### 新增功能