更新日志
v4.8.0-alpha.2
WARNING
本次更新所需要执行的数据库迁移时间较长,请务必耐心等待,大型实例可能耗时数小时。
WARNING
依赖版本要求有所提升
WARNING
包含重要安全更新
TIP
包含重要功能更新
提交对照信息
| 分支 | 提交 |
|---|---|
| UnivTown Mastodon | e634e8e78 |
| Chuckya | ed7f3ae2d |
| glitch-soc | 1be9f2b90 |
| 原版 Mastodon | c5a69e523 |
上游支持周期
闭社 4.1.x 及相关迁移文档已经停止维护
闭社版 Mastodon 已经更新到 4.8.0-alpha.2。从闭社版 Mastodon 4.1.x 及以下版本迁移到 UnivTown Mastodon 的文档已经停止维护。
截至本次发版,要在 UnivTown Mastodon 4.8.0-alpha.2 和闭社版 Mastodon 4.8.0-alpha.2 之间迁移,除源代码安装需要重新编译前端资源外,无需执行数据库迁移和其它额外迁移步骤。
在二者之间互相迁移,将会丢失对方 fork 的功能;由于直接上游不同,从 UnivTown Mastodon 迁移到闭社版 Mastodon,将额外丢失表情回应、Modern 主题等来自 chuckya 的功能。
DANGER
Mastodon 4.3.x 已于 2026 年 5 月 6 日停止安全更新支持。
| 版本 | 支持状态 |
|---|---|
| 4.4.x | 预计于 2026 年 12 月 17 日结束支持 |
| 4.5.x | 预计于 2027 年 2 月 20 日结束支持 |
| 4.6.x | 支持中 |
| 4.7.x | 支持中 |
更新内容
- 合并上游提交、补齐与完善翻译
重要更新
- [上游] (Mastodon 4.6.0) 新增账户合集,最多可以添加 25 个账户,并可以与其它用户分享。
- [上游] (Mastodon 4.6.0) 重新设计账户页面,并支持直接在账户页面编辑自己的账户资料。
- [上游] (破坏性更新) 自定义主题需要按新的主题 token 和主题系统调整。
用户体验
- [上游] (Mastodon 4.6.0) 支持在 Web 界面显示垂直书写语言的贴文。
- [上游] (Mastodon 4.6.0) 支持将链接拖拽到编辑框中创建引用。
- [上游] (Mastodon 4.6.0) 支持过滤来自机器人的通知。
- [上游] (Mastodon 4.6.0) 支持为账户头像和横幅背景设置替代文本。
- [UnivTown] 改进匿名发帖的可靠性和隐私保护。此修改部分参考了闭社版 Mastodon 在 4.8.0-alpha.2 的新匿名发帖实现。
- [UnivTown] 互动计数支持显示精确数值。此修改部分参考了闭社版 Mastodon 在 4.8.0-alpha.2 的实现。
管理
- [上游] (Mastodon 4.6.0) 支持按身份组要求用户启用双重验证。
- [上游] (Mastodon 4.6.0) 支持导入和导出自定义过滤规则。
- [上游] (Mastodon 4.6.0) 管理界面支持按域名搜索邮件域名屏蔽条目。
- [上游] (Mastodon 4.7.0) 增加话题审计日志。
- [上游] (Mastodon 4.7.0) 管理界面支持搜索 IP 屏蔽条目。
- [上游] (Mastodon 4.7.0) 增加 Mastodon 版本停止支持时的通知。
运维与开发
- [上游] (Mastodon 4.6.0) 为 Elasticsearch 请求增加熔断机制,以更好地处理 Elasticsearch 故障。
- [上游] (Mastodon 4.7.0) 本地用户密钥改为存储在专用数据表中,并在静态存储时加密。
- [上游] (Mastodon 4.7.0) 移除已弃用的
bin/update脚本。 - [UnivTown] 驱动贴文翻译的 LLM 模型更新为 Gemini Flash Lite,之后模型版本迭代将不会在更新内容中通知。
安全修复
- 修复账户电子邮件地址验证不充分的问题(GHSA-5r37-qpwq-2jhh)。
- 修复 SSRF 防护绕过问题(GHSA-crr4-7rm4-8gpw、GHSA-xx55-4rrg-8xg6)。
- 修复通过 JSON-LD 图重构功能绕过 Linked Data Signature 验证的问题(GHSA-53m7-2wrh-q839、GHSA-chgx-jx3p-rf73)。
- 修复允许的归属域名可被伪造的问题(GHSA-rwcw-vq68-g34p)。
- 修复消息清理过程中未捕获异常导致拒绝服务的问题(GHSA-qrgq-9fx2-vf2r)。
- 修复设置
LDAP_TLS_NO_VERIFY=true时 TLS 证书验证被错误禁用的问题(GHSA-3rhr-8phh-jm86)。 - 更新 Docker 镜像中的 FFmpeg 以修复严重级别的
CVE-2026-8461(GHSA-qff7-4q6c-m8h6)。使用系统 FFmpeg 的用户也需要将其更新到修复版本。 - 修复权限执行不正确的问题(GHSA-7jvv-fhmg-wpfw、GHSA-hx34-2pfw-2qfj)。
- 修复通过 IPv4-compatible IPv6 地址绕过 SSRF 防护的问题(GHSA-vwhj-3g83-v276)。
- 修复这些账户在双重验证认证过程中可能绕过密码认证的问题(GHSA-vx32-x96w-qq65)。
- 修复处理恶意构造的 JSON-LD 活动时可能导致拒绝服务的问题(GHSA-vgm8-frgh-rh2v)。
- 修复已禁用 staff 账户仍能访问管理 API 的问题(GHSA-62j4-hvj7-px3f)。
依赖要求
4.6.x 起要求 Ruby 3.3+、Node 22+、Redis 7+、PostgreSQL 14+、FFmpeg 5.1+,并且必须使用 libvips,已经不再支持 ImageMagick。
完整依赖要求:
Ruby 3.3+
PostgreSQL 14+
Redis 7+
Node 22+
FFmpeg 5.1+
Libvips 8.13+
Elasticsearch 7+ (可选)
LibreTranslate 1.3.3+ (可选)更新步骤
从 4.6.0-alpha.6+ 更新:需要先确认运行环境满足上述依赖要求。使用源码安装时,重新安装 Ruby 与 JavaScript 依赖并重新编译预构建资产;然后重启 streaming server 及其它 Mastodon 进程。数据库迁移请按照部署前迁移、重启、部署后迁移的顺序执行;4.7.0 引入的迁移量较大,大型实例可能耗时数小时。
非 Docker 安装可以参考以下顺序:
- 更新 Ruby 版本(如使用
rbenv,请先更新可用版本列表) - 执行
bundle install和yarn install --immutable - 执行
RAILS_ENV=production bundle exec rails assets:precompile - 执行部署前数据库迁移:
SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate - 重启所有 Mastodon 进程及 streaming server
- 执行部署后数据库迁移:
RAILS_ENV=production bundle exec rails db:migrate
Docker 安装可以将上述迁移命令中的 bundle exec rails 替换为对应的 docker-compose run --rm web bundle exec rails,并按相同顺序执行。
从之前版本更新:需要额外阅读从下一个版本到本次更新的所有更新说明。
从其它分支更新:需要自行确认功能实现差异。