QVAC-25104 fix: rebuild the six npm-runtime addons against fabric 0.16.1 - #4574
Merged
jpgaribotti merged 2 commits intoSep 18, 2026
Merged
Conversation
@qvac/fabric 0.16.1 is published. Android consumers built against 0.16.0 fail to load because that release named the ELF version node on every ELF target; 0.16.1 keeps the node anonymous on Android. The six npm_runtime packages move ^0.16.0 -> ^0.16.1 and take a patch bump so they rebuild against it. A caret on 0.x still admits 0.16.0, so the floor has to move.
Contributor
Review StatusCurrent Status: ✅ APPROVED |
gianni-cor
approved these changes
Sep 18, 2026
iancris
approved these changes
Sep 18, 2026
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.
Consumer half of #4566, which landed and shipped as
@qvac/fabric0.16.1. The sixnpm_runtimeaddons still floor at^0.16.0, so Android prebuilds linked against that release keep the versioned imports that fail to load.🎯 What problem does this PR solve?
@qvac/fabric0.16.0named the ELF version nodeQVAC_FABRIC_ABI_1on every ELF target. An Android consumer built against it records aDT_VERNEEDthat bionic cannot satisfy: the addon failsdlopenandbarereportsADDON_NOT_FOUND: Cannot find addon '.'frombinding.jsbefore any model work.0.16.1(QVAC-25104 fix: name fabric's ELF version node only where it owns the runtime #4566) names the node only where fabric owns the C++ runtime (Linux embedding libc++). Android keeps the anonymous node it had through0.15.0. Linux binaries built against0.16.0are unaffected; Android binaries are not — they keep the versioned imports until rebuilt.0.xversion locks the minor, so^0.16.0still admits0.16.0. The floor has to move.📝 How does it solve it?
@qvac/fabric^0.16.0→^0.16.1for all sixnpm_runtimeconsumers in.github/fabric-consumers.json, each with a patch bump and a changelog entry:classification-ggmlvla-ggmltranslation-nmtcppmodel-fitocr-ggmlembed-llamacppPatch rather than minor so
@qvac/sdk/@qvac/inference, already on these0.xlines (^0.26.1,^0.27.1,^0.16.1,^0.12.0,^0.24.1,^0.41.1), pick the rebuilt Android modules up without a range change of their own.model-fit's[Unreleased]fit-stub entry stays where it is.llm-llamacppis not in this roster — it still buildsqvac-fabricfrom vcpkg rather than the npm runtime.pnpm-lock.yamlis regenerated in the same commit, whichCONTRIBUTING.mdrequires. The six@qvac/fabricentries staylink:../fabric. Regenerating also relinks workspace@qvac/asr-ggml@0.5.3(same version previously resolved from npm);pnpm install --frozen-lockfile --lockfile-onlyexits zero.🧪 How was it tested?
@qvac/fabric@0.16.1resolves from npm, and each consumer'sorigin/mainversion matches npmlatest(translation-nmtcpp is the known renumbered line: npmlatestis10.0.0,mainis0.16.2).pnpm install --frozen-lockfile --lockfile-onlyunder the pinned pnpm 11.17.0 exits zero.0.16.1link change were verified on QVAC-25104 fix: name fabric's ELF version node only where it owns the runtime #4566. This PR is the rebuild: applyprebuilds(and the desktop/C++ addon labels afterfork-ciapproval) so CI links the six consumers against0.16.1.