)]}'
{
  "log": [
    {
      "commit": "9dcd6b67b475431fc76bbe2e2765b27bd449ad81",
      "tree": "587121ae683f79607bdcaa2fcffef8eee51f76a9",
      "parents": [
        "54f1ae5d0a5c73e79c52c5a5796dada59666ec6a"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Tue Jul 21 07:11:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 07:12:32 2026"
      },
      "message": "Internal change\n\nLiteRT-LM-PiperOrigin-RevId: 951293523\n"
    },
    {
      "commit": "54f1ae5d0a5c73e79c52c5a5796dada59666ec6a",
      "tree": "8a1e68d79dd8643a5c6fc9cdf0c6493985619394",
      "parents": [
        "df2e91fc3a5cdfdb426fa210237b5dc24302f338"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Tue Jul 21 06:19:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 06:21:46 2026"
      },
      "message": "Use autosized ringbuffers in the LiteRT-LM js demo\n\nLiteRT-LM-PiperOrigin-RevId: 951270528\n"
    },
    {
      "commit": "df2e91fc3a5cdfdb426fa210237b5dc24302f338",
      "tree": "3053b7174a51d35dfedd7fe62e92a6ad4ed9d74c",
      "parents": [
        "caaf3b1f0c0e0eeacba7986990e9ed05638662c1"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Tue Jul 21 06:09:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 06:11:33 2026"
      },
      "message": "Add image and audio benchmark tests.\n\nLiteRT-LM-PiperOrigin-RevId: 951266500\n"
    },
    {
      "commit": "caaf3b1f0c0e0eeacba7986990e9ed05638662c1",
      "tree": "69fd40b97aa8ce7c1d67de56432437affc4bc568",
      "parents": [
        "cc46545d91cffc08640fa5abc92c398d9d2a43c5"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Tue Jul 21 04:30:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 04:33:03 2026"
      },
      "message": "Finalize LiteRT-LM PyPI Nightly Release Pipeline and Android Wheels\n\nLiteRT-LM-PiperOrigin-RevId: 951228130\n"
    },
    {
      "commit": "cc46545d91cffc08640fa5abc92c398d9d2a43c5",
      "tree": "a74afb6e3924d75611ec4ab93bf9e27c63d9d7d9",
      "parents": [
        "c765ade83170d9ea10d19a73f8f5998e94a85cfd"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Tue Jul 21 02:28:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 02:32:10 2026"
      },
      "message": "Run pytest for dynamic linking build on Windows\n\nLiteRT-LM-PiperOrigin-RevId: 951188051\n"
    },
    {
      "commit": "c765ade83170d9ea10d19a73f8f5998e94a85cfd",
      "tree": "065a6becd1eca3cce95ffb87bd68736fa7286432",
      "parents": [
        "ae89a5981c739f654246cc15a1b4124882dc4668"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Tue Jul 21 01:50:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 21 01:52:20 2026"
      },
      "message": "Merged the external PR from (https://github.com/john-rocky/swift-litert-lm/tree/main/pr/LiteRTLMFoundationModels) about creating an adapter to allow Apple\u0027s foundation framework to use LiteRT-LM runtime.\n\nThe current change focuses only on the text modality and multi-modality support will come in a follow up CL.\n\nLiteRT-LM-PiperOrigin-RevId: 951174356\n"
    },
    {
      "commit": "ae89a5981c739f654246cc15a1b4124882dc4668",
      "tree": "55a635f4ab5acac7fc7f4514c79f9978b0b2c438",
      "parents": [
        "f92cf36af92f7b965a4916c5651cc268b8ada9ce"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Mon Jul 20 23:12:36 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 23:15:02 2026"
      },
      "message": "Internal Change Only\n\nLiteRT-LM-PiperOrigin-RevId: 951109264\n"
    },
    {
      "commit": "f92cf36af92f7b965a4916c5651cc268b8ada9ce",
      "tree": "868e607ba155c424a9a8f59a09ea198647be8c08",
      "parents": [
        "54d80aecbee8ddda79c186b260167866c8bd7cdd"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon Jul 20 22:35:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 22:36:54 2026"
      },
      "message": "Update dependencies of litert_lm\n\nLiteRT-LM-PiperOrigin-RevId: 951090372\n"
    },
    {
      "commit": "54d80aecbee8ddda79c186b260167866c8bd7cdd",
      "tree": "20f2e23d365a8e47918ef1c6a3533cb2f6136f23",
      "parents": [
        "d051de38492e19d1438daf1251053ab079f995e1"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Mon Jul 20 21:34:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 21:36:45 2026"
      },
      "message": "refactor(cli): drop jsonschema dependency in CLI config\n\nDrop jsonschema dependency in litert_lm_cli and replace it with a\nlightweight pure-Python schema validator to improve compatibility on Python 3.10\nand Android environments.\n\nLiteRT-LM-PiperOrigin-RevId: 951058187\n"
    },
    {
      "commit": "d051de38492e19d1438daf1251053ab079f995e1",
      "tree": "e14e22b568ca9b33ef2bf92c3e96cbe8cb19001c",
      "parents": [
        "032ced4463e12208535eea2025d61d4292076a64"
      ],
      "author": {
        "name": "Yi-Chun Kuo",
        "email": "yichunkuo@google.com",
        "time": "Mon Jul 20 18:26:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 18:27:57 2026"
      },
      "message": "Add option to error on invalid sampled token IDs in LiteRT-LM.\n\nLiteRT-LM-PiperOrigin-RevId: 950954681\n"
    },
    {
      "commit": "032ced4463e12208535eea2025d61d4292076a64",
      "tree": "9e1a44020a5691428fea530e55cc54a21fb45e13",
      "parents": [
        "81891ef834131c8346067cffada3ebc5616281c9"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Mon Jul 20 17:42:28 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 17:44:01 2026"
      },
      "message": "Decouple ModelLoaderService from SettingsStore and defer model reload when settings change.\n\nLiteRT-LM-PiperOrigin-RevId: 950927611\n"
    },
    {
      "commit": "81891ef834131c8346067cffada3ebc5616281c9",
      "tree": "15b0e1b0248ec4abae431f34abc9e05318ad2c3f",
      "parents": [
        "aa4121885ceee3a4eac2b34a8d675175cc3e1338"
      ],
      "author": {
        "name": "Bangcheng Wang",
        "email": "bcwang@google.com",
        "time": "Mon Jul 20 17:29:34 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 17:32:51 2026"
      },
      "message": "Internal changes only\n\nLiteRT-LM-PiperOrigin-RevId: 950919669\n"
    },
    {
      "commit": "aa4121885ceee3a4eac2b34a8d675175cc3e1338",
      "tree": "8e860f5fe696b370ef22333673c187646f0657ad",
      "parents": [
        "f24ec8b24fda531b073e75c05262e157959774fe"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Mon Jul 20 17:26:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 17:28:32 2026"
      },
      "message": "Fix hang in litert_lm by surfacing cancelled internal task states to callbacks\n\nLiteRT-LM-PiperOrigin-RevId: 950917407\n"
    },
    {
      "commit": "f24ec8b24fda531b073e75c05262e157959774fe",
      "tree": "74de7acb99d23c73fe4caa15e032b3760ffd0999",
      "parents": [
        "677731068d504f23b365e87441995ad9d70c9138"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Mon Jul 20 16:49:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 16:51:17 2026"
      },
      "message": "feat(cli): support setting backend and max_num_tokens in model parameter for OpenAI handler\n\nRequests can now specify model strings in the format \"\u003cmodel-id\u003e[,\u003cbackend\u003e[,\u003cmax-token\u003e]]\" (e.g., \"gemma3-1b,gpu,32768\").\n\nLiteRT-LM-PiperOrigin-RevId: 950895690\n"
    },
    {
      "commit": "677731068d504f23b365e87441995ad9d70c9138",
      "tree": "9f317900733b4eb10c0caaa3a2f301b8227b5b25",
      "parents": [
        "d98e1872dd348aad67c881ce1eaa8a5594538c49"
      ],
      "author": {
        "name": "Wai Hon Law",
        "email": "whhone@google.com",
        "time": "Mon Jul 20 16:07:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 16:09:49 2026"
      },
      "message": "feat(swift): add ResponseFormat API for constrained decoding in Swift\n\nSupports regex and JSON schema constrained decoding in Swift SDK.\n\nLiteRT-LM-PiperOrigin-RevId: 950873763\n"
    },
    {
      "commit": "d98e1872dd348aad67c881ce1eaa8a5594538c49",
      "tree": "b4d5692b8febe47248c66703d72681c25d54c74a",
      "parents": [
        "088f2af03082b6b9c9210c434ab3be7bea744ef0"
      ],
      "author": {
        "name": "Google AI Edge",
        "email": "ai-edge-bot@google.com",
        "time": "Mon Jul 20 05:14:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 20 05:18:21 2026"
      },
      "message": "Generalize warmup inference log messages in NPU executor.\n\nLiteRT-LM-PiperOrigin-RevId: 950599316\n"
    },
    {
      "commit": "088f2af03082b6b9c9210c434ab3be7bea744ef0",
      "tree": "e4759947b75c28878e9567de3c06c4ccac2f2183",
      "parents": [
        "a24de83834ad5419ab2f493dc0f4c15b4b67d0ec",
        "eb0bbccc335f6b22b85f4f126fcff9ce73cecc04"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Sun Jul 19 19:57:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 19 19:57:15 2026"
      },
      "message": "Merge pull request #2688 from Jiseong-oh/support_vision_encoder\n\nSupport Data processor for vision encoder"
    },
    {
      "commit": "eb0bbccc335f6b22b85f4f126fcff9ce73cecc04",
      "tree": "e4759947b75c28878e9567de3c06c4ccac2f2183",
      "parents": [
        "7b33da8d5f7fc6fba53e9b080635109809dcaac5",
        "a24de83834ad5419ab2f493dc0f4c15b4b67d0ec"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Sun Jul 19 17:02:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 19 17:02:55 2026"
      },
      "message": "Merge branch \u0027main\u0027 into support_vision_encoder"
    },
    {
      "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": "7b33da8d5f7fc6fba53e9b080635109809dcaac5",
      "tree": "05ad38bad4250bdc6b6184d6290e2a2626c29d3f",
      "parents": [
        "49cfd69582a665ae7c079cefaaac3cfdd7f7f1df"
      ],
      "author": {
        "name": "jiseong oh",
        "email": "jiseong.oh@samsung.com",
        "time": "Sat Jul 18 02:57:32 2026"
      },
      "committer": {
        "name": "jiseong oh",
        "email": "jiseong.oh@samsung.com",
        "time": "Sat Jul 18 03:00:54 2026"
      },
      "message": "define prefill_size and use PrefillSig in update signature\n\nSigned-off-by: jiseong oh \u003cjiseong.oh@samsung.com\u003e\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": "49cfd69582a665ae7c079cefaaac3cfdd7f7f1df",
      "tree": "cb2fe5473a1f6016eeec94add86bde212eeb566f",
      "parents": [
        "b7b606603fb8070592770111fe7934b0a001d949"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Sat Jul 18 00:45:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 00:45:16 2026"
      },
      "message": "Fix logging and update signature retrieval in executor"
    },
    {
      "commit": "b7b606603fb8070592770111fe7934b0a001d949",
      "tree": "6af255328066eb135f55f4d38372e18b2555b1bc",
      "parents": [
        "e060740987c03103a3dacfdf8cfeb53690ebbaeb"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Sat Jul 18 00:30:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 00:30:38 2026"
      },
      "message": "Clean up formatting by removing extra blank lines\n\nRemoved unnecessary blank lines in llm_litert_npu_compiled_model_executor.cc"
    },
    {
      "commit": "e060740987c03103a3dacfdf8cfeb53690ebbaeb",
      "tree": "d67673c7c790f5f1ab74df63fc792ca27b95b603",
      "parents": [
        "b763ffca7e7fc8c9abe68a0d7b498ada82629e02",
        "29b63699b15a594f8737bf7c6d29fe49644eddea"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Sat Jul 18 00:27:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 00:27:09 2026"
      },
      "message": "Merge branch \u0027main\u0027 into support_vision_encoder"
    },
    {
      "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": "b763ffca7e7fc8c9abe68a0d7b498ada82629e02",
      "tree": "b467242a95cbb7d9b0cca9620a311b15867c36e8",
      "parents": [
        "b456d5f55246cfeeec46fabc3e8623cfb6c5c97d",
        "126cc31b71ca906923347887cce34778972f8489"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Fri Jul 17 23:19:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 23:19:40 2026"
      },
      "message": "Merge branch \u0027main\u0027 into support_vision_encoder"
    },
    {
      "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": "b456d5f55246cfeeec46fabc3e8623cfb6c5c97d",
      "tree": "b8206b849441e456b4f0c6c1988a9a2cba850bc2",
      "parents": [
        "3a42a29aa413d532a57dbb8fd98f555274b1cfda",
        "0e3ee2be0f4a01c7b685744f711289a684e86ab2"
      ],
      "author": {
        "name": "Salil Tambe",
        "email": "saliltambe@google.com",
        "time": "Fri Jul 17 20:17:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 20:17:23 2026"
      },
      "message": "Merge branch \u0027main\u0027 into support_vision_encoder"
    },
    {
      "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": "3a42a29aa413d532a57dbb8fd98f555274b1cfda",
      "tree": "b4c0ae408cc0bef971a8517f9a9079872d8904cc",
      "parents": [
        "7a2eb5ae1fd3f8faceffc57b17599a4840a8154b",
        "ce0fbc35c4594172eacd4721908c42791a5830c1"
      ],
      "author": {
        "name": "Jiseong-oh",
        "email": "jiseong.oh@samsung.com",
        "time": "Fri Jul 17 03:25:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 17 03:25:11 2026"
      },
      "message": "Merge branch \u0027main\u0027 into support_vision_encoder"
    },
    {
      "commit": "7a2eb5ae1fd3f8faceffc57b17599a4840a8154b",
      "tree": "1a65a515032518d3de05421964c66aad879a3856",
      "parents": [
        "ed7b6f6607a6c40e8ba4df50f6eab8bc66244e09"
      ],
      "author": {
        "name": "jiseong oh",
        "email": "jiseong.oh@samsung.com",
        "time": "Fri Jul 17 03:21:37 2026"
      },
      "committer": {
        "name": "jiseong oh",
        "email": "jiseong.oh@samsung.com",
        "time": "Fri Jul 17 03:21:37 2026"
      },
      "message": "Fix vision encoder crash by gating buffer pre-creation on signature count\n\n- Single-input encoders now always set patch_num_shrink_factor,\n  so the old guard skipped pre-creating signature-0 buffers and\n  the single-buffer Encode() path accessed an empty vector.\n  Use GetNumSignatures() \u003d\u003d 1 to decide instead, matching actual runtime usage.\n\nSigned-off-by: jiseong oh \u003cjiseong.oh@samsung.com\u003e\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": "ed7b6f6607a6c40e8ba4df50f6eab8bc66244e09",
      "tree": "75b4cb5d872e4d8639705cdf9a3f4b86a02def53",
      "parents": [
        "156e8d83a298a6918934e8fdfa7bd59fb4ecf3eb"
      ],
      "author": {
        "name": "jiseong oh",
        "email": "jiseong.oh@samsung.com",
        "time": "Fri Jun 26 11:17:07 2026"
      },
      "committer": {
        "name": "jiseong oh",
        "email": "jiseong.oh@samsung.com",
        "time": "Sat Jul 11 05:47:24 2026"
      },
      "message": "Support Data processor for vision encoder\n\n- Support LFM2.5 VL model with vision encoder and detect NPU prefill size at runtime\n\nCo-authored-by: chong-chen \u003cchong.chen@samsung.com\u003e\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"
    }
  ],
  "next": "840fe9ed63787df56433d359d97b63ba8af00ff9"
}
