From f7eb80ce0a692e3f827a65c4a54a795b542a8214 Mon Sep 17 00:00:00 2001 From: Fiona Date: Mon, 31 Aug 2026 23:23:39 -0700 Subject: [PATCH] docs(rum): add an SDK versions page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every SDK ships on its own schedule with its own version number, and until now a reader had no single place to find out what any of them currently are. The integration guides mostly install without a version, which is right for getting the latest, but leaves nothing to point at when someone needs to pin one. The page links out to each platform's own registry — npm, Maven Central, CocoaPods, ohpm, pub.dev — rather than restating the versions here, so it cannot fall behind what those registries say. It also carries the url scheme for the Web CDN bundles, which have no registry to link to, and warns off the `/browser-sdk/v0/` path: releases moved into a directory per release at v0.1.0, and that older path still resolves while no longer being updated. --- docs.json | 2 ++ en/rum/sdk/versions.mdx | 59 +++++++++++++++++++++++++++++++++++++++++ zh/rum/sdk/versions.mdx | 59 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 en/rum/sdk/versions.mdx create mode 100644 zh/rum/sdk/versions.mdx diff --git a/docs.json b/docs.json index 24eb70de..bb2cf0bf 100644 --- a/docs.json +++ b/docs.json @@ -1799,6 +1799,7 @@ "group": "SDK 接入", "icon": "code", "pages": [ + "zh/rum/sdk/versions", { "group": "Web", "pages": [ @@ -3175,6 +3176,7 @@ "group": "SDK Integration", "icon": "code", "pages": [ + "en/rum/sdk/versions", { "group": "Web", "pages": [ diff --git a/en/rum/sdk/versions.mdx b/en/rum/sdk/versions.mdx new file mode 100644 index 00000000..cbdab495 --- /dev/null +++ b/en/rum/sdk/versions.mdx @@ -0,0 +1,59 @@ +--- +title: "SDK Versions" +description: "Look up the latest version of each RUM SDK, and the versioned url scheme for the Web CDN bundles" +keywords: ["RUM", "SDK version", "version lookup", "CDN"] +--- + +Each SDK is released independently and carries its own version number — Android's `0.6.0` has no relationship to Web's `0.1.0`. This page gives the **official version lookup page** for every platform. Those pages are maintained by the package registries themselves, so they always show the current release. + + +Most installation examples in the integration guides do not pin a version, so that you get the latest release. When you do need to pin one, look the version up at the link below and write it into your dependency declaration. + + +## Latest version per platform + +| Platform | Package | Look up the latest version | +| --- | --- | --- | +| Web | `@flashcatcloud/browser-rum` | [npm](https://www.npmjs.com/package/@flashcatcloud/browser-rum) | +| Electron | `@flashcatcloud/electron-sdk` | [npm](https://www.npmjs.com/package/@flashcatcloud/electron-sdk) | +| WeChat Mini Program | `@flashcatcloud/miniprogram-rum` | [npm](https://www.npmjs.com/package/@flashcatcloud/miniprogram-rum) | +| React Native | `@flashcatcloud/mobile-react-native` | [npm](https://www.npmjs.com/package/@flashcatcloud/mobile-react-native) | +| Android | `cloud.flashcat:dd-sdk-android-core` | [Maven Central](https://central.sonatype.com/artifact/cloud.flashcat/dd-sdk-android-core) | +| iOS | `FlashcatCore` | [CocoaPods](https://cocoapods.org/pods/FlashcatCore) | +| HarmonyOS | `@flashcatcloud/core` | [ohpm](https://ohpm.openharmony.cn/#/cn/detail/@flashcatcloud%2Fcore) | +| Flutter | `flashcat_flutter_plugin` | [pub.dev](https://pub.dev/packages/flashcat_flutter_plugin) | + +Most platforms ship companion packages alongside the one above — `dd-sdk-android-rum` and `dd-sdk-android-okhttp` on Android, `FlashcatRUM` and `FlashcatTrace` on iOS, `@flashcatcloud/rum` on HarmonyOS, and so on. Companion packages of the same platform **stay on the same version**, so look up the main package and use that version for all of them. + +## Url scheme for the Web CDN bundles + +Besides npm, the Web SDK is distributed through a CDN. Each release gets **its own directory** on the CDN, named for the version with a `v` prefix: + +``` +https://static.flashcat.cloud/browser-sdk//flashcat-rum.js +https://static.flashcat.cloud/browser-sdk//fc-rum-legacy.js +``` + +Take `` from the npm page in the Web row above and add a `v`. If npm shows `0.1.0`, the url is `https://static.flashcat.cloud/browser-sdk/v0.1.0/flashcat-rum.js`. + +Directories of earlier releases are **kept indefinitely and never rewritten**, so a url always serves the version it names. Upgrading means pointing at a newer release, not re-downloading the same url. + + +**Do not use `https://static.flashcat.cloud/browser-sdk/v0/...` any more.** That is an earlier path named for the major version, and it has not been updated since `v0.1.0` — it still resolves, but its contents stay at an old release and will receive no fixes. If your page still references it, switch to a url carrying the full version, as described above. + + +`fc-rum-legacy.js` is a separate build for browsers without ES2015 support (IE 9 to 11). It ships from `v0.1.0` onwards, is distributed through the CDN only, and is not published to npm. The directories of earlier releases do not contain it. + +## Self-hosted deployments + +Private networks usually cannot reach the public CDN, so the bundles have to be served from your own static host. The Web SDK's files depend on each other through hash-named chunks, so **do not pick files by hand** — use the sync script in the repository to download a complete set in one go: + +```bash +node scripts/deploy/sync-bundles.js +``` + +With no arguments it downloads the version of the checkout it runs from, and it fails loudly rather than producing a directory with anything missing. See the [browser-sdk repository](https://github.com/flashcatcloud/browser-sdk) for details. + +## Release notes + +For what changed in each Web SDK release, see the [browser-sdk CHANGELOG](https://github.com/flashcatcloud/browser-sdk/blob/main/CHANGELOG.md). Release notes for the other platforms are on their package pages linked in the table above. diff --git a/zh/rum/sdk/versions.mdx b/zh/rum/sdk/versions.mdx new file mode 100644 index 00000000..30b393aa --- /dev/null +++ b/zh/rum/sdk/versions.mdx @@ -0,0 +1,59 @@ +--- +title: "SDK 版本" +description: "查询各端 RUM SDK 的最新版本,以及 Web CDN 产物的版本化地址规则" +keywords: ["RUM", "SDK 版本", "版本查询", "CDN"] +--- + +各端 SDK 独立发版,版本号互不相同 —— Android 的 `0.6.0` 与 Web 的 `0.1.0` 之间没有对应关系。本页给出每个端的**官方版本查询地址**,这些地址由各自的包仓库维护,永远显示当前最新版本。 + + +接入文档里的安装示例大多不写死版本号,为的就是让您装到最新版。需要锁定某个具体版本时,先到下表对应的地址查到版本号,再写进依赖声明。 + + +## 各端最新版本 + +| 平台 | 包名 | 查看最新版本 | +| --- | --- | --- | +| Web | `@flashcatcloud/browser-rum` | [npm](https://www.npmjs.com/package/@flashcatcloud/browser-rum) | +| Electron | `@flashcatcloud/electron-sdk` | [npm](https://www.npmjs.com/package/@flashcatcloud/electron-sdk) | +| 微信小程序 | `@flashcatcloud/miniprogram-rum` | [npm](https://www.npmjs.com/package/@flashcatcloud/miniprogram-rum) | +| React Native | `@flashcatcloud/mobile-react-native` | [npm](https://www.npmjs.com/package/@flashcatcloud/mobile-react-native) | +| Android | `cloud.flashcat:dd-sdk-android-core` | [Maven Central](https://central.sonatype.com/artifact/cloud.flashcat/dd-sdk-android-core) | +| iOS | `FlashcatCore` | [CocoaPods](https://cocoapods.org/pods/FlashcatCore) | +| HarmonyOS | `@flashcatcloud/core` | [ohpm](https://ohpm.openharmony.cn/#/cn/detail/@flashcatcloud%2Fcore) | +| Flutter | `flashcat_flutter_plugin` | [pub.dev](https://pub.dev/packages/flashcat_flutter_plugin) | + +每个端通常还有若干配套包(如 Android 的 `dd-sdk-android-rum`、`dd-sdk-android-okhttp`,iOS 的 `FlashcatRUM`、`FlashcatTrace`,HarmonyOS 的 `@flashcatcloud/rum` 等)。同一端的配套包**保持版本一致**,查上表中的主包即可,配套包用同一个版本号。 + +## Web CDN 产物的地址规则 + +Web SDK 除 npm 外还通过 CDN 分发。CDN 上**每个版本一个独立目录**,目录名就是版本号加 `v` 前缀: + +``` +https://static.flashcat.cloud/browser-sdk//flashcat-rum.js +https://static.flashcat.cloud/browser-sdk//fc-rum-legacy.js +``` + +`` 从上表 Web 那一行的 npm 页面查得,前面加 `v`。例如 npm 上是 `0.1.0`,地址就是 `https://static.flashcat.cloud/browser-sdk/v0.1.0/flashcat-rum.js`。 + +旧版本的目录会**永久保留、内容不变**,所以一个地址永远指向它命名的那个版本。升级意味着把地址指向新版本,而不是重新下载同一个地址。 + + +**不要再使用 `https://static.flashcat.cloud/browser-sdk/v0/...`。** 这是早期按大版本号命名的路径,自 `v0.1.0` 起已停止更新 —— 它仍然可以访问,但内容会一直停留在旧版本,不会收到任何修复。如果您的页面还在引用它,请按上面的规则改为带完整版本号的地址。 + + +`fc-rum-legacy.js` 是面向不支持 ES2015 的浏览器(IE 9 ~ 11)的独立构建,自 `v0.1.0` 起提供,仅通过 CDN 分发,不发布到 npm。更早版本的目录里没有这个文件。 + +## 私有化部署 + +内网环境通常无法访问公共 CDN,需要把产物下载到自己的静态服务器上。Web SDK 的产物之间存在哈希文件名的依赖关系,**不要手工挑选文件**,请使用仓库提供的同步脚本一次性下载完整集合: + +```bash +node scripts/deploy/sync-bundles.js +``` + +不带参数时它会按当前代码库的版本下载,任何文件缺失都会明确报错并拒绝产出一个不完整的目录。详见 [browser-sdk 仓库](https://github.com/flashcatcloud/browser-sdk)。 + +## 版本变更记录 + +Web SDK 的每个版本改了什么,见 [browser-sdk CHANGELOG](https://github.com/flashcatcloud/browser-sdk/blob/main/CHANGELOG.md)。其余各端的变更记录在上表对应的包仓库页面上。