Skip to content

SForum v3.0.13

Choose a tag to compare

@github-actions github-actions released this 23 Oct 02:54
· 91 commits to main since this release

Maintainable, plugin-first open-source forum framework.

本次更新

  • 论坛体验:公开信息流改为纯追加加载,/ 与 /search 不再渲染页码控件,?page=N 仍是有效深链;正文支持 mermaid / chart / 公式围栏,编辑器支持表格;评论作者名与 OP 徽标同排;站外链接统一走中转页。
  • 身份与安全:登录人机验证新增「总是 / 新设备 / 管理员账号」三个可叠加触发条件;昵称支持自助修改、冷却与曾用名;零用户站点首位注册者注册后直接进入后台;修复角色权限全量替换与插件权限审批并发时的主键冲突;修复公开资产跨源头缺失导致的 QQ 内置浏览器 500。
  • 扩展与主题:内置插件自动更新(受保护内置插件启动时按 staged SemVer 自动晋升,带系统账号、管理端开关与安全闸);后台扩展安装页支持上传包与 URL;全新安装由 Host 自动批准受保护默认主题,不再停在 Core fallback;公开 L2 恒开;扩展数据面 E10、Core 附件扩展 API、管理端插件导航分组。
  • AI:观测轨迹与运行回放、eval 基线、工具目录与工具调用记录、可配置回复触发模式、回复图片输入、@提及与成员检索、AI 能力注册表。
  • 部署与运维:新增校验和验证的一键 bootstrap 与 sforum-latest.sh;部署交互可选 stable / prerelease / 指定版本,更新前同步完整托管工具链;migrate 使用绝对 EXTENSION_ROOT;Go 工具链升到 1.26.10(CVE-2026-111943);Web 生产构建默认堆上调;仓库全量门禁从 21:31 降到 7:24。
  • 修复:信息流移除页码后的仓库级静态契约、错误页 i18n 未安装时的崩溃、代码扫描告警、管理端多处保存与布局问题。

升级提示

  • SFORUM_V3_PUBLIC_L2 已移除,旧部署里继续设置会被静默忽略;公开 L2 依赖 exact-artifact trust,SFORUM_V3_TRUST_CHALLENGES=false 时仍按设计关闭。
  • 公开信息流不再有页码;分类、标签、评论等归档页仍保留页码。
  • 内置主题换了新 digest 后仍需在后台手动激活一次;全新安装由 Host 自动批准。
  • 从 v3.0.9 或任一 3.0.13 预发布升级:数据库迁移自动执行,无手工步骤;正式版会移动 latest 与 3.0 镜像标签。

Installation

Docker images:

docker pull ghcr.io/zhuchunshu/sforum-api:v3.0.13
docker pull ghcr.io/zhuchunshu/sforum-migrate:v3.0.13
docker pull ghcr.io/zhuchunshu/sforum-web:v3.0.13

Update an existing installation with a verified bootstrap:

(
  set -eu
  cd /path/to/sforum
  bootstrap_dir="$(mktemp -d .sforum-bootstrap.XXXXXX)"
  trap 'rm -rf "$bootstrap_dir"' EXIT HUP INT TERM
  curl -fsSLo "$bootstrap_dir/sforum-bootstrap.sh" https://github.com/zhuchunshu/SForum/releases/download/v3.0.13/sforum-bootstrap.sh
  curl -fsSLo "$bootstrap_dir/SHA256SUMS" https://github.com/zhuchunshu/SForum/releases/download/v3.0.13/SHA256SUMS
  (
    cd "$bootstrap_dir"
    awk '$2 == "sforum-bootstrap.sh" { print }' SHA256SUMS > sforum-bootstrap.sha256
    test "$(wc -l < sforum-bootstrap.sha256 | tr -d '[:space:]')" = 1
    if command -v sha256sum >/dev/null 2>&1; then
      sha256sum -c sforum-bootstrap.sha256
    else
      shasum -a 256 -c sforum-bootstrap.sha256
    fi
    if command -v gh >/dev/null 2>&1; then
      gh attestation verify sforum-bootstrap.sh --repo zhuchunshu/SForum
    fi
  )
  install -m 0755 "$bootstrap_dir/sforum-bootstrap.sh" ./sforum-bootstrap.sh
  rm -rf "$bootstrap_dir"
  trap - EXIT HUP INT TERM
  ./sforum-bootstrap.sh upgrade --version v3.0.13
)

Fresh install with the verified deploy bundle:

(
  set -eu
  mkdir -p sforum
  cd sforum
  curl -fsSLo sforum-deploy.tar.gz https://github.com/zhuchunshu/SForum/releases/download/v3.0.13/sforum-deploy.tar.gz
  curl -fsSLo SHA256SUMS https://github.com/zhuchunshu/SForum/releases/download/v3.0.13/SHA256SUMS
  awk '$2 == "sforum-deploy.tar.gz" { print }' SHA256SUMS > sforum-deploy.sha256
  test "$(wc -l < sforum-deploy.sha256 | tr -d '[:space:]')" = 1
  if command -v sha256sum >/dev/null 2>&1; then
    sha256sum -c sforum-deploy.sha256
  else
    shasum -a 256 -c sforum-deploy.sha256
  fi
  if command -v gh >/dev/null 2>&1; then
    gh attestation verify sforum-deploy.tar.gz --repo zhuchunshu/SForum
  fi
  tar -xzf sforum-deploy.tar.gz --strip-components=1
  ./sforum-bootstrap.sh install --yes --version v3.0.13
)

Manual download: Download the matching Linux or macOS archive from the assets below.

Documentation