ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Highlight 浏览器 SDK 升级指南:npm/yarn、CDN 两种升级路径与基于 Changelog 的破坏性变更检查

Highlight 浏览器 SDK 升级指南:npm/yarn、CDN 两种升级路径与基于 Changelog 的破坏性变更检查 可观测性后端【免费下载链接】highlighthighlight.io: The open source, full-stack monitoring platform. Error monitoring, session replay, logging, distributed tracing, and more.项目地址https://gitcode.com/gh_mirrors/hi/highlight点击查看免费下载本篇围绕 Highlight 仓库中《Upgrading Highlight》官方文档展开说明浏览器端 SDKhighlight.run包的发布节奏与兼容性策略并给出两种可操作的升级方式——包管理器升级与 HTML/CDN 脚本替换。读完本篇你可以独立完成 SDK 升级操作并结合 Changelog 判断新版本是否包含影响现有埋点配置的破坏性变更从而在每天多次发布的高频更新下安全地跟进最新版本。Highlight 的发布节奏与兼容性策略在谈具体升级操作之前先理解官方文档upgrading-highlight.md中明确的两条策略这决定了升级工作的量级非破坏性变更会自动生效无需你做任何操作。Highlight 每天会发布多次改进版本功能增强、缺陷修复这类非破坏性变更会直接应用到你的应用中破坏性变更会提前约 2 周通知。当 Highlight 发布包含破坏性变更的版本如新特性导致的行为变化、安全修复等时需要你手动升级应用中引用的 Highlight 版本。官方同时承诺考虑到仍有客户端在使用旧版本所有变更都会保持向后兼容。这一策略对 CDN 接入方式意味着一件事如果你的script标签加载的是未锁定版本的地址例如unpkg.com/highlight.run或cdn.jsdelivr.net/npm/highlight.run它会始终解析到最新发布的构建产物非破坏性更新即自动应用而通过 npm/yarn 安装的版本则锁定在package.json中声明的版本需要执行升级命令才能跟进。从当前仓库的 sdk/highlight-run/package.json 可以看到仓库内浏览器 SDK 的版本为9.16.0包名为highlight.run采用 Apache-2.0 协议。使用包管理器升级npm / yarn如果你是通过包管理器引入 SDKimport { H } from highlight.run这类方式官方文档给出的升级命令为# with npm npm install highlight.runlatest# with yarn yarn upgrade highlight.runlatest执行后package.json中的版本约束与node_modules内的实际产物都会更新为最新版。为了在升级后确认产物符合预期可以关注 sdk/highlight-run/package.json 中定义的发布形态包的入口main/module/exports均指向./dist/index.js即 ESM/CJS 双用的构建产物unpkg与jsdelivr字段指向./dist/index.umd.js这是供 CDNscript方式加载的 UMD 构建构建脚本build:umd会将dist/index.umd.cjs复制为dist/index.umd.js包内配置了size-limit检查dist/*.js不含 UMD经 Brotli 压缩后不得超过 256 kB可作为升级前后体积是否异常的参考指标。另外highlight.run的核心依赖包括rrweb会话录制引擎与一组opentelemetry/*包用于前端 tracing 与 metrics 上报这些第三方依赖的版本约束在包发布时会一并更新升级 SDK 时它们会随之锁定。需要留意的迁移说明仓库中的 sdk/highlight-run/README.md 已注明该包迁移至 LaunchDarkly 的 observability-sdk 仓库所有新发布都来自新位置。如果你升级后在旧位置看不到更新可按此说明寻找新的发布来源。通过 HTML/CDN 升级对于直接在index.html中以script标签引入 Highlight 的项目官方文档的升级方式很简单将index.html中的 Highlight 片段替换为 Highlight 控制台 setup 页面提供的最新片段控制台地址见官方文档原文。CDN 脚本同时负责加载录制逻辑并暴露全局的H对象。仓库中的 Cypress E2E 测试页面完整演示了 CDN 接入的最小可用形态可以直接参考cypress/pages/unpkg.htmlscript srchttps://unpkg.com/highlight.run/script script H.init(1, { backendUrl: http://localhost:8082/public, environment: test, networkRecording: { enabled: true, recordHeadersAndBody: true, }, }) /scriptcypress/pages/jsdelivr.html 则使用https://cdn.jsdelivr.net/npm/highlight.run加载同一构建产物随后以相同方式调用H.init()。可以看到两个要点未锁定版本的 CDN 地址.../highlight.run而非.../highlight.runx.y.z始终加载最新版这正是非破坏性变更自动应用的落地机制片段中的初始化选项backendUrl、environment、networkRecording等在跨版本升级时通常无需改动但如果你依赖的是某个已被移除或改名选项的行为就需要对照 Changelog 检查。对应的自动化验证在 cypress/e2e/umd.cy.js 中它遍历unpkg、unpkg-remote、jsdelivr、local四个来源分别打开 cypress/pages 下的测试页面等待PushPayloadCompressed请求并断言其variables中包含data字段从而确认 UMD 包从各 CDN 加载后录制与上报链路正常工作。升级 CDN 片段后你在浏览器网络面板中同样可以观察到发往 Highlight 后端的POST请求作为新版本已生效的直接证据。升级前检查 Changelog如何识别破坏性变更官方文档建议要判断新版本是否含破坏性变更请查看 Changelog。仓库内同样维护了成体系的变更记录可以作为升级前的检查依据仓库内的官方 Changelogdocs-content/general/changelog/1_overview.md 按期次Changelog 12 至 29汇总了各周期的产品变更例如 Changelog 29 涵盖 Group Matching 改进、Logs 抽屉、Duration 前缀与自托管改进等。产品侧的大功能变化通常会伴随 SDK 行为调整升级前浏览最近几期是个好习惯。SDK 自身的版本记录sdk/highlight-run/CHANGELOG.md 逐版本记录了浏览器 SDK 的变更近期版本中就有若干值得在升级时确认的默认行为变化示例版本变更升级时需关注9.16.0引入 LaunchDarkly SDK 集成用于事件转发新增能力默认不影响现有流程9.15.0默认关闭 session cookie 存储修复 local sendmode 不递增 payload id若依赖 cookie 持久化 session需确认默认值变化9.14.0更新 rrweb 录制引擎录制引擎换代关注回放兼容性9.13.0更细粒度的 OTel instrumentation 配置与自建 OTel 环境共存的项目需留意9.12.0新增禁用前端 tracing 的选项行为开关类变更9.10.0默认关闭 firstload 网络录制改由 OTel instrumentation 承担网络录制数据来源发生变化可以看出所谓破坏性变更更多表现为默认行为的调整默认值变化、录制链路切换而非 API 删除——这与官方所有变更保持向后兼容的表述一致旧版本继续可用但你主动升级后新默认值会立即生效。因此升级流程建议是先读 CHANGELOG.md 中从当前版本到目标版本之间的条目标记出 turn off/turn on by default、replace、remove 一类的措辞再执行前文的 npm/yarn 或 CDN 升级操作最后通过控制台新出现的会话、错误与网络请求确认新版本生效。小结非破坏性变更CDN 未锁版本时自动生效npm/yarn 用户无需特殊操作但需执行升级命令跟进破坏性变更官方提前约 2 周通知升级前务必对照 Changelog 确认默认行为变化npm/yarnnpm install highlight.runlatest或yarn upgrade highlight.runlatestHTML/CDN用控制台 setup 页提供的最新片段替换index.html中的旧片段并可参考 cypress/pages/unpkg.html 的最小接入形态自查参数。赞分享可观测性后端【免费下载链接】highlighthighlight.io: The open source, full-stack monitoring platform. Error monitoring, session replay, logging, distributed tracing, and more.项目地址https://gitcode.com/gh_mirrors/hi/highlight点击查看免费下载相关推荐httpx认证配置实战5种认证策略与密钥文件批量搞定授权目标httpx认证配置实战5种认证策略与密钥文件批量搞定授权目标 httpx 是一款快速、多用途的 HTTP 探测工具箱HTTP toolkit除了批量探测网络安全CLINode.js 18.14.0 (LTS) 发布解析npm 9.3.1 升级、破坏性变更与升级实践指南Node.js 18.14.0 LTS 发布解析npm 9.3.1 升级、破坏性变更与升级实践指南 本文基于 nodejs.org 网站仓库中的官方发布公告前端文档DLSS Swapper 免费教程3 个阶段完成 DLSS 版本切换与一键还原DLSS Swapper 免费教程3 个阶段完成 DLSS 版本切换与一键还原 工具定位与适用对象 DLSS Swapper 是一款免费开源的 Windows桌面应用上一篇Telepresence与Docker集成使用指南下一篇MXNet contrib.tensorboard 实战用 LogMetricsCallback 将训练/评估指标写入 TensorBoard创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表