Repository navigation
Adopt llamadart-native v0.9.0 - #1784
Merged
Merged
Conversation
Generated from llamadart-native main eb760895 (llama.cpp cd959bae) headers, packaged as the release workflow does, with native_header_archive.py and ffigen in a Linux container. The same procedure reproduces the committed v0.8.0-3 bindings byte for byte.
This was referenced Nov 7, 2026
Output of sync_native_release_pins.py --llama-cpp-tag v0.9.0: tag, the 11 bundle digests and the windows-x64-cuda12 sidecar digest from SHA256SUMS, the Apple XCFramework checksum, the companion Package.swift and the pinned-version docs. sync_native_headers_and_bindings.sh --tag v0.9.0 on Linux reproduces the committed bindings byte for byte. No older Apple runtime is admitted: earlier frameworks lack the ARM F16 accumulation fix (llamadart-native#174), and companion 0.18.0 cannot pair with core 0.19.0 anyway. Web stays on bridge assets v0.1.82 (llama.cpp v0.8.0). As in #1611, the bridge gate lets the native pin run ahead on the approved upstream v0.9.0 until a later bridge repin; the bridge docs say so. The default-consumer AOT harness, Android validation bindings, the getting started and embeddings skills, and the docs naming the current pin move to v0.9.0.
leehack
marked this pull request as ready for review
November 8, 2026 04:23
6 of 17 tasks
Contributor
|
Chat app preview removed for |
This was referenced Nov 8, 2026
Merged
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.
Summary
Adopts the published llamadart-native v0.9.0 (owner
a6046391, llama.cppv0.9.0@cd959bae, not a prerelease) as the default llama.cpp runtime for core 0.19.0.sync_native_release_pins.py --llama-cpp-tag v0.9.0 --litert-lm-tag keep:llamaCppTag, the 11llamaCppBundleSha256digests and thewindows-x64-cuda12sidecar digest (all fromSHA256SUMS, whichcheck_native_release_digests.dartre-confirms), the Apple XCFramework checksumb0005b1d…inllamaCppCompatibleAppleCompanionChecksumsand the companionPackage.swift,llamaCppAppleCompanionVersion0.18.1(the sync's patch-bump convention, whichnative_release_pins_testenforces; release prep sets the real number), and the README/installation/support-matrix pins.sync_native_headers_and_bindings.sh --tag v0.9.0on Linux arm64 (Dockerdart:3.13.1, Ubuntulibclang-dev) reproduces the committedbindings.dartbyte for byte, so the earlier hand-generated bindings from native maineb760895match the published headers.v0.1.82embed llama.cppv0.8.0, and the bridge gate required Web and native to share an upstream release. Following #1611,bridgeApprovedNativeUpstreamAhead = 'v0.9.0'lets the native pin run ahead on exactly that upstream until a later bridge repin; the gate wording, its tests and both bridge docs say "behind the native runtime". Any other upstream still fails.llamaCppCompatibleAppleCompanionTagsstays empty). Earlier frameworks lack the ARM F16 accumulation fix, and published companion0.18.0(llamadart: '>=0.18.0 <0.19.0') cannot pair with core 0.19.0 anyway;llamadart_llama_cpp_flutter0.19.0shipsv0.9.0.runtime_setup_report_io_test, the default-consumer AOT harness (ci.ymlinput text,native_default_consumer_qualification.yml,verify.py,run_local_e2e.dart,testing_matrix.mdand tests now also acceptv0.9.0as a final, non-pipeline tag), the Android validation bindings (tag, android-arm64 archive and headers digests), the Pixel guard tag, the getting-started and embeddings skills, the native-build-hooks override paragraph, and the docs that name the current pin or its grammar/attention behavior (llama-grammar.cppis unchanged between8642541bandcd959bae).ABI delta (unchanged from the draft): additive only for this core.
mtmd_gen_audio_infogainsn_voicesandmtmd_helper_gen_audio_inplosesvoice; the core references neither, and no symbol it calls is removed.Production-readiness scope
llamadart_llama_cpp_flutter0.19.0.v0.8.0(bridgev0.1.82) until a bridge repin. Chatterbox Turbo/Multilingual and Pocket TTS stay refused by the public adapter withLlamaUnsupportedException(the TTS voices API is #1783). Older Apple companions fail the build as before.v0.9.0;packages/llamadart_validation/native/android_qualification/test_prepare.pyalready fails onmain(its fixture still records thev0.8.0-2archive digest; CI does not run it).Performance note, not claimed in the changelog: the native release measured CPU F16-weight prefill on Apple M4 at about 0.93x of unpatched upstream v0.9.0 (the accepted cost of the 0006 blocked-GEMM fix); decode and Q8_0 are 0.98-1.00x, and Linux
armv8.2_2F16 prefill is about 1.5x (native#182). No comparison against v0.8.0-3 was measured here.Completeness checklist
v0.10.0fails); harness scope tests coverv0.9.0.validation_coverage_testpasses in the VM suite).PR type guidance
Test Plan
dart run tool/prepare_workspace.dart: no tracked changes.dart format --output=none --set-exit-if-changed .dart analyze: no issues (alsopackages/llamadart_validation).dart run tool/testing/check_platform_boundaries.dartTMPDIR="$(realpath "$(mktemp -d)")" dart test -p vm -j 1 --exclude-tags local-only: 11491 passed, 129 skipped, 6 failed, all 6 inwindows_registry_qualification_test.dart(nopwshon this host; same onmain).dart test -p chrome --exclude-tags local-only: N/A locally, no Web-reachable code changed (bridge gate is tooling); CI runs it.coverage-lib: N/A,lib/changes are pin constants and a doc comment.check_webgpu_bridge_tag.dart,check_native_release_digests.dart, the four native-sync Python suites (Python 3.15), the default-consumer harness Python suites,verify_release_docs_versions.dart, validation package tests (641) and Android qualification Python tests, and real-runtime rows below against the published v0.9.0 through the normal hook (bundle7ec293c7…downloaded intonative_bundles_v2/v0.9.0, no path override).Matrix Evidence
root-vmwindows_registry_qualification_testneedspwshnative-release-digestsllamaCppBundleSha256 matches v0.9.0 SHA256SUMS (12 bundles)native-sync-python-suitesnative-hook-bundlesroot-vmtext-to-speech-smokevalidation-speech(tts)validation-speech(stt)gguf-chat-features-smokenative-exit-teardownrelease-metadata-verification--release-prepfails only on the version bumps andUnreleasedheadings that 0.19.0 release prep owns (same LiteRT-LM items asmain)structured-output-adversarialsrc/llama-grammar.cppis identical between8642541bandcd959bae; grammar suites pass inroot-vmlitert-lm-v1-public-*,litert-lm-json-schemahigh-risk-exact-head-independent-qaReview Notes
High-risk regression review
artifactConsumer,backendRuntime,regressionPolicy,structuredOutput)bc724a2b0c71c8aaaf2f31edb30b23316dd4671f/af56657fa061b5c7621ecb5517199f6683ff10b1. Readiness CLI (tool/testing/high_risk_readiness.dart) exits 2 (unverifiedPrerequisites, internally consistent) with evidence citing the pin, bridge-gate, workflow, AOT, Android-profile, grammar and bindings tests, each with a head pass and a failing control.v0.10.0is refused in a test); the normal hook downloaded and verified the publishedv0.9.0macOS arm64 bundle by digest, with no path override.