fix(release): point the last model at v0.10.0 and stamp the real telemetry version - #1442
Merged
Conversation
…metry version The all-MiniLM-L6-v2 tokenizer was the only entry in models.ts still resolving through VERSION_TAG (v0.9.0), while the same file is fetched from v0.10.0 by the three MiniLM model entries. 288 other references already used NEXT_VERSION_TAG. Both tags serve the file today, so nothing was broken, but it left one stray pin to the previous release. That leaves VERSION_TAG with no reader, and noUnusedLocals rejects it, so it is removed until the post-release bump re-adds it. Telemetry reported libVersion 0.0.0 on every download event. Its TODO pointed at #1291, which is closed and about RNET_BASE_URL in clang-tidy. Set it to the real version and added a test asserting it matches package.json, so a missed bump fails CI instead of mislabelling a whole release. It stays a literal rather than an import: the emitted module sits under lib/module/, where a relative path to the manifest hits bob's {"type":"module"} stub, and a self-referencing import would depend on the consuming bundler supporting package exports. RELEASE.md step 10 said to leave model URLs alone after bumping the tags. That is wrong: the URLs name the constant, not the tag, so bumping NEXT_VERSION_TAG alone repoints every model at a release that does not exist yet.
barhanc
approved these changes
Sep 8, 2026
This was referenced Sep 8, 2026
msluszniak
added a commit
that referenced
this pull request
Sep 8, 2026
…ease bump step (#1443) Two gaps in RELEASE.md, both found while running the 0.10.0 release. ### The `legacy` dist-tag was never documented Nothing told you to move it after a release, which is why it sat on 0.8.5 through the whole 0.9 line and the satellites were still on 0.8.0. The automation will not do it: the publish action only derives `latest` for the newest version or `legacy` for an older one, and when it picks `legacy` it runs `npm dist-tag rm <pkg> legacy` right after publishing. Added as step 9, plus a note that a patch on an older line ends with no `legacy` tag and needs it re-added. ### The post-release bump step did not build Step 10 said to add `VERSION_TAG` back **and** set `NEXT_VERSION_TAG` to the next cycle. Once every URL moves to `VERSION_TAG` nothing reads `NEXT_VERSION_TAG`, and `noUnusedLocals` rejects it. Same failure #1442 hit from the other direction. Reworded to: exactly one of the two constants exists at a time, the rename does the URL rewrite by construction, and `NEXT_VERSION_TAG` returns with the first model re-exported next cycle. Also corrected "both adapter packages" to all four, and flagged that `nativeLibsVersion` must not be bumped there. Steps 9-14 renumbered to 10-15. Docs only.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Two version bugs found while checking the release preconditions, plus the RELEASE.md step that would have reintroduced one of them.
1. One model still pinned to the previous release.
all-MiniLM-L6-v2's tokenizer resolved throughVERSION_TAG(v0.9.0) while the same file is fetched from v0.10.0 by the three MiniLM model entries a few hundred lines above. It was the only such reference left, against 288 already onNEXT_VERSION_TAG. Both tags serve the file today, so nothing was broken, but it is a stray pin to a release we are moving off.That leaves
VERSION_TAGwith no reader andnoUnusedLocalsrejects it, so it is removed until the post-release bump re-adds it. An eslint exclusion cannot help here: the error istscTS6133, and an underscore prefix does not exempt a module-level constant either (checked both).2. Telemetry reported
libVersion: "0.0.0"on every download event. Its TODO pointed at #1291, which is closed and aboutRNET_BASE_URLin clang-tidy, so the reference is gone rather than carried forward.It stays a literal rather than an import, and the code says why: the emitted module sits under
lib/module/, where a relative path to the manifest resolves to bob's{"type":"module"}stub, and a self-referencingreact-native-executorch/package.jsonimport would depend on the consuming bundler supporting packageexports. A stale string is analytics noise; a failed import breaks the bundle. A unit test asserts the postedlibVersionequalspackage.json, so a missed bump fails CI.3. RELEASE.md step 10 was wrong. It said to leave model URLs alone after bumping the tags, because the shipped ones "now resolve through
VERSION_TAG". They do not: the URLs name the constant, not the tag, so bumpingNEXT_VERSION_TAGto the next minor would silently repoint all 288 models at a release that does not exist. The step now says to rewrite the shipped URLs, to re-addVERSION_TAG, and to bumpLIB_VERSION.Introduces a breaking change?
Type of change
Tested on
Testing instructions
yarn workspace react-native-executorch typecheckis clean and the full suite passes: 3842 tests, 30 suites, 4 snapshots (the apiSurface snapshot is unchanged, so droppingVERSION_TAGdid not alter the public surface).Separately, every
resolve/v0.10.0URL the registry can build was probed against Hugging Face: 309 unique artifacts across 47 repos, all 200. The only non-200 was a literal${name}frommodels.ts:1208, which buildsvoice_styles/${name}.jsonfrom a loop variable, so it is an artefact of extracting URLs statically rather than a missing file.Checklist