结论:升级完成,Cloudflare 组件从降级恢复为正常。真正与你相关的是 4.156.0 修掉的「根目录直传把 .env、.git 当公开资源上传」——这正是你常用的 Pages 直传路径;以及 4.153.0 对 --secrets-file 的变量展开属于行为变更,写死 $ 字符的旧文件会被改写。
wrangler dev 新增 --infer-origin-from-routes,可关掉按路由推断 origin 的默认行为,本地 CORS 白名单不再被 route 主机名顶掉。--secrets-file 支持 $VAR / ${VAR} 展开(deploy、versions upload、preview)。kv key list 不再卡在 1000 条却假装列完了。CLOUDFLARE_DEV_REGISTRY_PATH),可用 enableDevRegistry:false 关闭。code、numericCode 与自定义错误名,不用再靠匹配文案分支。remote:true,本地 writeDataPoint() 可写真实数据集。tail 输出把终端控制字符转义成可见文本,日志不会被伪造的转义序列搅乱。wrangler flagship flags 更新 flag 时不再清空元数据。.assetsignore 非 UTF-8 或含空字符时直接报错,不再静默丢规则。wrangler d1 insights 可不带库名,跨账户全部 D1 库查慢查询,结果多一个 databaseId。.assetsignore。此前比较的是相对路径,判断永远不成立,于是 .env、.dev.vars、.git、node_modules 会被当公开资源传上去。functions,autoconfig 直接报错停下,不再「只传静态资源、Functions 悄悄没部署」。d1 insights 被分析 API 拒绝时给可执行错误(限流等待时间、缺少 Account Analytics: Read 权限)。--name 覆盖不再打断绑定目标。/.env 这类路径。--secrets-file 行为变了。PASSWORD=pa$word 在 word 未定义时会变成 pa。要么转义 \$,要么改用 JSON 密钥文件。| 检查项 | 结果 |
|---|---|
| 安装版本 | 4.156.0(升级前 4.152.0) |
| Node 运行时 | v22.23.2,仍在 22.x |
| 登录状态 | 已登录,OAuth 令牌自动刷新成功 |
| 余额 / 账单 | Cloudflare 无单一账户余额,仅控制台按产品计费,此项不适用 |
| 只读业务探针 | 通过:Pages 项目列表返回 14 个项目 |
| 文档 MCP | 已连接,工具列表正常返回 |
| 固定仪表盘 | 已重新发布,显示 4.152.0 → 4.156.0 |
19:16 起本机代理客户端核心没在运行,但系统代理仍指向 127.0.0.1:6152,导致部署和文档 MCP 探针全部 connection refused;19:24 后代理进程进入崩溃-看门狗重启循环,TUN 接管默认路由却没转发流量(ping 通、HTTPS 全挂)。
处理:退出该代理应用,恢复 en0 直连后完成部署;维护脚本增加了「系统代理端口不可达则直连」的兜底,避免下次再被同一个死端口卡住。
待你处理:代理客户端(5.10.5,macOS 27.0.1)的崩溃循环本身没修,重开前建议先升级版本或换配置,否则会再次吞掉全部出网流量。
Supabase CLI 出现 2.121.0 → 2.122.0,但它的健康检查仍是失败状态(项目非 ACTIVE_HEALTHY,已连续多次失败)。按「一次只升一个、验证失败即停」的规则没有动它,等健康检查恢复后再排下一轮。