Umami v3.5.0 发布:浏览器错误追踪上线,JS 报错与访问数据同后台查看;会话回放键盘导航、报表时间对比重做、强制管理员改密与 2FA。带数据库迁移与升级注意事项。
📦 v3.5.0 - 2026年11月12日
📅 发布:2026-11-12
⭐ 版本:v3.5.0
🆓 费用:免费开源
上个月 v3.4.1 还在忙着修 Next.js 的 RCE,这版直接掏出了个大功能:浏览器错误追踪。访客的 JS 报错现在能和访问数据放在一个后台里看,不用再另开一套 Sentry。除此之外,会话回放加了键盘导航,报表的时间对比逻辑也重做了一遍,安全侧把管理员密码和 2FA 的口子收紧了。带数据库迁移,PostgreSQL 是 27_add_error_tracking。
🔥 这次更新了什么
1. 浏览器错误追踪(本次的主角)
加一个 data-errors="true" 属性,未捕获的异常和未处理的 Promise 拒绝就自动被抓下来;手动埋点用 umami.captureException()。报错会按堆栈聚合成 issue,带出现次数和会话详情,可以标记解决、忽略或者重新打开,还能按 release、环境、浏览器、页面路径去筛。
2. 会话回放和导航
回放列表加了上一个/下一个按钮,左右方向键就能切换;回放列表直接显示去重的访客 ID;团队网站进了网站切换器,手机上也能进仪表盘了。
3. 追踪脚本配置更灵活
可以通过 window.umamiConfig 配置追踪和录制脚本,脚本属性优先。服务端开了 ENABLE_CLIENT_SALT 之后支持客户端提供的会话盐值,盐值轮换支持按小时、天、周、月来转。TRUSTED_PROXIES 也补上了,多层代理后面拿真实客户端 IP 不再靠猜。
📊 报表改进
点图表上的柱子直接缩放到对应日期范围;自定义日期范围改成双月日历一次选完;进行中的时间段会和上一周期的同期已过部分对比,而不是拿一整个完整周期硬比。看「本月至今」数据的人对这个改动应该很有感觉。留存表的单元格按可见最大值做了深浅着色,归因、漏斗、分页查询都提速了。
🔒 安全加固
这一版安全动作不少:内置的初始管理员密码必须改掉才能继续用;服务端强制要求启用两步验证,验证逻辑还防了并发尝试和验证码重放;分享 token 每次都重新校验,删了权限马上失效;看板分享不再暴露原始事件、会话、收入和实时数据。自托管在公网的用户建议认真过一遍这几项。
🛠️ 快速上手
docker pull ghcr.io/umami-software/umami:v3.5.0
docker compose down && docker compose up -d
这次带数据库迁移(PostgreSQL: 27_add_error_tracking),启动时自动跑。升级前注意三件事:APP_SECRET 必须显式设置,不再回退到 DATABASE_URL;Node.js 要 20.19 以上,推荐 22 LTS;公开的 /api/config 端点删了,有依赖它的脚本要先改。
❓ 常见问题
Q:从 v3.4.1 升级有风险吗?
A:带一次数据库迁移,备份后直接升。坑主要在配置:APP_SECRET 没显式设置会起不来,Node 版本低于 20.19 也不行。
Q:错误追踪能替代 Sentry 吗?
A:轻量场景够用。报错聚合、堆栈、会话关联、按版本环境筛选都有;但源码映射、告警集成这类深度功能还是专业 APM 强。个人博客和小项目,Umami 这套的粒度正合适。
Q:API 有变化吗?
A:分析端点加了可选的 period 参数(today/24h/7d/30d),事件响应里多了 visitId,还新增了错误追踪的端点。旧调用基本不受影响。
写在最后
统计工具和错误监控合并在一个后台,是我乐见的方向。小项目的看板数量本来就是越少越好。我自己的 Umami 跑在公网服务器上,这版强制改初始密码和强制 2FA 的两条安全策略,升级时等于被推着把安全基线拉齐了。唯一要注意的就是迁移和那三个升级前置条件,备份完再动手,十分钟的事。
🔗 发布页:https://github.com/umami-software/umami/releases/tag/v3.5.0
#Umami #网站统计 #开源