Releases: 27Aaron/WeRead-Kit
Releases · 27Aaron/WeRead-Kit
Release list
v0.1.10
v0.1.9
修复
- 强化阅读会话恢复与续期流程,降低 Cookie 失效导致任务中断的概率
- SQLite 迁移改为事务执行,并补充数据库升级与阅读状态回归测试
- 修复发布流程中 Docker 构建记录被混入 Release 产物的问题
优化
- 完善控制台无障碍支持:键盘操作、ARIA 属性、焦点管理和移动端日志展示
- 新版本提示支持重试、当前版本说明和安全的发布链接
- 前端版本号统一从 Go 服务端读取,发布时无需重复修改前端文件
What's Changed
- build(deps): update package hashes for v0.1.8 by @3ayonara in #56
- fix(read): align web reading session and renewal flow by @27Aaron in #57
- refactor(read): harden session recovery and migrations by @27Aaron in #58
- fix(web): improve console UI accessibility by @27Aaron in #59
- chore: bump version to v0.1.9 by @27Aaron in #60
Full Changelog: v0.1.8...v0.1.9
v0.1.8
修复
- 修复阅读会话中网页桥接返回失效 Cookie 时无法真正续期的问题;心跳再次收到
-2012或 HTTP 401 后,会刷新移动端凭据、重新桥接并继续阅读 - 修复同一账号并发刷新凭据导致
refreshToken互相覆盖的问题 - 修复阅读任务状态写入失败后仍继续运行的问题,避免断点丢失和服务重启后无法续跑
- 资料同步和章节信息请求统一处理会话过期并自动续期
优化
- 推送渠道使用独立超时,单个慢渠道不会耗尽整轮通知时间
- 增加凭据刷新、HTTP 401、阅读状态和推送响应的回归测试
What's Changed
- fix(reading): refresh stale credentials after web bridge by @27Aaron in #52
- fix(auth): serialize credential refreshes by @27Aaron in #53
- fix(reading): handle state persistence failures by @27Aaron in #54
- fix(push): isolate notification channel timeouts by @27Aaron in #55
Full Changelog: v0.1.7...v0.1.8
v0.1.7
修复
- 容器以非 root 用户运行时,bind mount 的数据目录属主(root)导致 SQLite 无法创建
(unable to open database file);入口脚本现以 root 修复数据目录与数据库文件的属主后
再降权运行,compose 部署开箱即用
What's Changed
- fix(docker): entrypoint fixes data dir ownership for non-root runtime by @27Aaron in #43
- chore: bump version to v0.1.7 by @27Aaron in #44
Full Changelog: v0.1.6...v0.1.7
v0.1.6
破坏性变更
- 项目更名:wxread → WeRead-Kit(仓库、Go module、Nix 包、镜像、文档全部同步)
- 环境变量前缀:
WXREAD_*→WEREAD_* - 默认数据库文件:
data/wxread.db→data/weread.db;compose 卷、登录 cookie、主题存储键同步更名 - 不做旧数据自动迁移:升级后直接重建(重新扫码添加账号)
新功能
- 阅读挑战页新增「官方挑战赛进度」面板:双圆环展示打卡天数与累计时长进度,附挑战规则、起止日期和全站参赛数据;未报名时自动隐藏
- 新增
GET /healthz与GET /readyz健康检查端点(绕过登录鉴权,readyz 会探测数据库) - 容器以非 root 用户
weread运行,镜像补充tzdata与wget - CI 发布流程新增 checks 关卡(
go test -race+go vet),通过后才构建容器镜像
修复
- 启动时校验
WEREAD_USERNAME/WEREAD_PASSWORD必须同时设置或同时留空,配置错误快速失败 - 数据库连接启用
PRAGMA foreign_keys = ON
What's Changed
- build(deps): update package hashes for v0.1.5 by @3ayonara in #37
- docs: add v0.1.5 to CHANGELOG by @27Aaron in #38
- docs: complete feature list and add UI screenshots by @27Aaron in #39
- build: exclude non-build files from nix source and docker context by @27Aaron in #40
- feat: rename project to WeRead-Kit by @27Aaron in #41
- chore: bump version to v0.1.6 by @27Aaron in #42
Full Changelog: v0.1.5...v0.1.6
v0.1.5
新功能
- 阅读挑战页新增「官方挑战赛进度」面板:双圆环展示打卡天数与累计时长进度,附挑战规则、起止日期和全站参赛数据;未报名时自动隐藏
修复
- 阅读会话心跳报会话过期时,自动重新桥接并刷新凭据后原地重试——不再直接中止会话;连续 3 次恢复失败才终止并推送通知
优化
- 全站 UI 细节打磨:统一面板/对话框/列表的间距与圆角体系,新增键盘焦点描边,完善宽屏、笔记本、平板、手机的响应式适配
- README 面向使用者重写:安装方式、推荐使用流程与重要行为说明
What's Changed
- build(deps): update package hashes for v0.1.4 by @3ayonara in #30
- docs: add CHANGELOG.md by @27Aaron in #31
- fix(weread): recover reading session on heartbeat expiry by @27Aaron in #32
- fix(web): unify spacing on reading and challenge views by @27Aaron in #33
- feat(web): add official reading challenge progress panel by @27Aaron in #34
- docs: rewrite README and polish web UI styles by @27Aaron in #35
- chore: bump version to v0.1.5 by @27Aaron in #36
Full Changelog: v0.1.4...v0.1.5
v0.1.4
新功能
- 新增「我的阅读」页:展示本周/本月阅读统计、无限卡剩余天数,以及阅读时长(5 分钟~5 小时)与阅读天数(2/4/7 天)奖励的完整进度
- 奖励双按钮设计:每档固定「书币」「体验卡」两个按钮,点击即保存"每周自动领取"设置;后台每 5 分钟自动检测,奖励达成后按设置自动到账,全过程记录在运行日志
优化
- Bark 推送新增 wxread 图标(走 jsdelivr CDN,国内网络可正常显示)
- 「挑战赛」更名为「阅读挑战」
修复
- 修复挑战赛页切换账号后,开始时间下拉不跟随刷新的问题
What's Changed
- build(deps): update package hashes for v0.1.3 by @3ayonara in #23
- ci: supply base branch for hashes update pull request by @27Aaron in #24
- docs: refresh README and add Docker Compose deployment by @27Aaron in #25
- feat(web): add weekly reading rewards page with auto-claim by @27Aaron in #26
- feat(notify): show app icon in bark push notifications by @27Aaron in #27
- fix(web): sync run-at select on account switch and rename to reading challenge by @27Aaron in #28
- chore: bump version to v0.1.4 by @27Aaron in #29
New Contributors
Full Changelog: v0.1.3...v0.1.4
v0.1.3
安全
- 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
v0.1.2
What's Changed
- build: cross-compile in Docker build to skip QEMU emulation by @27Aaron in #5
- build: add nix package for the wxread binary by @27Aaron in #6
- build: add tag-triggered package hashes update workflow by @27Aaron in #7
- build: add daily flake lock update workflow by @27Aaron in #8
- docs: add README and rename 自动阅读 to 挑战赛 by @27Aaron in #9
- feat: auto-fill remark from nickname and show it in run logs by @27Aaron in #10
- feat: show reading book title in farm logs by @27Aaron in #11
Full Changelog: v0.1.1...v0.1.2
v0.1.1
What's Changed
- fix(web): bind click handler to the run-now button by @27Aaron in #1
- feat(web): merge run/stop into one button and remove pause by @27Aaron in #2
- feat(web): require book selection before save and run by @27Aaron in #3
- feat(web): record reading progress every 30 seconds by @27Aaron in #4
New Contributors
Full Changelog: v0.1.0...v0.1.1