Skip to content

WePush Next 1.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Aug 13:48
· 1 commit to master since this release

WePush Next 1.1.0 — Self-hosted Governance and Provider Ecosystem

1.1.0 是兼容 1.0.0 的稳定 Minor 发行版,重点补齐运营商短信插件、Workspace 资源治理、自建运维、跨 Run 可靠性、大 Artifact 与 WebUI 可用性。WePush 仍然只提供用户自部署软件,不提供托管控制面、遥测或强制自动更新。

主要更新

  • CMPP、SMGP、SGIP、SMPP 以四个独立、Ed25519 签名的 Agent Provider 插件交付。插件不依赖 Classic 源码,也不会把 Core API、Provider SPI、PF4J 或日志 API 打入私有依赖目录。
  • Workspace 可限制 Agent 数、活动 Run 数、总发送并发、Artifact 总容量和默认保留期。策略在运行入口、Agent 绑定、Artifact 创建和清理路径统一执行,拒绝结果进入审计。
  • 系统管理员可下载结构化脱敏诊断包、使用 Nginx/Traefik/Kubernetes 自建模板,并主动检查新版本。版本检查默认不运行,不上传使用数据。
  • 相同账号连续出现认证失败时会跨 Run 熔断;冷却到期自动恢复,管理员也可检查并安全复位。
  • PostgreSQL Server/HA 使用 LISTEN/NOTIFY 加速待调度 Run、Agent Outbox 和 SSE Event 唤醒。通知只是提示;持久 Outbox、事件游标和周期扫描仍是事实源。
  • Agent Artifact 在保留不超过 1 GiB 单次 Presigned Put 的同时,支持 Presigned Multipart、Part 重试、Complete/Abort 和失败清理,最大单文件扩展到 5 TiB。
  • WebUI 增加亮色、暗色和跟随系统主题,并改善 1366×768、键盘焦点、语义标签、颜色对比和减少动画体验。

数据与兼容性

  • REST/SSE 保持 /api/v1;新增端点和字段均为向后兼容扩展。
  • Remote Java SDK 新增 Workspace Policy、诊断包、版本检查和账号熔断接口;已有 1.0.0 SDK 调用继续可用。
  • Provider SPI 与 Agent 协议 Major 仍为 1,支持 1.0.0 Service/Agent 在滚动升级窗口内短期混合运行;新功能需双方升级到 1.1.0
  • Flyway 从 V14 升至 V17:V15 为 Workspace Policy,V16 为 Account Auth Circuit,V17 为 Artifact Multipart Session。三次迁移只新增表和索引,不改写已有业务数据。

升级步骤

  1. 下载 1.1.0 对应平台发行包和 SHA256SUMS,先校验 SHA-256。
  2. 使用发行包内升级脚本;脚本会在切换前创建完整备份,并在切换后检查 Readiness、Flyway V17 和本地 Provider Dry Run。
  3. 确认原 Workspace、资源、历史 Run 和 Artifact 可读取,Agent 已重连,再执行自有测试目标的 Dry Run 与小规模真实发送。
  4. Server/HA 部署应为 S3 Bucket 配置“24 小时后终止未完成 Multipart Upload”的 Lifecycle 规则;WePush 的会话清理仍会主动 Abort,此规则只做孤儿兜底。
  5. 安装运营商插件前,校验 wepush-provider-trusted-key-1.1.0.env、它的旁路 .sha256 和统一 SHA256SUMS,再把文件中的 WEPUSH_PLUGIN_TRUSTED_KEYS=keyId:Base64Ed25519PublicKey 原样加入 Agent 环境并重启。不要从插件 ZIP 内或第三方页面获取替代公钥。

完整流程见《升级与回滚指南》;配置和兼容承诺见《兼容性策略》

回滚

V15–V17 为附加迁移,旧 1.0.0 不会使用新增表;仍应通过升级前完整备份回滚,不要只替换 JAR。恢复会同时还原数据库、Master Key、Artifact、Agent Identity/Journal/Outbox 和插件,避免新旧程序状态错配。

发行边界

  • macOS、Windows Desktop 和安装包继续不使用商业代码签名;只从项目 GitHub Release 获取文件,并验证 SHA256SUMS 与 CycloneDX SBOM。
  • 运营商 Provider 插件与应用发行物不同,必须经过 Ed25519 签名和 Agent 内置生产校验器验签。
  • 四个运营商协议当前覆盖主动短信提交、长短信分片和同步提交响应;状态报告与上行短信仍由后续兼容版本扩展。
  • Workspace 配额是自建环境的资源治理功能,不是公共多租户的恶意隔离或计费系统。