Skip to content

chore(deps): bump flutter_gemma from 0.3.1 to 0.15.3#100

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pub/flutter_gemma-0.15.1
Open

chore(deps): bump flutter_gemma from 0.3.1 to 0.15.3#100
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pub/flutter_gemma-0.15.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 16, 2026

Bumps flutter_gemma from 0.3.1 to 0.15.3.

Release notes

Sourced from flutter_gemma's releases.

Release v0.15.3

  • example: add TranslateGemma 4B translation demo via task-first home navigation (#177).

CPU-only by design — community .litertlm keeps EMBEDDING_LOOKUP in float32 for MediaPipe .task compatibility, and the LiteRT GPU partitioner can't cluster that layout. Tracked upstream at google-ai-edge/LiteRT-LM#1748.

Release v0.15.2

Unified embedding on LiteRT C API + Dart FFI on all native platforms (#264).

What changed

  • Single Dart-side LitertEmbeddingModel runs on Android, iOS, macOS, Linux, Windows via dart:ffi against the LiteRT C API. The LiteRT runtime is already shipped in the native bundle for inference accelerators — no new native dep.
  • Three legacy implementations deleted: Android localagents-rag JVM lib, iOS TensorFlowLiteC pod + Swift tokenizer hierarchy, Desktop libtensorflowlite_c.{dylib,so,dll} tarball.
  • TaskType.prefix is now the single source of truth for retrievalQuery / retrievalDocument prefix strings — fixes the cross-platform drift that caused #264 by construction.
  • Windows LiteRtLayout MSVC vs GCC/Clang bit-field ABI handled via dual-layout FFI structs (LiteRtLayoutPosix / LiteRtLayoutMsvc + View helper).

Verification

Cross-platform RAG drift verified <0.003 on six platforms × two embedding models (Gecko 110M, EmbeddingGemma 300M):

macOS iOS Sim iPhone Pixel 8 Linux T4 Windows MSVC
Gecko 64 climate↔warming 0.9161 0.9161 0.9161 0.9168 0.9163 0.9163
EmbeddingGemma 256 climate↔warming 0.8695 0.8695 0.8695 0.8689 0.8668 0.8668

Full 18-test litertlm_ffi_test.dart integration suite green on macOS, Linux T4, Windows NPU VM (Intel Lunar Lake), Pixel 8.

Breaking changes

  • EmbeddingInstallationBuilder.tokenizerFromNetwork/Asset/Bundled/File: removed the iOS-only iosPath / iosToken parameters. They were no-ops since 0.15.2 (same tokenizer on every platform now). Callers that omit them are unaffected; callers that pass them need to remove the named arg.

See CHANGELOG.md and the migration story in the PR description for the full diff.

Release v0.15.1

What's new

  • 🪟 Windows Intel NPU end-to-endPreferredBackend.npu on LunarLake/PantherLake. Native bundle ships Intel dispatch + OpenVino + TBB.
  • 🖼️ Multi-image input (PR #262, thanks @​frdteknikelektro) — Message.withImages([...]).
  • 🤖 Android GPU sampler dlopen fix (#270, thanks @​prithidevghosh) — +15–30% decode speedup on Pixel-class devices.
  • 💾 Desktop storage (#179, co-author @​ProjectEdge-Jim) — Application Support / LOCALAPPDATA instead of Documents.
  • ⚙️ NPU greedy-only sampler skip on PreferredBackend.npu.
  • 🌐 Web build fix — enableSpeculativeDecoding parameter missing in FFI stub.
  • 📦 native-v0.11.0-b — new Windows tarball with Intel NPU; other 6 platforms unchanged.

Test plan

  • macOS Metal: Gemma 4 E2B full suite 17/17
  • Pixel 8 Android 16: Gemma 4 E2B full suite 17/17
  • Windows LunarLake VM: NPU end-to-end "Paris" via PreferredBackend.npu

See CHANGELOG.md for full details.

native-v0.11.0-b

Windows: bundles Intel NPU dispatch (LiteRtDispatch.dll + OpenVino runtime + TBB, 12 extra DLLs) for PreferredBackend.npu on LunarLake-class Intel chips. Built from LiteRT-LM commit 62f7a8e. Other 6 platforms unchanged from native-v0.11.0-a (032334d).

... (truncated)

Changelog

Sourced from flutter_gemma's changelog.

0.15.3

  • example: add TranslateGemma 4B translation demo via task-first home navigation (#177).

0.15.2

  • Unified embedding on LiteRT C API + Dart FFI on all native platforms (#264).

0.15.1

  • Fix Android GPU sampler dlopen failure (#270, thanks @​prithidevghosh): patchelf --add-needed libLiteRtLm.so on libLiteRtTopK{OpenCl,WebGpu}Sampler.so.
  • Desktop storage (#179, co-author @​ProjectEdge-Jim): use Application Support instead of Documents on Windows/macOS/Linux to avoid cloud-synced paths breaking FFI mmap.
  • Multi-image, FFI session metrics, prefix replay (#262, thanks @​frdteknikelektro): Message.withImages([...]) for multi-image input, chat/Conversation session metrics via FFI, persistent prefix messages replayed on session rebuild after history truncation. Backward-compatible (Message.withImage(...) still works).
  • Skip sampler params on NPU backend: temperature/topK/topP/seed are silently ignored when PreferredBackend.npu is selected — LiteRT-LM NPU executor only supports internal greedy sampling.
  • Windows Intel NPU end-to-end: native-v0.11.0-b Windows tarball bundles Intel dispatch (LiteRtDispatch.dll), OpenVino runtime, TBB (~30 MB); FFI client passes dispatch_lib_dir + use_hw_masking_for_npu=false at engine_create so PreferredBackend.npu works on Intel LunarLake/PantherLake silicon without manual DLL placement.
  • Fix web build broken by 0.15.0: LiteRtLmFfiClient stub on web was missing the enableSpeculativeDecoding parameter — dart2js failed compilation when web target was actually built.
  • CI: standalone build-litertlm-native-windows.yml workflow for Windows-only rebuilds.

0.15.0

  • LiteRT-LM 0.11.0: MTP-capable Gemma 4 + speculative decoding on macOS / iOS / Android / Windows.
  • enableSpeculativeDecoding flag on getActiveModel() (null = model default; true/false to override).
  • Restore Android NPU support for .litertlm (regression from 0.14.0): PreferredBackend.npu on Android .litertlm models routes through LiteRT-LM's Backend::NPU again — same as 0.13.x's Kotlin path before the FFI migration silently dropped it. Requires a Qualcomm QNN / Google Tensor / MediaTek dispatch lib on the device; without one, engine_create fails with a dispatch error. MediaPipe .task models still don't support NPU (MediaPipe SDK limitation, unchanged).
  • PreferredBackend.npu on desktop (#261): macOS / Linux / Windows backend arm wired. Same dispatch-lib requirement as Android.
  • Linux known limitation: post-MTP HF Gemma 4 revisions blocked upstream — libLiteRtWebGpuAccelerator.so segfaults during graph compile (filed google-ai-edge/LiteRT-LM#2225) and multi-signature vision encoder rejected by native (engine_create error). Workaround: pin pre-MTP HF revision 7fa1d78473894f7e736a21d920c3aa80f950c0db for Linux users. Other platforms unaffected.
  • hook native cache: marker-file based invalidation (.flutter_gemma_native_version) — bumps clean stale companion libs automatically.

0.14.5

  • Fix desktop embedding on pub.dev installs (#250 follow-up): tensorflowlite_c.{dll,so,dylib} now bundled via Native Assets — regression from 0.14.0 setup-script removal.

0.14.4

  • Fix macOS dylib loading on pub.dev installs (#255).
  • Fix fromAsset install on desktop (#250 mode 2).
  • Fix Android x86_64 emulator crash on embedding init (#250 mode 3).
  • Reduce native lib size: iOS -63%, macOS -43%, Android -28%, Linux -16-18%.

0.14.3

  • Fix App Store ITMS-90208 rejection on iOS (#245): downgraded patched libGemmaModelConstraintProvider.dylib minos 26.2 → 14.0 to match the other companion dylibs.
  • Fix Android Google Play 16KB page-size requirement (#253): rebuilt libLiteRtLm.so with -Wl,-z,max-page-size=16384.
  • Fix Web RAG build pipeline (#251): cross-platform npm run build, bundles cache_api.js + LiteRT WASM into dist/, ships package.json + vite.config.js in pub tarball.

0.14.2

  • Fix macOS install_name_tool failure (#247): dart run / build_runner / flutter test on a pure-Dart library aborted with larger updated load commands do not fit because upstream Apple companion dylibs lack -headerpad_max_install_names. Skip them from Native Assets on macOS and bundle via Podfile post_install instead.
  • Fix Gemma 4 escape-token leakage in chat history (#248): <|"|> tokens from tool_calls.arguments were written to history raw, making the model echo them on later turns. Strip recursively before persist via new SdkResponseParser.cleanRawForHistory.
  • Fix modelFromAsset install on desktop (#250): the large_file_handler channel call threw MissingPluginException on macOS / Windows / Linux because the package only ships Android + iOS plugins. Now catches it and falls back to the in-memory loadAsset → writeFile path. Embedding (localagents-rag) and .litertlm FFI paths additionally fail fast with a typed message on non-arm64 Android (x86_64 emulator / armeabi-v7a) instead of a generic JVM crash — see new "Platform & Architecture Support" section in README.
  • macOS Podfile setup (BREAKING for macOS app projects): app projects must update macos/Podfile post_install to the new snippet (see README → macOS Setup). iOS / Linux / Windows / Android unaffected.
  • Perf debug logs: [*/perf] lines break out cost of dylib load, engine_create, prefill, decode — visible via debugPrint in both debug and release builds.

0.14.1

  • Web build fix (#244): 0.14.0 broke web compilation by statically importing core/ffi/litert_lm_client.dart (which imports dart:ffi) through the flutter_gemma_interface.dartmobile/flutter_gemma_mobile.dart chain. JS/Wasm targets cannot compile dart:ffi. Added conditional imports in mobile/flutter_gemma_mobile.dart that swap litert_lm_client.dart and ffi_inference_model.dart for *_stub.dart shims on dart.library.js_interop. The web plugin (FlutterGemmaWeb) registers itself as FlutterGemmaPlugin.instance before any FFI code path runs, so the stubs' constructors (which throw UnsupportedError) are never actually invoked on web.
  • App Store fix (#245, ITMS-90432): 0.14.0 dropped lib*.dylib symlinks alongside the bundled .framework/ accelerators in Runner.app/Frameworks/ so LiteRT-LM's gpu_registry could dlopen them by basename — App Store Connect rejected those builds with "Unexpected file found in Frameworks". 0.14.1 patches the upstream LiteRT-LM source (runtime/components/sampler_factory.cc and litert/runtime/accelerators/gpu_registry.cc) to load Apple platform accelerators via @executable_path/../Frameworks/<X>.framework/<X> (macOS) / @executable_path/Frameworks/<X>.framework/<X> (iOS) instead of libX.dylib. Native Assets bundles the framework bundles correctly out of the box; no host-side Podfile symlinks needed. Patch applied during local Bazel rebuild — see native/litert_lm/patch_c_api.sh section 10.
  • Gemma 4 native function calling: New ModelType.gemma4 routes tool definitions to LiteRT-LM SDK via litert_lm_conversation_config_set_tools (OpenAI Chat Completions JSON). SDK applies chat_template.jinja through minja, renders native <|tool>declaration:...<tool|> tokens, and parses the model's <|tool_call>...<tool_call|> response back into structured tool_calls JSON. flutter_gemma reads the result via SdkResponseParser.extractToolCalls (handles parallel calls and the multimodal content[] path) and returns FunctionCallResponse to the app — no Dart-side prompt engineering needed.
  • Escape token cleanup: Strips leftover <|"|> Gemma 4 escape tokens from string arguments (recursively, including nested maps/lists).
  • example/lib/models/model.dart: Gemma 4 E2B / E4B entries switched to modelType: ModelType.gemma4.

... (truncated)

Commits

@dependabot dependabot Bot added dart Pull requests that update dart code dependencies Pull requests that update a dependency file labels May 16, 2026
@dependabot dependabot Bot requested a review from NITISH-R-G as a code owner May 16, 2026 05:35
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file dart Pull requests that update dart code labels May 16, 2026
Bumps [flutter_gemma](https://github.com/DenisovAV/flutter_gemma) from 0.3.1 to 0.15.3.
- [Release notes](https://github.com/DenisovAV/flutter_gemma/releases)
- [Changelog](https://github.com/DenisovAV/flutter_gemma/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DenisovAV/flutter_gemma/commits/v0.15.3)

---
updated-dependencies:
- dependency-name: flutter_gemma
  dependency-version: 0.15.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title chore(deps): bump flutter_gemma from 0.3.1 to 0.15.1 chore(deps): bump flutter_gemma from 0.3.1 to 0.15.3 May 17, 2026
@dependabot dependabot Bot force-pushed the dependabot/pub/flutter_gemma-0.15.1 branch from 37495da to 45c571a Compare May 17, 2026 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dart Pull requests that update dart code dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants