)]}'
{
  "log": [
    {
      "commit": "a24de83834ad5419ab2f493dc0f4c15b4b67d0ec",
      "tree": "042afc30c12ea4fa14f65d595b31841809b525e1",
      "parents": [
        "78d53827ad33b8e07bf8c22d3dca9946e5d68663"
      ],
      "author": {
        "name": "Byungchul Kim",
        "email": "byungchul@google.com",
        "time": "Sat Jul 18 07:21:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 18 07:24:05 2026"
      },
      "message": "Disable sampler handling inputs on single KV cache case\n\n- param tensor is not updated by sampler\n\nLiteRT-LM-PiperOrigin-RevId: 949963734\n"
    },
    {
      "commit": "78d53827ad33b8e07bf8c22d3dca9946e5d68663",
      "tree": "8ab8b8381166ca6a44500a6e9ffc67dc8cbc3325",
      "parents": [
        "609bb73aafaf4e6e5d63905117a4593b48d81452"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Sat Jul 18 02:26:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 18 02:28:54 2026"
      },
      "message": "feat(cli): group subcommands into Inference, Model Management, and LiteRT-LM File sections in help text\n\nOrganize subcommands in litert-lm --help into Inference, Model Management, and Builder sections, and unify subcommand description style.\n\nLiteRT-LM-PiperOrigin-RevId: 949876342\n"
    },
    {
      "commit": "609bb73aafaf4e6e5d63905117a4593b48d81452",
      "tree": "15ca924142b10f01e74baf7149b98f3e0e9a6393",
      "parents": [
        "f2f7810b367cc62ee9d41cb7560d9b9d7974d936"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Sat Jul 18 01:57:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 18 01:59:56 2026"
      },
      "message": "Enable per-op profiling in LiteRT LM.\n\nLiteRT-LM-PiperOrigin-RevId: 949868114\n"
    },
    {
      "commit": "f2f7810b367cc62ee9d41cb7560d9b9d7974d936",
      "tree": "0de6f0f58b4fbe3a679e6d7d4eebbe70c2db6f8e",
      "parents": [
        "29b63699b15a594f8737bf7c6d29fe49644eddea"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Sat Jul 18 01:36:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 18 01:37:28 2026"
      },
      "message": "[litertlm] Add SuppressTokensConfig to LiteRT-LM Swift API.\n\nLiteRT-LM-PiperOrigin-RevId: 949861837\n"
    },
    {
      "commit": "29b63699b15a594f8737bf7c6d29fe49644eddea",
      "tree": "c9a6d12d3d4ef1898576e02c7b17cdfde8999761",
      "parents": [
        "3568271748bf2676868f1869cf99c0f23a017643"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Fri Jul 17 23:25:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 23:27:09 2026"
      },
      "message": "Internal Change Only\n\nLiteRT-LM-PiperOrigin-RevId: 949815175\n"
    },
    {
      "commit": "3568271748bf2676868f1869cf99c0f23a017643",
      "tree": "5374a40af3318274d82d7ce6796a1fe6fd9aa384",
      "parents": [
        "126cc31b71ca906923347887cce34778972f8489"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Fri Jul 17 23:08:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 23:11:08 2026"
      },
      "message": "Internal change\n\nLiteRT-LM-PiperOrigin-RevId: 949808105\n"
    },
    {
      "commit": "126cc31b71ca906923347887cce34778972f8489",
      "tree": "e6d056370a935ad54f384b8e8c1aebbab0a0ccb4",
      "parents": [
        "b48da157eeb2acaf981d6441e140780ceebc1afc"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Fri Jul 17 23:02:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 23:04:42 2026"
      },
      "message": "Update dependencies of litert_lm\n\nLiteRT-LM-PiperOrigin-RevId: 949804989\n"
    },
    {
      "commit": "b48da157eeb2acaf981d6441e140780ceebc1afc",
      "tree": "5637eb26098458bf132db19276f3e51593e5f236",
      "parents": [
        "e5893b58ad1a2f3035d0fe3e4677e42dfccb0042"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Fri Jul 17 22:42:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 22:44:25 2026"
      },
      "message": "[litertlm] Add NoRepeatNgramConfig to LiteRT-LM Swift API.\n\nLiteRT-LM-PiperOrigin-RevId: 949795763\n"
    },
    {
      "commit": "e5893b58ad1a2f3035d0fe3e4677e42dfccb0042",
      "tree": "cea1528a8d2da4936ed8cdeced01acb71ba34542",
      "parents": [
        "62cfa40bc4e38ed4a453f3b46b2e291de9b37124"
      ],
      "author": {
        "name": "Yi-Chun Kuo",
        "email": "yichunkuo@google.com",
        "time": "Fri Jul 17 22:31:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 22:33:28 2026"
      },
      "message": "Add back proper config for mixed precision of GPU options.\n\nLiteRT-LM-PiperOrigin-RevId: 949791349\n"
    },
    {
      "commit": "62cfa40bc4e38ed4a453f3b46b2e291de9b37124",
      "tree": "1c7fc65f59b1f5612f148a0b3315f3e90fc13aae",
      "parents": [
        "12fb7cdc72060317a2834473f5a710c3ac1b8c3d"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Fri Jul 17 21:58:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 22:00:59 2026"
      },
      "message": "Fix ASAN heap-use-after-free in EmbeddingLookupMultiModal by extending buffer lifetime.\n\nLiteRT-LM-PiperOrigin-RevId: 949776302\n"
    },
    {
      "commit": "12fb7cdc72060317a2834473f5a710c3ac1b8c3d",
      "tree": "abe2e6818374f8ea41190cf77c200383ed37ee1d",
      "parents": [
        "2e38d70d671afc893633043ef87bcc4da83565e0"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Fri Jul 17 21:38:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 21:39:35 2026"
      },
      "message": "[litertlm] Add RepetitionPenaltyConfig and maxOutputTokens to LiteRT-LM Swift API.\n\nLiteRT-LM-PiperOrigin-RevId: 949767151\n"
    },
    {
      "commit": "2e38d70d671afc893633043ef87bcc4da83565e0",
      "tree": "a79eb1805ba6e2c70497c7f93c94b4058f11b7bb",
      "parents": [
        "c72a126fb120e592961622a5a789c3cdedd61d39"
      ],
      "author": {
        "name": "Matt Kreileder",
        "email": "mattalexander@google.com",
        "time": "Fri Jul 17 21:27:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 21:29:13 2026"
      },
      "message": "NPU: Report the max sequence length to the Engine to fail more gracefully\n\nWithout this change models that don\u0027t store their maximum sequence length in\ntheir litertlm metadata fail with a \"KV-cache update out of range\".  By\ndetermining the limit during the executor creation and passing it to the\nengine we obtain a clean error message that the prefill tokens exceed the\nsupported limit.\n\nLiteRT-LM-PiperOrigin-RevId: 949762104\n"
    },
    {
      "commit": "c72a126fb120e592961622a5a789c3cdedd61d39",
      "tree": "5255e20e323a1b42bea46824a817d53d9617a72d",
      "parents": [
        "0e3ee2be0f4a01c7b685744f711289a684e86ab2"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Fri Jul 17 21:18:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 21:19:40 2026"
      },
      "message": "fix(cli): include jsonschema in the PyPI dependency\n\nAlso bump rpds-py from 0.18.1 to 2026.6.3 which has python 3.13, required by this bazel repo.\n\nLiteRT-LM-PiperOrigin-RevId: 949757846\n"
    },
    {
      "commit": "0e3ee2be0f4a01c7b685744f711289a684e86ab2",
      "tree": "cab4093dd0a0f03b600c178bba8408df8f4b19f5",
      "parents": [
        "e8afa3b4583b1914824225ea795f8597881073bc"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Fri Jul 17 16:38:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 16:40:13 2026"
      },
      "message": "Fix zero token and NaN metrics in LiteRT-LM benchmark logging.\n\nLiteRT-LM-PiperOrigin-RevId: 949615629\n"
    },
    {
      "commit": "e8afa3b4583b1914824225ea795f8597881073bc",
      "tree": "b491fba93c8a9f19d4f561dbc03865c5b77d152f",
      "parents": [
        "ce0fbc35c4594172eacd4721908c42791a5830c1"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Fri Jul 17 15:09:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 15:10:51 2026"
      },
      "message": "fix(benchmark): pass enable_speculative_decoding in Benchmark.run()\n\nFixes https://github.com/google-ai-edge/LiteRT-LM/issues/2843.\n\nLiteRT-LM-PiperOrigin-RevId: 949575887\n"
    },
    {
      "commit": "ce0fbc35c4594172eacd4721908c42791a5830c1",
      "tree": "4e5b2901ae983ff4d37207bfe29f4384e8d6a15d",
      "parents": [
        "372ff7e97803f7b1dae19c7e040a04c30d8d810b"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Fri Jul 17 01:59:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 02:01:28 2026"
      },
      "message": "fix: remove thinking content handling from Qwen3 chat template\n\nLiteRT-LM-PiperOrigin-RevId: 949298434\n"
    },
    {
      "commit": "372ff7e97803f7b1dae19c7e040a04c30d8d810b",
      "tree": "f45512dfdc6eb834d6d4c0f3dbaf7746a0703b06",
      "parents": [
        "7355f6d9d2414928d72cabc872fbc5547a4d4e86"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Fri Jul 17 01:14:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 01:15:51 2026"
      },
      "message": "feat: set filterChannelContentFromKvCache to true by default\n\nTo make thinking work well over multi-turn.\n\nLiteRT-LM-PiperOrigin-RevId: 949284197\n"
    },
    {
      "commit": "7355f6d9d2414928d72cabc872fbc5547a4d4e86",
      "tree": "e757cbc308548a93f90d94378b522e16070e1d2e",
      "parents": [
        "f35fcbc35110fe90759baa18abad7bb3894e6c36"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Fri Jul 17 00:10:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 17 00:12:24 2026"
      },
      "message": "Add large Gemma 4 models (12B, 26B, 31B) and VRAM warning to LiteRT-LM chat app.\n\nLiteRT-LM-PiperOrigin-RevId: 949257807\n"
    },
    {
      "commit": "f35fcbc35110fe90759baa18abad7bb3894e6c36",
      "tree": "7d21696bd11dd36c7cfe717d769b200883728ea4",
      "parents": [
        "df23d6389a9d5cb38c9e7fcf27c6432586a44cf8"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 16 21:33:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 21:35:12 2026"
      },
      "message": "feat: default filter_channel_content_from_kv_cache to None across CLI and language bindings\n\nWhen not specified, native engine default settings are preserved without modification.\n\nLiteRT-LM-PiperOrigin-RevId: 949178538\n"
    },
    {
      "commit": "df23d6389a9d5cb38c9e7fcf27c6432586a44cf8",
      "tree": "5d7fbf46c85ba3c9718ec59f4cf371dd59886719",
      "parents": [
        "c74608b83af4ee01decbb3d4d56e1bb1e98f4f90"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Thu Jul 16 21:15:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 21:18:30 2026"
      },
      "message": "    Internal change to enable support for Google Tensor backend\n\nLiteRT-LM-PiperOrigin-RevId: 949168639\n"
    },
    {
      "commit": "c74608b83af4ee01decbb3d4d56e1bb1e98f4f90",
      "tree": "1f051754df5b384e51a5a961941242cabf61cac5",
      "parents": [
        "587d1d6b4d4a7f5dba28b48936fa083cdd6d6508"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Thu Jul 16 21:00:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 21:04:50 2026"
      },
      "message": "Centralize CPU and GPU option configurations across LiteRT-LM executors\n\nLiteRT-LM-PiperOrigin-RevId: 949159770\n"
    },
    {
      "commit": "587d1d6b4d4a7f5dba28b48936fa083cdd6d6508",
      "tree": "cd95f5a0799ce110b33a7b3195a70d6855c337ce",
      "parents": [
        "e94d740e37abd6067884843a0e562d6d3b842714"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 16 18:59:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 19:01:32 2026"
      },
      "message": "Add response_format API for constrained decoding (JSON Schema and Regex) in Kotlin.\n\nLiteRT-LM-PiperOrigin-RevId: 949095972\n"
    },
    {
      "commit": "e94d740e37abd6067884843a0e562d6d3b842714",
      "tree": "118c4853881fc12d7e9145f035f9bab7d4d2ab2a",
      "parents": [
        "0e380a5377108838b7234deec1e6db26bafed9c4"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 16 18:09:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 18:12:25 2026"
      },
      "message": "Internal change\n\nLiteRT-LM-PiperOrigin-RevId: 949067497\n"
    },
    {
      "commit": "0e380a5377108838b7234deec1e6db26bafed9c4",
      "tree": "74f609b6c951b7adab46dd27ce9604959e644115",
      "parents": [
        "f9472878b7b2c2c2d1fca5962cd90f1ed78dc541"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Thu Jul 16 17:53:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 17:55:21 2026"
      },
      "message": "On Windows, `ERROR` is defined as a macro. When passed as an  argument, the preprocessor expands `ERROR` prematurely, resulting in build breaks.\n\nThis CL fixes the issue by utilizing the token pasting operator (##) in the macro definition. By pasting `NPU_EXECUTOR_LOG_` with the `severity` token, we prevent the Windows `ERROR` macro from expanding during argument substitution. The macro now safely evaluates to explicit `NPU_EXECUTOR_LOG_INFO` and `NPU_EXECUTOR_LOG_ERROR` macros, which cleanly wrap the `ABSL_LOG_IF` calls.\n\nLiteRT-LM-PiperOrigin-RevId: 949058532\n"
    },
    {
      "commit": "f9472878b7b2c2c2d1fca5962cd90f1ed78dc541",
      "tree": "ae6b87a2f27f3128ca1405de71c7a83775beba86",
      "parents": [
        "5dc35365a5e8dac60856b6490f69feead80e493c"
      ],
      "author": {
        "name": "Byungchul Kim",
        "email": "byungchul@google.com",
        "time": "Thu Jul 16 17:47:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 17:49:01 2026"
      },
      "message": "Add a flag to set gpu_enable_metal_residency_set\n\nLiteRT-LM-PiperOrigin-RevId: 949055423\n"
    },
    {
      "commit": "5dc35365a5e8dac60856b6490f69feead80e493c",
      "tree": "cadc4f7eac20d166ba0b78966fe7cc093b64583f",
      "parents": [
        "92f3caa6084b360995d6bdf7d49cec98d970d05d"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Thu Jul 16 17:37:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 17:39:00 2026"
      },
      "message": "[litertlm] Add SuppressTokensConfig to LiteRT-LM Kotlin API.\n\nLiteRT-LM-PiperOrigin-RevId: 949049925\n"
    },
    {
      "commit": "92f3caa6084b360995d6bdf7d49cec98d970d05d",
      "tree": "df4c654344d8c8f3e0c9ecf26971ae5c9d7aaf8c",
      "parents": [
        "2d816fb347c69c0e7440dfd5ab45ff995f840876"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Thu Jul 16 16:31:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 16:33:38 2026"
      },
      "message": "Add support for GPU LoRA weight verification for audio inputs and AST testing.\n\nLiteRT-LM-PiperOrigin-RevId: 949015737\n"
    },
    {
      "commit": "2d816fb347c69c0e7440dfd5ab45ff995f840876",
      "tree": "05eccc6be590b6ce24c4b5409667ca9ef17ffe79",
      "parents": [
        "21a1eba62931afbe8376dcf57099776111fa56a9"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 16 16:22:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 16:24:44 2026"
      },
      "message": "refactor: extract LiteRT-LM C API internal structs into shared engine_internal.h\n\nMove C struct wrapper definitions (LiteRtLmConversationConfig, LiteRtLmEngineSettings, LiteRtLmConversation, etc.) out of engine.cc and engine_test.cc into a shared internal header engine_internal.h. This establishes a single source of truth and prevents ABI struct layout drift between runtime implementation and unit tests.\n\nLiteRT-LM-PiperOrigin-RevId: 949011835\n"
    },
    {
      "commit": "21a1eba62931afbe8376dcf57099776111fa56a9",
      "tree": "da30895ae8b333c88cd2bc5b851d989fba77d336",
      "parents": [
        "70f85236c2c0810e5c33fbdc7ee59df82b64fa14"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Thu Jul 16 06:59:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 07:01:27 2026"
      },
      "message": "[litertlm] Add NoRepeatNgramConfig to LiteRtLm Kotlin API.\n\nLiteRT-LM-PiperOrigin-RevId: 948782789\n"
    },
    {
      "commit": "70f85236c2c0810e5c33fbdc7ee59df82b64fa14",
      "tree": "f0f122ae83ae93e622953f12c5e01c34e0970016",
      "parents": [
        "36c721fc5f3a08142636989088e5218017ff3379"
      ],
      "author": {
        "name": "Yishuang Pang",
        "email": "ypang@google.com",
        "time": "Thu Jul 16 05:54:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 05:56:34 2026"
      },
      "message": "Set `self.handle \u003d nil` in `Conversation.deinit` and `Engine.deinit` before native deallocation to prevent re-entry or double-free errors during teardown.\n\nLiteRT-LM-PiperOrigin-RevId: 948756652\n"
    },
    {
      "commit": "36c721fc5f3a08142636989088e5218017ff3379",
      "tree": "a3735b30d447cac878e5464902b6d4c4897bb692",
      "parents": [
        "4f2cae6ebdbeb420bd10393ec0365b9718fa9711"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 16 04:31:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 04:33:52 2026"
      },
      "message": "fix: support thinking budget for Qwen models and dynamically select first channel as thinking channel\n\nLiteRT-LM-PiperOrigin-RevId: 948724071\n"
    },
    {
      "commit": "4f2cae6ebdbeb420bd10393ec0365b9718fa9711",
      "tree": "9994f1698f18c495ed17d4699d60ce128dc01144",
      "parents": [
        "33e0b3563b6a31827ce27ebb7b90941a914e6776"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Thu Jul 16 03:38:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 03:39:30 2026"
      },
      "message": "Reorder constructor initializer list in LlmLiteRtNpuCompiledModelExecutor to match class field declaration order and prevent compiler reordering warnings (-Wreorder-ctor).\n\nLiteRT-LM-PiperOrigin-RevId: 948705554\n"
    },
    {
      "commit": "33e0b3563b6a31827ce27ebb7b90941a914e6776",
      "tree": "0fed8a6ab212fc5f5b83f51f9640b746c54ca868",
      "parents": [
        "071264df27561046b54032265dfae69affa25c20"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 16 01:49:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 01:55:14 2026"
      },
      "message": "fix: support padded vocabulary sizes in ConstrainedDecoder\n\nLiteRT-LM-PiperOrigin-RevId: 948666950\n"
    },
    {
      "commit": "071264df27561046b54032265dfae69affa25c20",
      "tree": "ea2899edeb2511ec7e2db859622cda585c6205a6",
      "parents": [
        "e5ab46e84fd02d91918723341a3715d8c9faf398"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 16 01:49:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 01:50:47 2026"
      },
      "message": "Support response_format API in LiteRT-LM OpenAI handler.\n\nLiteRT-LM-PiperOrigin-RevId: 948666888\n"
    },
    {
      "commit": "e5ab46e84fd02d91918723341a3715d8c9faf398",
      "tree": "5978aa5df61b2a2f1e05899ca9ccec0b0afc7c23",
      "parents": [
        "2bedb7bae88ebeb2e8f77ac475af7aa3867bd303"
      ],
      "author": {
        "name": "Matt Kreileder",
        "email": "mattalexander@google.com",
        "time": "Thu Jul 16 00:47:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 00:52:01 2026"
      },
      "message": "NPU execution: Update HW mask for sliding window attention\n\nLiteRT-LM-PiperOrigin-RevId: 948643493\n"
    },
    {
      "commit": "2bedb7bae88ebeb2e8f77ac475af7aa3867bd303",
      "tree": "08f7b598b7944aea64f43c2d65afbdf8bae21caa",
      "parents": [
        "d75150e607e948cb533db578878f79ca50d5047f"
      ],
      "author": {
        "name": "David Massoud",
        "email": "davidmassoud@google.com",
        "time": "Thu Jul 16 00:34:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 16 00:36:24 2026"
      },
      "message": "Set NPU backend in CompiledModel options\n\nCpu -\u003e Npu if backend::NPU\n\nLiteRT-LM-PiperOrigin-RevId: 948638670\n"
    },
    {
      "commit": "d75150e607e948cb533db578878f79ca50d5047f",
      "tree": "01b52880d5b8675fd8fbc62330bf5fcb0d537c27",
      "parents": [
        "9643e9428bb171ee3a8be346483d1f1d8fb5a8c9"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Wed Jul 15 23:29:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 23:32:01 2026"
      },
      "message": "Downgrade most ABSL_LOG(INFO) to ABSL_VLOG.\n\nLiteRT-LM-PiperOrigin-RevId: 948610280\n"
    },
    {
      "commit": "9643e9428bb171ee3a8be346483d1f1d8fb5a8c9",
      "tree": "e2dc49659e2e4ad0479d7b911f31f17a9c1e6300",
      "parents": [
        "719ddb4d6e40d9bf1b72ed4286121c89dfd2230d"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Jul 15 22:55:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 22:57:00 2026"
      },
      "message": "Internal code update\n\nLiteRT-LM-PiperOrigin-RevId: 948593267\n"
    },
    {
      "commit": "719ddb4d6e40d9bf1b72ed4286121c89dfd2230d",
      "tree": "16b49de81379742718c2dc3fd450f0918a6e5eb3",
      "parents": [
        "3f67cd3ca9406b6dc3efe48ed53161eac6fb3de3"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Wed Jul 15 22:19:28 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 22:22:23 2026"
      },
      "message": "[litertlm] Add RepetitionPenaltyConfig to LiteRtLm Kotlin API.\n\nLiteRT-LM-PiperOrigin-RevId: 948574403\n"
    },
    {
      "commit": "3f67cd3ca9406b6dc3efe48ed53161eac6fb3de3",
      "tree": "5328eaaec951059f19f440be90e8038f594ebf17",
      "parents": [
        "c7adc1bf1c4259dccf8c1b590ad00a53ee9cdcc6"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Jul 15 22:15:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 22:18:17 2026"
      },
      "message": "Internal code update\n\nLiteRT-LM-PiperOrigin-RevId: 948572372\n"
    },
    {
      "commit": "c7adc1bf1c4259dccf8c1b590ad00a53ee9cdcc6",
      "tree": "092aa8089aebb0b1117f8476a770b12477f2f572",
      "parents": [
        "4698342efab0c569b7636b27b9aa1525b35151f7"
      ],
      "author": {
        "name": "Matthew Chan",
        "email": "matthewchan@google.com",
        "time": "Wed Jul 15 22:01:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 22:05:02 2026"
      },
      "message": "Add metadata for LiteRT-LM embedding models.\n\nLiteRT-LM-PiperOrigin-RevId: 948564401\n"
    },
    {
      "commit": "4698342efab0c569b7636b27b9aa1525b35151f7",
      "tree": "eb432197f7de0788151109020f481b9c5ce9dc78",
      "parents": [
        "325d683133dff8b142f332aacade3426225c0ee1"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Wed Jul 15 21:59:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 22:00:36 2026"
      },
      "message": "Expose op profiling symbols to litert windows DLL.\n\nLiteRT-LM-PiperOrigin-RevId: 948562985\n"
    },
    {
      "commit": "325d683133dff8b142f332aacade3426225c0ee1",
      "tree": "d55cde24343ee9f33acc9ef363a658a91995ad3f",
      "parents": [
        "28441e26458ad23b8f902e77d51cfa007a36343b"
      ],
      "author": {
        "name": "David Massoud",
        "email": "davidmassoud@google.com",
        "time": "Wed Jul 15 21:24:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 21:26:40 2026"
      },
      "message": "Add GetTFLiteModelSectionOffsetAndSize to ModelResources.\n\nHaving access to the offset allows loading the model into an accelerator via DMA-buf instead of mmap.\n\nLiteRT-LM-PiperOrigin-RevId: 948544523\n"
    },
    {
      "commit": "28441e26458ad23b8f902e77d51cfa007a36343b",
      "tree": "fa9d9ee21e1afe528e430ebae94052b6e8223263",
      "parents": [
        "d116ee4e1db9ed8e9d0ff0baa6eb5cbdbae0b37e"
      ],
      "author": {
        "name": "Fengwu Yao",
        "email": "fengwuyao@google.com",
        "time": "Wed Jul 15 18:48:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 18:50:02 2026"
      },
      "message": "Enable residency set configuration.\n\nLiteRT-LM-PiperOrigin-RevId: 948462080\n"
    },
    {
      "commit": "d116ee4e1db9ed8e9d0ff0baa6eb5cbdbae0b37e",
      "tree": "c5415e40a09b62d80d57e9572d7448452aacd191",
      "parents": [
        "1bdd7dab1921f19204ae41160ab710fdf1e0f826"
      ],
      "author": {
        "name": "Fengwu Yao",
        "email": "fengwuyao@google.com",
        "time": "Wed Jul 15 16:57:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 16:59:36 2026"
      },
      "message": "Internal changes only.\n\nLiteRT-LM-PiperOrigin-RevId: 948394639\n"
    },
    {
      "commit": "1bdd7dab1921f19204ae41160ab710fdf1e0f826",
      "tree": "eec8e32100ed497f96181f72c2da5b328844c029",
      "parents": [
        "e398f12a3fcc926959cff0ea3fbb4afa7e9d9276"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Wed Jul 15 16:08:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 16:09:49 2026"
      },
      "message": "fix: update LiteRtLmConversationConfig test struct layout to match C engine header\n\nIn cl/947942554, prompt_template was added to LiteRtLmConversationConfig in engine.cc, but engine_test.cc\u0027s definition was missing prompt_template and constraint_provider_type. This caused ABI offset misalignment and UBSAN invalid-bool-load failures in engine_test.\n\nLiteRT-LM-PiperOrigin-RevId: 948369942\n"
    },
    {
      "commit": "e398f12a3fcc926959cff0ea3fbb4afa7e9d9276",
      "tree": "2ac0e90602e836848767cadc5feb4b68e73549e4",
      "parents": [
        "fddcd269e92d7fb2d0bf9ab6cbf8e5eb293986ab"
      ],
      "author": {
        "name": "Matt Kreileder",
        "email": "mattalexander@google.com",
        "time": "Wed Jul 15 12:53:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 12:54:39 2026"
      },
      "message": "NPU: Initial implementation for sliding window attention support in HW cache update\n\nLiteRT-LM-PiperOrigin-RevId: 948287259\n"
    },
    {
      "commit": "fddcd269e92d7fb2d0bf9ab6cbf8e5eb293986ab",
      "tree": "a077e0de92abbe0883cc5f58461f76866d4b20f6",
      "parents": [
        "4771083b68db9484d028589e5d647cdaf53af583"
      ],
      "author": {
        "name": "Fengwu Yao",
        "email": "fengwuyao@google.com",
        "time": "Wed Jul 15 12:45:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 12:48:08 2026"
      },
      "message": "Add residency API setting.\n\nLiteRT-LM-PiperOrigin-RevId: 948284539\n"
    },
    {
      "commit": "4771083b68db9484d028589e5d647cdaf53af583",
      "tree": "c78ab19d17f62be39671f5d7337682fa82f76766",
      "parents": [
        "2a51e94f7ea2782fd587733d65658b3230a58e6c"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Wed Jul 15 07:32:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 07:34:41 2026"
      },
      "message": "Fix Windows model download path resolution in api_test.py using shutil.which.\n\nLiteRT-LM-PiperOrigin-RevId: 948157111\n"
    },
    {
      "commit": "2a51e94f7ea2782fd587733d65658b3230a58e6c",
      "tree": "2798802e647383c30d0b9689c18a06abebc59cf9",
      "parents": [
        "5b92c80d10262f80c2d0a7f6c722a73843756b3f"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Wed Jul 15 02:49:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 02:51:25 2026"
      },
      "message": "fix(cli): allow additional properties in config.json schema\n\nLiteRT-LM-PiperOrigin-RevId: 948046243\n"
    },
    {
      "commit": "5b92c80d10262f80c2d0a7f6c722a73843756b3f",
      "tree": "2ffe26b259b11eadc6739ce6e873618b3206432d",
      "parents": [
        "ef16b76f937f111ca75b4ba5601f27fe5d5bfa09"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Wed Jul 15 02:42:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 02:45:11 2026"
      },
      "message": "Rename verify_api.py to api_test.py, configure GCS model downloads, fix Kokoro apt lock timeouts.\n\nLiteRT-LM-PiperOrigin-RevId: 948044378\n"
    },
    {
      "commit": "ef16b76f937f111ca75b4ba5601f27fe5d5bfa09",
      "tree": "ec724219bac7541e67c9f6068c2c592f99c7696d",
      "parents": [
        "5ae2b32fc253e3991cd7e4141d8e73970a227de2"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Wed Jul 15 01:49:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 01:50:30 2026"
      },
      "message": "This is an internal change\n\nLiteRT-LM-PiperOrigin-RevId: 948027208\n"
    },
    {
      "commit": "5ae2b32fc253e3991cd7e4141d8e73970a227de2",
      "tree": "c9e72d78b569fa0be48c15b354c993907431686b",
      "parents": [
        "ef12fc2f8bac82ae111ff06ff648094b6bc3cf2f"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Wed Jul 15 01:37:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 01:40:18 2026"
      },
      "message": "Internal change\n\nLiteRT-LM-PiperOrigin-RevId: 948023132\n"
    },
    {
      "commit": "ef12fc2f8bac82ae111ff06ff648094b6bc3cf2f",
      "tree": "203833f2f69f8de63d6102fd0bdcec7c7513af30",
      "parents": [
        "13df7ab2449ad3cdeb03f5192a231f4fbb1bcfb8"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Wed Jul 15 00:01:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 15 00:03:12 2026"
      },
      "message": "feat(python): add response format API\n\nLiteRT-LM-PiperOrigin-RevId: 947984315\n"
    },
    {
      "commit": "13df7ab2449ad3cdeb03f5192a231f4fbb1bcfb8",
      "tree": "0f29ce523c2cc3fe69197b87c815456df0247a83",
      "parents": [
        "98eba9b62ce11e5415bfdb77513ca6313679c4c2"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Tue Jul 14 23:37:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 23:39:40 2026"
      },
      "message": "This is an internal change\n\nLiteRT-LM-PiperOrigin-RevId: 947973569\n"
    },
    {
      "commit": "98eba9b62ce11e5415bfdb77513ca6313679c4c2",
      "tree": "15cb5db1c5911d2def350fc80973728e1d6832bc",
      "parents": [
        "2a568b806aa7ee0822ecea86251d9ca26b3cdb1f"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Tue Jul 14 22:55:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 22:58:02 2026"
      },
      "message": "Skip macOS gated model download and pytest on unauthenticated pull requests.\n\nLiteRT-LM-PiperOrigin-RevId: 947952970\n"
    },
    {
      "commit": "2a568b806aa7ee0822ecea86251d9ca26b3cdb1f",
      "tree": "aa93ab53b8ac5c19be0f9a90c313cc8ce102258a",
      "parents": [
        "38528824f928d0b663f238d0601768ae8ca0e3ac"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Tue Jul 14 22:35:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 22:37:03 2026"
      },
      "message": "feat(cli): add --chat-template option to litert-lm run\n\n- Accepts a Jinja file path and passes its contents to Engine.create_conversation().\n- Plumbs chat_template through Python Engine API to C API.\n- Explains in documentation and help options that if not set, the default provided by the model or engine is used.\n\nLiteRT-LM-PiperOrigin-RevId: 947942554\n"
    },
    {
      "commit": "38528824f928d0b663f238d0601768ae8ca0e3ac",
      "tree": "68f1e18a041b50094f6ba0beac34958fb7d19e30",
      "parents": [
        "4991db6147b414734baddf5cb2822ea4c18705fc"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Tue Jul 14 21:08:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 21:09:52 2026"
      },
      "message": "Implement single-turn prompt template rendering for GenericDataProcessor by delegating to RenderSingleTurnTemplateCommon. Also add unit tests verifying RenderSingleTurnTemplate for single-turn rendering and appending message flows.\n\nFix missing python dependencies (referencing, jsonschema-specifications, rpds-py) in requirements.txt.\n\nLiteRT-LM-PiperOrigin-RevId: 947896439\n"
    },
    {
      "commit": "4991db6147b414734baddf5cb2822ea4c18705fc",
      "tree": "e5a05423b5463fca25aeec87aa7aad8203d4b853",
      "parents": [
        "bea55627459ecf2ef2de4271f77c64588697c075"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Tue Jul 14 20:56:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 21:00:47 2026"
      },
      "message": "feat(cli): add 9 new config options to config.json and validate via JSON Schema\n\nLiteRT-LM-PiperOrigin-RevId: 947889612\n"
    },
    {
      "commit": "bea55627459ecf2ef2de4271f77c64588697c075",
      "tree": "89fcca2fd2ece5278a4e91306aaf928ee8196411",
      "parents": [
        "6340ece64439e9e772e39f023618235b3a8d3079"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Tue Jul 14 20:54:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 20:56:31 2026"
      },
      "message": "[litertlm] Add SuppressTokensConfig to LiteRT LM C API and Python bindings.\n\nLiteRT-LM-PiperOrigin-RevId: 947887929\n"
    },
    {
      "commit": "6340ece64439e9e772e39f023618235b3a8d3079",
      "tree": "e52a07d9222b30ae629658db7d0ad32b155f5d5a",
      "parents": [
        "8cafae389ca9407b8f78ef1a61b53b482cac279c"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Tue Jul 14 20:35:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 20:36:42 2026"
      },
      "message": "Fix Hugging Face S3 redirect 403 authorization failures on macOS and Linux CI workflows\n\nLiteRT-LM-PiperOrigin-RevId: 947876180\n"
    },
    {
      "commit": "8cafae389ca9407b8f78ef1a61b53b482cac279c",
      "tree": "22eefd0e8d40e64dcb019b77e56c4be8b7606036",
      "parents": [
        "f871d8dcd0d888c422e3f0d19bfe95c678098b11"
      ],
      "author": {
        "name": "Marissa Ikonomidis",
        "email": "marissaw@google.com",
        "time": "Tue Jul 14 20:00:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 20:03:19 2026"
      },
      "message": "Update GetOptimizedPrefillWorkGroups to use cautious greedy algorithm\n\nReplaces old chunking logic with a cautious greedy algorithm.\n\nLiteRT-LM-PiperOrigin-RevId: 947857197\n"
    },
    {
      "commit": "f871d8dcd0d888c422e3f0d19bfe95c678098b11",
      "tree": "6ec50450993db28deda472015f587b5fbd6457c0",
      "parents": [
        "4790839af2e6481c7edc3fe93e2d139bc6b890d0"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Tue Jul 14 18:56:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 18:58:29 2026"
      },
      "message": "[litertlm] Add NoRepeatNgramConfig to LiteRT LM C and Python APIs.\n\nLiteRT-LM-PiperOrigin-RevId: 947823500\n"
    },
    {
      "commit": "4790839af2e6481c7edc3fe93e2d139bc6b890d0",
      "tree": "3fd8bd5ad06e736a77085cc63ef2e48d56bafb32",
      "parents": [
        "5c17868eb58aa30f1455f7be8e37943ec08767ba"
      ],
      "author": {
        "name": "Byungchul Kim",
        "email": "byungchul@google.com",
        "time": "Tue Jul 14 18:43:28 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 18:46:15 2026"
      },
      "message": "Prepare only 1 step ahead of command buffer for single KV cache case\n\nLiteRT-LM-PiperOrigin-RevId: 947816644\n"
    },
    {
      "commit": "5c17868eb58aa30f1455f7be8e37943ec08767ba",
      "tree": "10c0b4394d3a35d8cd79eb84460b560688ba3852",
      "parents": [
        "e5f9ba732f3620cf2df5197fc70f0d03faae0a78"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Tue Jul 14 18:27:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 18:30:01 2026"
      },
      "message": "Optimize MTP rejection sampling verifier batch locking\n\nLiteRT-LM-PiperOrigin-RevId: 947806368\n"
    },
    {
      "commit": "e5f9ba732f3620cf2df5197fc70f0d03faae0a78",
      "tree": "c274975393ee561f3c0635f2ae4ab709881f89a1",
      "parents": [
        "69cb398886a9ef51d4df2fe25d195237fa49f9ac"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Tue Jul 14 18:18:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 18:22:07 2026"
      },
      "message": "feat(cli): add pack and unpack commands and litertlm_builder.pack API\n\nAdd `litert-lm pack` and `litert-lm unpack` subcommands to `litert_lm_cli` to support unpacking a `.litertlm` file, modifying configuration (`model.toml`), and repacking into a `.litertlm` file. Also add `litertlm_builder.pack(toml_path, output_path)` API inside `litert_lm_builder` and ensure pure-Python path existence checks (`os.path.exists`) run first inside `litertlm_core.path_exists` to avoid C++ core dumps during binary initialization.\n\nSample CUJ (Unpacking, Modifying, and Packing):\n```bash\n# 1. Unpack a local model file (defaults to a directory named after the model, e.g. my-model/)\n$ litert-lm unpack my-model.litertlm\n\n# 2. Modify the unpacked configuration or metadata inside my-model/\n$ sed -i \u0027s/start_token_id \u003d 1/start_token_id \u003d 2/\u0027 my-model/model.toml\n\n# 3. Pack the directory back into a LiteRT-LM file (automatically outputs my-model.litertlm)\n$ litert-lm pack my-model/\n\n# 4. Run the modified model\n$ litert-lm run modified-model.litertlm\n```\n\nLiteRT-LM-PiperOrigin-RevId: 947799725\n"
    },
    {
      "commit": "69cb398886a9ef51d4df2fe25d195237fa49f9ac",
      "tree": "997f7d6a1d3c0f4025122e9a8934e5e8f3073732",
      "parents": [
        "44d2a22fe597a0fdafd5989c0dd77a4167e58ea9"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Tue Jul 14 18:16:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 18:18:15 2026"
      },
      "message": "feat(cli): add --speculative-decoding option and deprecate --enable-speculative-decoding; update --thinking options\n\nThis allows users to enable/disable speculative decoding via `--speculative-decoding[\u003dtrue|false]` (or standalone flag `--speculative-decoding`) and `--thinking[\u003dtrue|false]` (or standalone flag `--thinking`).\nThe optional value pattern (https://click.palletsprojects.com/en/stable/options/#optional-value) is used so that when the flags are omitted, they default to None (auto/model default) without assuming True or False.\n\nLiteRT-LM-PiperOrigin-RevId: 947798852\n"
    },
    {
      "commit": "44d2a22fe597a0fdafd5989c0dd77a4167e58ea9",
      "tree": "644ce5bf8e3885d5c29d06af2d960b7582d13a17",
      "parents": [
        "da33e30069cb391b80b9b8631cdc07e3a4715f95"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Tue Jul 14 17:32:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 14 17:39:33 2026"
      },
      "message": "Update CI build to download model from GCS instead of Hugging Face.\n\nLiteRT-LM-PiperOrigin-RevId: 947770158\n"
    },
    {
      "commit": "da33e30069cb391b80b9b8631cdc07e3a4715f95",
      "tree": "51de4168200c9e5bf8af9ca480ee526079f876ee",
      "parents": [
        "db900bdc11fbe0e771045e66c588a71961b12b37"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Mon Jul 13 18:02:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 13 18:05:03 2026"
      },
      "message": "feat(cli): support configuration via config.json and validation via JSON Schema\n\nLiteRT-LM-PiperOrigin-RevId: 947134754\n"
    },
    {
      "commit": "db900bdc11fbe0e771045e66c588a71961b12b37",
      "tree": "ec28ead872c0ca477f2f09f2f9f94d1599f606d4",
      "parents": [
        "020a3c0138cb3be984560af6816f0e93edae64fd"
      ],
      "author": {
        "name": "Byungchul Kim",
        "email": "byungchul@google.com",
        "time": "Mon Jul 13 17:19:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 13 17:20:51 2026"
      },
      "message": "Reset current context and executor if only session is released\n\n- It setup the next session faster\n- Runs benchmark in a single-threaded executor\n- Increase the max number of tokens in e2e tests\n\nLiteRT-LM-PiperOrigin-RevId: 947110305\n"
    },
    {
      "commit": "020a3c0138cb3be984560af6816f0e93edae64fd",
      "tree": "9cde19956dd2d15fff49b101ea42707b14cd5120",
      "parents": [
        "83a91b505721eb38b4af545dcf72fd27fa1b4bab"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Mon Jul 13 16:34:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 13 16:36:24 2026"
      },
      "message": "Guard HuggingFaceTokenizer include with a build flag\n\nLiteRT-LM-PiperOrigin-RevId: 947086160\n"
    },
    {
      "commit": "83a91b505721eb38b4af545dcf72fd27fa1b4bab",
      "tree": "235d1008b308e63749b92c59dd875ee748a4a630",
      "parents": [
        "156e8d83a298a6918934e8fdfa7bd59fb4ecf3eb"
      ],
      "author": {
        "name": "Byungchul Kim",
        "email": "byungchul@google.com",
        "time": "Sat Jul 11 20:10:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jul 11 20:13:02 2026"
      },
      "message": "Update dependencies of litert_lm\n\nLiteRT-LM-PiperOrigin-RevId: 946289410\n"
    },
    {
      "commit": "156e8d83a298a6918934e8fdfa7bd59fb4ecf3eb",
      "tree": "be7c8ab9af09c7d6e6dceb1ac8ba85118618655a",
      "parents": [
        "840fe9ed63787df56433d359d97b63ba8af00ff9"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Fri Jul 10 22:27:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 22:29:43 2026"
      },
      "message": "feat(cli): use blue for all channel contents and print [/channel-name] at channel end\n\nLiteRT-LM-PiperOrigin-RevId: 945919468\n"
    },
    {
      "commit": "840fe9ed63787df56433d359d97b63ba8af00ff9",
      "tree": "fcdb9d538ceb4aa78d76842908da9b031c7cdeb5",
      "parents": [
        "056d1ba9c0d733cf90776c14c809b3eb1e4b73bf"
      ],
      "author": {
        "name": "Byungchul Kim",
        "email": "byungchul@google.com",
        "time": "Fri Jul 10 21:55:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 21:56:49 2026"
      },
      "message": "Correct wrong condition to enable sampler handling input\n\n- Sampler handles input when embedding is running on gpu\n- It was reversed by mistake\n\nLiteRT-LM-PiperOrigin-RevId: 945904344\n"
    },
    {
      "commit": "056d1ba9c0d733cf90776c14c809b3eb1e4b73bf",
      "tree": "97f13a9bc8703dd87062a4b029e4358c4adeb0e4",
      "parents": [
        "1d3024feb17b1edcee5ef29139810da88768c9eb"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Fri Jul 10 20:56:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 21:03:11 2026"
      },
      "message": "Internal changes only\n\nLiteRT-LM-PiperOrigin-RevId: 945878903\n"
    },
    {
      "commit": "1d3024feb17b1edcee5ef29139810da88768c9eb",
      "tree": "d9e6b4243555e5d97950a9017848c4f7aaac8252",
      "parents": [
        "ad53ed1d61ce1f4d93fb82aa41348108654396b0"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Fri Jul 10 16:56:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 16:58:45 2026"
      },
      "message": "Update checksums for LiteRT-LM v0.14.0 binary targets.\n\nLiteRT-LM-PiperOrigin-RevId: 945762165\n"
    },
    {
      "commit": "ad53ed1d61ce1f4d93fb82aa41348108654396b0",
      "tree": "0e1d6b9a94659fc77b58ad4ee2cb3a73ff80dca5",
      "parents": [
        "36af9518e038e3c70fde424a73a4a0981b557eb2"
      ],
      "author": {
        "name": "Andrew Zhang",
        "email": "yunandrew@google.com",
        "time": "Fri Jul 10 05:22:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 05:24:00 2026"
      },
      "message": "Allow configurable NPU KV cache initialization value via model metadata.\n\nLiteRT-LM-PiperOrigin-RevId: 945494741\n"
    },
    {
      "commit": "36af9518e038e3c70fde424a73a4a0981b557eb2",
      "tree": "22a1debf7949ec602f4845cdc4bdc77392338c34",
      "parents": [
        "5c1cd36768cbe0db12ae46475b5a95f1ff7a5b97"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Fri Jul 10 02:17:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 02:19:15 2026"
      },
      "message": "ci: add -c opt and unify bazel disk and repository cache paths in macOS CI workflow\n\nLiteRT-LM-PiperOrigin-RevId: 945434897\n"
    },
    {
      "commit": "5c1cd36768cbe0db12ae46475b5a95f1ff7a5b97",
      "tree": "23db10cb6c93b08c147522529e39a17416957288",
      "parents": [
        "60c408e4f17bbe792078949b6758d2678bde5ef8"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Fri Jul 10 00:04:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 10 00:06:03 2026"
      },
      "message": "[litertlm] Add RepetitionPenaltyConfig to LiteRT LM C and Python APIs.\n\nLiteRT-LM-PiperOrigin-RevId: 945389397\n"
    },
    {
      "commit": "60c408e4f17bbe792078949b6758d2678bde5ef8",
      "tree": "1bab9ddb8e5d22b204dfa1324c38ee347f499396",
      "parents": [
        "105dcba25c313e889f2a06bff66dd6fbf988e337"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 09 21:16:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 21:18:39 2026"
      },
      "message": "style(cli): format non-streaming OpenAI handler JSON responses with 2-space indentation and trailing newline\n\nLiteRT-LM-PiperOrigin-RevId: 945311722\n"
    },
    {
      "commit": "105dcba25c313e889f2a06bff66dd6fbf988e337",
      "tree": "3d011d2ee78565cd4b1c3c0fda5e764231528e32",
      "parents": [
        "b0ac2f95100ec14a9fdbb47e6c02e0815e2c83a9"
      ],
      "author": {
        "name": "Yi-Chun Kuo",
        "email": "yichunkuo@google.com",
        "time": "Thu Jul 09 20:42:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 20:43:39 2026"
      },
      "message": "Support varying audio chunk size for streaming audio encoder models\n\nAdd Flush to audio executor and properly buffer the spectrogram.\n\nReverts 8a4a12bb6123233788632f97c50f1a8b9a736ee2\n\nLiteRT-LM-PiperOrigin-RevId: 945293719\n"
    },
    {
      "commit": "b0ac2f95100ec14a9fdbb47e6c02e0815e2c83a9",
      "tree": "e2ba31b708d96bf454d33f62c13313772bf4444c",
      "parents": [
        "4c48743c15ac9d64d93fb2fb4d186ff4e0f2adf9"
      ],
      "author": {
        "name": "Fengwu Yao",
        "email": "fengwuyao@google.com",
        "time": "Thu Jul 09 18:42:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 18:43:52 2026"
      },
      "message": "Reverts df914b949e728bced8059506d45736024720a51c\n\nLiteRT-LM-PiperOrigin-RevId: 945233444\n"
    },
    {
      "commit": "4c48743c15ac9d64d93fb2fb4d186ff4e0f2adf9",
      "tree": "3f1d3873a48026e690ec585c07f1829fc366839f",
      "parents": [
        "8a4a12bb6123233788632f97c50f1a8b9a736ee2"
      ],
      "author": {
        "name": "Matthew Chan",
        "email": "matthewchan@google.com",
        "time": "Thu Jul 09 18:12:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 18:18:26 2026"
      },
      "message": "Create test_lm_multi_prefill.litertlm for testing multi-prefill.\n\nLiteRT-LM-PiperOrigin-RevId: 945217032\n"
    },
    {
      "commit": "8a4a12bb6123233788632f97c50f1a8b9a736ee2",
      "tree": "f21d77109f9f86eea5365a89a4e997806063ab29",
      "parents": [
        "862d3c014f27a2ae369f92affda8d0363e83bc2d"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Thu Jul 09 18:07:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 18:13:45 2026"
      },
      "message": "Support varying audio chunk size for streaming audio encoder models\n\nAdd Flush to audio executor and properly buffer the spectrogram.\n\nReverts c8bc3966fb4007647ade73ec03e14505fd946339\n\nLiteRT-LM-PiperOrigin-RevId: 945214564\n"
    },
    {
      "commit": "862d3c014f27a2ae369f92affda8d0363e83bc2d",
      "tree": "3dd03d8f7db72d98a76fcd15c066e2cd57859282",
      "parents": [
        "eeb4802716a7bd5455d4d3cba7a1c66e562e5690"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 09 18:04:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 18:07:01 2026"
      },
      "message": "feat(cli): add reasoning_tokens to usage in OpenAI chat completions endpoint\n\nLiteRT-LM-PiperOrigin-RevId: 945213008\n"
    },
    {
      "commit": "eeb4802716a7bd5455d4d3cba7a1c66e562e5690",
      "tree": "049cf0d25a286437366b095a4ab203a4d1874c2c",
      "parents": [
        "ba9a470b5365411e015d0b9109ba3e3733190c3b"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Thu Jul 09 06:44:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 06:47:18 2026"
      },
      "message": "Enable LFM on-device testing for Exynos NPU\n\nLiteRT-LM-PiperOrigin-RevId: 944926410\n"
    },
    {
      "commit": "ba9a470b5365411e015d0b9109ba3e3733190c3b",
      "tree": "01e3ce4b06a326ad1df3c5befc074b691387cafc",
      "parents": [
        "df914b949e728bced8059506d45736024720a51c"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 09 05:49:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 05:51:20 2026"
      },
      "message": "feat(swift): expose ThinkingConfig and thinking token budget in Swift API\n\nLiteRT-LM-PiperOrigin-RevId: 944907251\n"
    },
    {
      "commit": "df914b949e728bced8059506d45736024720a51c",
      "tree": "5c0051faaa226f98f8283b7642bf064d38db03bf",
      "parents": [
        "ca4dadc55a0c3c9d21edf9f9326a3a3bda4fe021"
      ],
      "author": {
        "name": "Fengwu Yao",
        "email": "fengwuyao@google.com",
        "time": "Thu Jul 09 05:40:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 05:43:12 2026"
      },
      "message": "Update dependencies of litert_lm\n\nLiteRT-LM-PiperOrigin-RevId: 944904168\n"
    },
    {
      "commit": "ca4dadc55a0c3c9d21edf9f9326a3a3bda4fe021",
      "tree": "2c7b78de821ab40a66f4525ec9b66e579eb6ac86",
      "parents": [
        "c8bc3966fb4007647ade73ec03e14505fd946339"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Thu Jul 09 05:24:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 05:25:31 2026"
      },
      "message": "Automated Code Change\n\nLiteRT-LM-PiperOrigin-RevId: 944898204\n"
    },
    {
      "commit": "c8bc3966fb4007647ade73ec03e14505fd946339",
      "tree": "bae06969c36c0da1944e48bf5986b62cad12e147",
      "parents": [
        "5dd1326d8a3a8f0144195c5a91d9db80be2c4423"
      ],
      "author": {
        "name": "Yi-Chun Kuo",
        "email": "yichunkuo@google.com",
        "time": "Thu Jul 09 04:25:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 04:26:26 2026"
      },
      "message": "Support varying audio chunk size for streaming audio encoder models\n\nAdd Flush to audio executor and properly buffer the spectrogram.\n\nLiteRT-LM-PiperOrigin-RevId: 944877276\n"
    },
    {
      "commit": "5dd1326d8a3a8f0144195c5a91d9db80be2c4423",
      "tree": "93965392349a641cb811e6cfb559f6973ae4bf88",
      "parents": [
        "910fb268e2376fd316b9761672425522fd432d61"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Thu Jul 09 03:18:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 03:20:15 2026"
      },
      "message": "Fix premature callback invocation and empty prefill hang in Conversation.\n\nLiteRT-LM-PiperOrigin-RevId: 944854632\n"
    },
    {
      "commit": "910fb268e2376fd316b9761672425522fd432d61",
      "tree": "e4844c967aee0db1c0a19f7afc8245e2c1055606",
      "parents": [
        "e62cbd27ae0ef967fc4bc93c2ac46aeadf5aca24"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Thu Jul 09 01:31:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 09 01:32:51 2026"
      },
      "message": "[litertlm] Support completion_usage object in OpenAI server handler\n\nLiteRT-LM-PiperOrigin-RevId: 944815829\n"
    },
    {
      "commit": "e62cbd27ae0ef967fc4bc93c2ac46aeadf5aca24",
      "tree": "4130acf3a36963404aeda929933927fdb3ec1d6d",
      "parents": [
        "4174318c59c68294cef74571447c5ae38f2abdca"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Wed Jul 08 23:29:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 23:31:11 2026"
      },
      "message": "feat(cli): support reasoning_effort parameter in OpenAI server handler\n\nParse reasoning_effort as a string in openai_handler.py, setting enable_thinking\u003dFalse when reasoning_effort is \u0027none\u0027 and enable_thinking\u003dTrue when reasoning_effort is minimal, low, medium, high, or xhigh.\n\nLiteRT-LM-PiperOrigin-RevId: 944766035\n"
    },
    {
      "commit": "4174318c59c68294cef74571447c5ae38f2abdca",
      "tree": "190342ec55137a06700035b4fce9be338c1e9f58",
      "parents": [
        "fa7268c90e37bf97b81e6df5cfec5c6777b814b1"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Wed Jul 08 22:43:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 22:44:51 2026"
      },
      "message": "Bump version to 0.15.0\n\nLiteRT-LM-PiperOrigin-RevId: 944741082\n"
    },
    {
      "commit": "fa7268c90e37bf97b81e6df5cfec5c6777b814b1",
      "tree": "3ec255c9004d16e296db25a2703a515d722e2510",
      "parents": [
        "c27a4a8db22aa8c657c226180d5f1907dde25a21"
      ],
      "author": {
        "name": "Matthew Chan",
        "email": "matthewchan@google.com",
        "time": "Wed Jul 08 22:34:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 22:36:02 2026"
      },
      "message": "Fix msan failure by initializing memory of audio buffer in cached_session_test.\n\nLiteRT-LM-PiperOrigin-RevId: 944736394\n"
    },
    {
      "commit": "c27a4a8db22aa8c657c226180d5f1907dde25a21",
      "tree": "55736acff73670b25726782f6f8a69d5a3a761b0",
      "parents": [
        "58939668e8e9af79f47866bfea51b24cf4eac9ad"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Wed Jul 08 20:39:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 20:42:05 2026"
      },
      "message": "Add LaTeX rendering to LiteRT-LM web chat app\n\nLiteRT-LM-PiperOrigin-RevId: 944674629\n"
    },
    {
      "commit": "58939668e8e9af79f47866bfea51b24cf4eac9ad",
      "tree": "20de437e3e605d6ff7f12df59125369de49f4f44",
      "parents": [
        "2e4796b8e697797bf279be1aa816a58b0f14ccf1"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Wed Jul 08 20:35:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 20:37:08 2026"
      },
      "message": "feat(kotlin): expose ThinkingConfig and thinking token budget in Kotlin API\n\nLiteRT-LM-PiperOrigin-RevId: 944672157\n"
    },
    {
      "commit": "2e4796b8e697797bf279be1aa816a58b0f14ccf1",
      "tree": "8196505c2cd61ceec4083ef018017fe11d49018f",
      "parents": [
        "d2b8a3810ac62a2909da21212789942a2a4aaa61"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Wed Jul 08 18:40:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 18:46:24 2026"
      },
      "message": "feat(cli): group thinking related options under the --thinking prefix\n\nRename --enable-thinking/--no-enable-thinking option to --thinking/--no-thinking to align with other --thinking options like --thinking-budget.\n\nLiteRT-LM-PiperOrigin-RevId: 944613659\n"
    },
    {
      "commit": "d2b8a3810ac62a2909da21212789942a2a4aaa61",
      "tree": "7630e47558e0a525d576c00dff99d285d1538520",
      "parents": [
        "dd411af1ae525e0794749e2bbfdce0b8e7a2e7bd"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Wed Jul 08 18:38:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 18:40:52 2026"
      },
      "message": "feat(kotlin): add maxOutputToken API to ConversationConfig and sendMessage\n\nExpose max_output_tokens parameter from C++ runtime to Kotlin ConversationConfig and Conversation.sendMessage / sendMessageAsync.\n\nLiteRT-LM-PiperOrigin-RevId: 944612856\n"
    },
    {
      "commit": "dd411af1ae525e0794749e2bbfdce0b8e7a2e7bd",
      "tree": "1456848bc19ffe079b4b81da90dbedd832dd9d9b",
      "parents": [
        "440c37a84629a18cc59e1dcd6deacb1f7470d9db"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Wed Jul 08 18:17:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 08 18:18:45 2026"
      },
      "message": "fix(python): provide distinct error messages for different NPU initialization failures\n\nLiteRT-LM-PiperOrigin-RevId: 944601237\n"
    }
  ],
  "next": "440c37a84629a18cc59e1dcd6deacb1f7470d9db"
}
