Skip to content

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 14 Sep 07:21
· 48 commits to main since this release
b2aa01c

安全

  • Web 控制台重做鉴权:HMAC 签名会话 cookie(7 天有效期)替代固定值 cookie,修复未配置账密时提交空表单即可获得会话的漏洞
  • 新增跨站请求伪造(CSRF)防护与 1MB 请求体上限;API 未登录返回 401 并自动跳转登录页
  • 登录校验改用常数时间比较,防范时序侧信道

修复

  • 修复默认数据库路径(相对路径 data/wxread.db)无法启动的回归 (#17)
  • 推送渠道:HTTP 非 2xx、响应非 JSON 不再误判为推送成功
  • 微信读书客户端:请求 70 秒超时防挂起;401 统一触发凭据续期;续期失败不再丢失已轮换的凭据
  • 删除账号时连带清理其历史日志与阅读配置

变更

  • 进程优雅退出:Ctrl+C 时先停止后台阅读会话并保留断点,再关闭数据库
  • 阅读会话改为用户主动停止或上报失败后当日视为结束(断点仅用于异常退出恢复,次日自动开新会话)
  • 首次心跳改为立即执行,不再等待 30 秒

其他

  • 会话签名密钥持久化:升级后首次启动需重新登录一次,此后重启/升级不再掉登录
  • 新增 web 包单元测试

What's Changed

  • build(deps): update package hashes for v0.1.2 by @27Aaron in #12
  • chore: apply gofmt formatting by @27Aaron in #14
  • fix: harden error handling in store, weread client, and notify by @27Aaron in #15
  • feat(web): signed sessions, CSRF protection, and request limits by @27Aaron in #16
  • fix(store): resolve db path to absolute before building DSN by @27Aaron in #17
  • feat(web): move farm sessions under server lifecycle by @27Aaron in #18
  • feat(store): clear run checkpoint on stop and restrict resume to same day by @27Aaron in #19
  • fix(store): purge logs on account delete and tolerate malformed legacy book_ids by @27Aaron in #20
  • feat(web): persist session key across restarts and add web package tests by @27Aaron in #21
  • chore: bump version to v0.1.3 by @27Aaron in #22

Full Changelog: v0.1.2...v0.1.3