Skip to content

1.16.0 Beta:合并官方 dify 1.16.0(预发布)

Pre-release
Pre-release

Choose a tag to compare

@barlowliu barlowliu released this 20 Jul 13:50
· 15 commits to main since this release

Dify-Plus 1.16.0 Beta 发布说明

Beta 预发布:本版本用于验证 Dify-Plus 基于上游 Dify 1.16.0 的合并结果,尚未完成
浏览器 UI、真实第三方凭据、真实模型计费链路和生产镜像的完整回归,暂不合并到 main
生产环境使用前必须备份数据,并按人工回归清单在自有环境验收。

发布基线

  • 发布分支:1.16.0
  • Release 标签:1.16.0-beta.1(避免与本地保留的上游官方 1.16.0 标签混淆)
  • 合并保护标签:fork-merged-1.16.0
  • 上游基线:langgenius/dify@1.16.0
  • 升级起点:Dify-Plus 1.15.0
  • main:保持原有稳定基线,不随本次 Beta 发布移动
  • fork 变更范围:1.15.0...1.16.0-beta.1
  • 上游变更范围:1.15.0...1.16.0

本轮合入上游 1.15.0 → 1.16.0 的 455 个提交,解决 75 个合并冲突,并重新复核 10 个
fork 核心挂点。主要用户可见变化包括:Console 登录改为 Base64 password + Cookie/CSRF、
Agent v2 配套服务进入 compose(fork 默认关闭)、记忆上下文 retention_number 回显修复,
以及邀请成员改用上游 EmailRecipientsField

发布审计额外收口了三项 P1:安全退役零消费者且资源边界不完整的旧
/console/api/passport-extend(标准 WebApp Passport 不受影响);修正 CLI device-flow 的
X-CSRF-Token header;让 compose 正确消费 NEXT_PUBLIC_ENABLE_AGENT_V2,同时兼容旧变量并
保持默认关闭。docker-compose.local-build.yaml 的本地镜像标签也已同步为 1.16.0-local

已完成验证

范围 结果
合并完整性 上游 1.16.0 与 fork 1.15.0 均为当前 HEAD 祖先;75 个冲突已解决,api/web/ 无冲突标记
后端静态检查 Ruff、Import Linter、响应契约 lint、dotenv lint 通过;pyrefly 207 / mypy 116 均为既有 fork 基线债务,本次新增 0 条
后端单测 主套件 13558 passed;并行负载产生的超时文件空载复跑 249 passed;controllers 3385 passed / 0 failed;extend 专项 36 passed
前端 Oxlint、ESLint、type-check、build、i18n 抽验通过;fork 路由均进入构建产物
前端全量 Vitest 22755 passed / 5 failed / 2 skipped;5 个失败均为上游 Vitest 多实例快照状态问题,关联 spec 单跑 47/47 passed
数据库与 API 冒烟 全新 PostgreSQL 上游主链 200 个迁移、fork 扩展链 18 个迁移通过;login_config、系统管理三页、账户与 API Key 额度链路冒烟通过

详细证据:

已知限制

  1. 人工回归清单中的登录、应用中心、计费六链路、系统管理和
    其他 UI 项仍为待执行;真实钉钉/OAuth2/邮箱/模型凭据尚未整链验证。
  2. 本轮数据库验证使用全新空库;1.15.0 → 1.16.0 生产数据升级需由部署方在备份副本上演练。
  3. 全量 api-integration 未执行;testcontainers 子集为 119 passed / 12 个 fork 基线失败。
  4. yfgaia/dify-plus-api:1.16.0yfgaia/dify-plus-web:1.16.0 等生产镜像尚待 CI/镜像仓准备;
    本次 Release 是源码 Beta,不代表镜像已经发布。
  5. Agent v2 在 fork 中保持默认关闭;启用前必须配置强随机 DIFY_AGENT_SERVER_SECRET_KEY
    DIFY_AGENT_SHELLCTL_AUTH_TOKEN,并完成专项回归。
  6. 系统管理页面仍有已知的 P1 级可访问性与 i18n 债务(部分弹层焦点/键盘语义、label 关联及
    硬编码文案),不影响本次源码 Beta 建立基线,正式稳定版前应收敛。

升级摘要

从 Dify-Plus 1.15.0 升级只需执行两段数据库迁移:

flask db upgrade
flask extend_db upgrade

flask backfill-plugin-auto-upgrade 不进入 1.15.0 → 1.16.0 标准序列;更早版本直跳时先按
升级到 1.15.0 说明完成前序步骤。升级前必须备份数据库与 .env
并重点适配直调 Console 登录 API 的脚本:password 需 Base64,后续请求需 Cookie +
X-CSRF-Token

回滚

  • 代码回退到 fork-merged-1.15.0(或 1.15.0 分支/标签)。
  • 数据库使用升级前 pg_dump 快照整库恢复;不要依赖未经验证的跨版本 downgrade。
  • 本次 Beta 不移动 main,因此不会改变现有稳定分支。