Skip to content

Crepuscule 0.7.1 — harden diary write I/O

Choose a tag to compare

@LoveS0ph1e LoveS0ph1e released this 06 Jul 16:47
· 1 commit to main since this release
f73bbff

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