Repository navigation
Crepuscule 0.7.1 — harden diary write I/O
·
1 commit
to main
since this release
epk_diary_write 写入内部三项加固,借鉴 devkit 文件栈的经验、落到日记场景。
Changed
- 编码安全读:追加前读已有日记改用
utf-8-sig(吞 Windows 编辑器常留的 BOM);原文非合法 UTF-8(GBK / UTF-16 等)时拒绝追加并明确告知,绝不用errors="replace"静默腐蚀她亲手写的原文。同时修复此前encoding="utf-8"硬读抛UnicodeDecodeError不被except OSError接住、直接打崩工具调用的隐患。 - 原子写换
tempfile.mkstemp:同目录唯一临时名 + 安全创建,多消除一层并发撞名风险;newline=""统一只写\n,跨平台一致。临时名不匹配同步 glob,os.replace后不残留。
Added
- 写入审计日志:每次调用记一行
logger.info(正文长度 + 结果),绝不记正文本身。
验证
pytest 175 passed(新增 BOM / GBK-拒绝 / LF 三用例);ruff 干净;实机四判据全绿。
Full Changelog: Crepuscule-0.7.0...Crepuscule-0.7.1