1. 0c54891 StatefulDecoder and WhisperDecoder with timestamp token support by Byungchul Kim · 20 hours ago upstream/main
  2. 39ccca6 Select built-in models directly when matched by ?model= or Add URL / Hugging Face. by Google AI Edge · 21 hours ago
  3. e7399ce Rename the LiteRT-LM Web chat demo from "LiteRT-LM.js" to "LiteRT-LM Web". by Google AI Edge · 22 hours ago
  4. 7a4f4ae Keep audio and image blob keys under Closure property renaming. by Google AI Edge · 23 hours ago
  5. 7a23b60 ci: bump GitHub Actions dependencies in workflows by Wai Hon Law · 23 hours ago
  6. 2713065 refactor: unify VisionSubmodel and deduplicate output handling in vision executor by Wai Hon Law · 23 hours ago
  7. 3eb26fd refactor: simplify Gemma 4 multi-prefill chat template by Wai Hon Law · 24 hours ago
  8. f979a9c Add the `DecisionEngine` interface and `LlmDecisionEngine`, built on the public `Engine` and `Session` API. by Google AI Edge · 24 hours ago
  9. 956f4f8 Polish the installed PWA experience for the LiteRT-LM Web chat demo. by Google AI Edge · 24 hours ago
  10. b480cfc refactor: consolidate shared C API internal helpers and raw enum checks by Wai Hon Law · 24 hours ago
  11. 07c66e2 Add a self-contained static build mode to the LiteRT-LM Web chat demo. by Google AI Edge · 25 hours ago
  12. e0d53d5 Prevent TensorFlow workspace macros from shadowing `@rules_android` and `@rules_android_ndk` when `ANDROID_SDK_HOME` or `ANDROID_NDK_HOME` are set. by Mohammadreza Heydary · 25 hours ago
  13. 5fafbaa Normalize and support greedy and top-k sampler types across CPU and GPU backends. by Mohammadreza Heydary · 25 hours ago
  14. 666c2ca Fix double-move and version field loss in `LitertlmHeader` by James Nesbitt · 25 hours ago
  15. 1f6ca24 Add experimental backend and activation precision controls to the LiteRT-LM Web chat demo. by Google AI Edge · 27 hours ago
  16. c36be7e refactor: deduplicate submodel compilation and buffer handling in audio executor by Wai Hon Law · 28 hours ago
  17. 88a271c refactor: remove unused Backend::CPU_ARTISAN enum by Wai Hon Law · 29 hours ago
  18. be4d608 Support nested schemas in LLGuidance tool call grammars by Google AI Edge · 29 hours ago
  19. 827e422 build: strip non-global Mach-O symbols (-Wl,-x) on iOS and macOS by Wai Hon Law · 29 hours ago
  20. 1b3584e Add `num_draft_tokens` to `GpuArtisanConfig` in `llm_executor_settings.h` for Desktop MTP speculative decoding. by Google AI Edge · 29 hours ago
  21. fef8f4e Asynchronous streaming callbacks in `RunSingleTurnConversation` and `RunMultiTurnConversation` previously logged `absl::Status` errors without propagating them to `RunLiteRtLm`, allowing failed inference turns to return `absl::OkStatus()` or access an empty conversation history. In addition, early status returns in `RunLiteRtLm` skipped `absl::RemoveLogSink`, so the heap-allocated `FileLogSink` was destroyed while still registered with Abseil's global log sink registry. by Google AI Edge · 31 hours ago
  22. 61fd138 Fix Supported Models table rendering in omni/README.md on GitHub. by Google AI Edge · 2 days ago
  23. a0eb798 Rename the Python builder's weight placement options and use the CLI defaults by Google AI Edge · 2 days ago
  24. 52f34d1 Add `MediatekSdkVersion` and `MediatekNpuOptions` (`NpuOptions::mediatek_options`) and map `sdk_version` to `litert::mediatek::MediatekOptions::SetNeronSDKVersionType` in `SetNpuOptions` so callers of the LiteRT-LM executor API can explicitly select the MediaTek NeuroPilot SDK version. by Google AI Edge · 2 days ago
  25. fd03d1c Remove ~4 ms timer stalls from web GPU sampler readback. by Google AI Edge · 2 days ago
  26. 41087e9 Register whisper-base/small/medium models with 99 locales by Byungchul Kim · 2 days ago
  27. 503cc0e Guard Qwen3-ASR header against step-0 stop token on GPU by Byungchul Kim · 2 days ago
  28. e171ab7 Expose per-modality activation precision overrides in @litert-lm/core. by Google AI Edge · 2 days ago
  29. aa803d2 Add dev-only review states to the LiteRT-LM Web chat devserver. by Google AI Edge · 2 days ago
  30. a3bdd74 Redesign the LiteRT-LM Web chat app shell. by Google AI Edge · 2 days ago
  31. 283ebcf Load the tokenizer concurrently with executor creation in EmbeddingEngine by Tenghui Zhu · 2 days ago
  32. 2a5b6c7 Manage LiteRT-LM runtime debugger capture directories and disable the debugger with a warning on unsupported backends. by Qidong Zhao · 2 days ago
  33. a669e5e Use statically dispatched Highway vectors (`hn::IfThenElse(hn::Lt(a, b), b, a)` on two 4-lane `FixedTag<float, 4>` vectors) for the 8-lane greedy `Max<kSize>` reduction in `sampling_cpu_util`, since some toolchains (e.g. the Android arm64 opt build) do not autovectorize the scalar loop. Exact scalar tie-breaking, `NaN`, and signed-zero behavior are preserved; `HWY_SCALAR` builds keep the scalar loop. by Google AI Edge · 2 days ago
  34. deb5bc4 Move model selection into the composer and declutter the LiteRT-LM Web chat sidebar. by Google AI Edge · 2 days ago
  35. 2d27851 Upgrade message rendering in the LiteRT-LM Web chat demo. by Google AI Edge · 2 days ago
  36. 01f5a37 Upgrade npm dependencies in the LiteRT-LM OSS JS monorepo. by Google AI Edge · 2 days ago
  37. fa5260c Add a package-lock.json for the LiteRT-LM OSS JS monorepo. by Google AI Edge · 2 days ago
  38. 3865d0b refactor: remove unused String.snakeToCamelCase helper in Kotlin Tool by Wai Hon Law · 2 days ago
  39. 3b4b897 Add tool-call history, stop/undo state, and UI hooks to the LiteRT-LM Web chat stores. by Google AI Edge · 2 days ago
  40. aff9299 Stream binary and TFLite model or weight sections in 1 MiB chunks when dumping LiteRT-LM files to avoid out-of-memory errors on multi-gigabyte models. by Google AI Edge · 2 days ago
  41. bcfb4f6 Export LoRA test fixtures and grant an internal client visibility to the model loader. by Google AI Edge · 2 days ago
  42. 743a5f3 refactor(python): remove unused ctypes bindings and orphaned simple_main script by Wai Hon Law · 2 days ago
  43. 71521a3 Register MiniCPM-o-4.5 to OmniEngine and OmniRunner by Byungchul Kim · 2 days ago
  44. 8f4afc0 Introduce LiteRT-LM differential ModelSync library in C++. by Google AI Edge · 2 days ago
  45. a2d28c6 refactor: remove unused Rust cxx::bridge methods and orphaned ANTLR listener by Wai Hon Law · 2 days ago
  46. 9e02638 refactor: remove unused helpers in Web core mutex and feature detection by Wai Hon Law · 2 days ago
  47. 89af601 Internal change by Salil Tambe · 2 days ago
  48. 9575a74 Don't accept whitespace-only answers for the LLGuidance "none" tool choice. by Google AI Edge · 2 days ago
  49. e727695 Convert Float16 logits directly from the tensor buffer in the CPU sampler. by Mohammadreza Heydary · 2 days ago
  50. 0e1ff3f Session factory and any2any_runner for openbmb/MiniCPM-o-4_5 by Byungchul Kim · 2 days ago
  51. 7bd76bd perf: compile slimmed decoder-only miniaudio privately in AudioPreprocessorMiniAudio by Wai Hon Law · 2 days ago
  52. 39889f6 Don't block the decode thread while waiting for sampled tokens in TopKMetalSampler. by Fengwu Yao · 2 days ago
  53. 01a0b3f Internal change by Salil Tambe · 3 days ago
  54. eaa9898 Internal change by Salil Tambe · 3 days ago
  55. a9c103a ci: configure multi-mirror APT failover and retries in Linux workflows by Wai Hon Law · 3 days ago
  56. 3aa0e73 refactor: prune unused single-TU code, SetExternalFile, and DumpTensorToCsv, and isolate test fakes by Wai Hon Law · 3 days ago
  57. 9235f91 Fix whitespace loops and argument order in LLGuidance FC tool calls. by Google AI Edge · 3 days ago
  58. c96f139 Return an error when LLGuidance tool call constraints can't be created. by Google AI Edge · 3 days ago
  59. 0711275 Reverts e40257f9c6a3b9dc1af47097c3696bf61cf0aaa7 by Google AI Edge · 3 days ago
  60. 22fbf14 feat(cli): propagate max_num_tokens to EmbeddingEngine max_input_length in serve by Wai Hon Law · 3 days ago
  61. 77fc75b Update MiniCPM-o 4.5 TTS and vocoder stages for CosyVoice2 / Token2Wav pipeline by Byungchul Kim · 3 days ago
  62. 241b9ee Internal changes only. by Google AI Edge · 3 days ago
  63. 9738e18 Save all active NPU KV cache buffers in CloneContext. by Matt Kreileder · 3 days ago
  64. 08ec69e Disable Metal argument buffers by default in LiteRT-LM GPU options. by Fengwu Yao · 3 days ago
  65. e0dcad4 Sync executor step before prefilling suffix after full prefix match by Google AI Edge · 3 days ago
  66. fb1b2a8 Enable NPU backend support in LiteRT-LM Omni: by Google AI Edge · 3 days ago
  67. e9b9db2 Let adaptive MTP gate speculation under decoding constraints. by Mohammadreza Heydary · 3 days ago
  68. 66d97b7 Only track accelerator memory when an executor runs on an accelerator. by Marissa Ikonomidis · 3 days ago
  69. 02d7e8d Push the next sampling draws to the NVIDIA step feed again. by Google AI Edge · 5 days ago
  70. 6fc1a5b Stop the Python tool-calling loop after 25 rounds. by Tenghui Zhu · 6 days ago
  71. b1dcfbd Update LiteRT and ML Drift dependency pins for Qwen 3.5 GPU support. by Fengwu Yao · 6 days ago
  72. 317fb5d Make `HuggingFaceTokenizer` thread-safe. by Google AI Edge · 6 days ago
  73. 1d378fc Require LiteRT-LM 0.19.0 for files with external weights by Google AI Edge · 6 days ago
  74. df8bb66 Externalize LiteRT-LM weights by default in OSS packaging tools by Google AI Edge · 6 days ago
  75. e40257f Avoid unnecessary KV cache deep copies when switching LLM sessions by Yi-Chun Kuo · 6 days ago
  76. 817c842 Keep Qwen3-TTS from locking into a silence token before the text is spoken by Yi-Chun Kuo · 6 days ago
  77. 7bb4ad6 Find the loaded NVIDIA dispatch library on Windows too. by Google AI Edge · 6 days ago
  78. 678be50 Use insert_or_assign to populate active_drafter_input_buffers_ by Google AI Edge · 6 days ago
  79. ceed85d refactor: remove unused ResourceRegistry, ExecutionQueue, and LiteRTProcessedContext by Wai Hon Law · 6 days ago
  80. 458390c Align NPU prefill chunks to images for vision-bidirectional attention. by Matt Kreileder · 6 days ago
  81. 5667f3d Keep one zero-offset model mapping on Windows for the NVIDIA weight store. by Google AI Edge · 7 days ago
  82. e876431 Stop the NVIDIA step feed at a bounded response's end. by Google AI Edge · 7 days ago
  83. b585bb6 Register the embedder's token tables with the NVIDIA decode step. by Google AI Edge · 7 days ago
  84. 671728e Sample the MTP verifier's and the executor's tokens on the NVIDIA device. by Google AI Edge · 7 days ago
  85. fd79fb1 Resolve NPU executor settings from metadata and disable HW components by default. by Andrew Zhang · 7 days ago
  86. 3e24a71 Read the embedding text encoder's external weights into host memory on CPU. by Tenghui Zhu · 7 days ago
  87. 30544ad Remove the random number generators from the samplers. by Mohammadreza Heydary · 7 days ago
  88. 474a7e0 [NPU] Always warm up only the first context group of the NPU executor. by Matt Kreileder · 7 days ago
  89. 9a92de8 refactor: remove unused pipeline and token_id_util libraries by Wai Hon Law · 7 days ago
  90. 4ee98c1 Add a sampler config to the Kotlin and Swift benchmark(). by Mohammadreza Heydary · 7 days ago
  91. d4206f5 Add tool_choice to the Swift API and fix streaming automatic tool calling. by Google AI Edge · 7 days ago
  92. 2ebb9b5 Reuse `TopPSampler::logits_data_` when downloading non-host `Float32` logits instead of allocating and zero-initializing a new `std::vector<float>` via `CopyFromTensorBuffer` on every decode step. by Google AI Edge · 7 days ago
  93. e5beaa5 Draw the sampling uniforms in the callers of the samplers. by Mohammadreza Heydary · 7 days ago
  94. 7b618f7 Link Apple dylibs with -headerpad_max_install_names so that consumers can rewrite their install names and rpaths with install_name_tool. by Google AI Edge · 7 days ago
  95. 50185c3 Move the memory measurement library from LiteRT-LM to LiteRT. by Marissa Ikonomidis · 7 days ago
  96. f819c14 Update LiteRT-LM Swift package binaries to v0.19.1. by Google AI Edge · 7 days ago
  97. 9048714 Add tool_choice to the Kotlin API. by Google AI Edge · 7 days ago
  98. c6669ff Start a new adaptive MTP conversation when the executor switches sessions. by Mohammadreza Heydary · 7 days ago
  99. dc5166e Expose tool_choice in the LiteRT-LM C API, Python SDK and OpenAI server. by Google AI Edge · 7 days ago
  100. 4ef337b Handle SentencePiece tokens in LLGuidance constraint provider by Mohammadreza Heydary · 7 days ago