)]}'
{
  "log": [
    {
      "commit": "0cfec603061a73376109c4a6178e38f86b544dd6",
      "tree": "96243af21573691323006777b29f282bcd2642ca",
      "parents": [
        "3be2bdb1225436ac32057f7a257c4b5b802eb037",
        "603b1ba7048e1d014f540ffd21ab606ea68ce5fa"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 04:36:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 04:36:04 2026"
      },
      "message": "Merge pull request #1427 from mattn/sqlite-amalgamation-3053003\n\nUpgrade SQLite to version 3053003"
    },
    {
      "commit": "603b1ba7048e1d014f540ffd21ab606ea68ce5fa",
      "tree": "96243af21573691323006777b29f282bcd2642ca",
      "parents": [
        "3be2bdb1225436ac32057f7a257c4b5b802eb037"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 04:07:42 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 04:24:03 2026"
      },
      "message": "Upgrade SQLite to version 3053003\n"
    },
    {
      "commit": "3be2bdb1225436ac32057f7a257c4b5b802eb037",
      "tree": "fce4061144a1fa6a1efd4b687b8af361d37b0bf4",
      "parents": [
        "7a3f560cd54443f7b7862d48802291e83bbe8809",
        "8b648a05384e936e47fd7716c7fa123a3704937f"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 04:17:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 04:17:09 2026"
      },
      "message": "Merge pull request #1426 from mattn/fix-load-extension-errmsg-leak\n\nFix leak of extension load error message"
    },
    {
      "commit": "7a3f560cd54443f7b7862d48802291e83bbe8809",
      "tree": "1bff5f099db85d342647a1d3a1738ee0921f61d3",
      "parents": [
        "a5fd1f63a0dcccbff80d2ecec93e3793b8ad24ff",
        "16b935f7ccba6d3c15fe16e32d9fae79fb0033ba"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 04:06:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 04:06:50 2026"
      },
      "message": "Merge pull request #1425 from mattn/fix-trampoline-abi\n\nUse C.int in exported callbacks to match C declarations"
    },
    {
      "commit": "a5fd1f63a0dcccbff80d2ecec93e3793b8ad24ff",
      "tree": "580a5acfb3b99ba08696ca1b5afb1265587a11b7",
      "parents": [
        "66371d29b6dbffe53cbec30f79c71d25d0807374",
        "82d5507d2c59bd9a6cd2e062ae5ac5adf87c03bf"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 03:55:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 03:55:44 2026"
      },
      "message": "Merge pull request #1424 from mattn/fix-preupdate-null-deref\n\nCheck preupdate value fetch result to avoid NULL dereference"
    },
    {
      "commit": "66371d29b6dbffe53cbec30f79c71d25d0807374",
      "tree": "1c8ff374d10da0146913aadc233a0bae8bfece7c",
      "parents": [
        "b55096d3d3cdf6807fe0b0def7e40de0be930ae4",
        "0c0b48c40e424b851a71f6b69c1182b27d1d023d"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 03:12:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 03:12:43 2026"
      },
      "message": "Merge pull request #1423 from mattn/fix-open-error-leak\n\nClose database on all error paths in Open"
    },
    {
      "commit": "b55096d3d3cdf6807fe0b0def7e40de0be930ae4",
      "tree": "3f10111e3c7e9fc66ae9549b48fb420a0336eec7",
      "parents": [
        "fa5cf80a4049d349f86d3f8667423544238febf8",
        "d613bbb4bccef4bc168d145aa444bfff71fba212"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 03:05:10 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 03:05:10 2026"
      },
      "message": "Merge pull request #1418 from mattn/add-coderabbit-config\n\nAdd CodeRabbit configuration"
    },
    {
      "commit": "fa5cf80a4049d349f86d3f8667423544238febf8",
      "tree": "47cb9589ec5740e449a530218929918c04fde363",
      "parents": [
        "ca77cf459f4fbd724b70abde4479d621e0854951",
        "08a4ce47df0089f8dc0e9f4ac6c5410336223f55"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 03:01:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 03:01:23 2026"
      },
      "message": "Merge pull request #1422 from mattn/fix-bind-unsupported-type\n\nReturn error instead of silently ignoring unsupported bind types"
    },
    {
      "commit": "08a4ce47df0089f8dc0e9f4ac6c5410336223f55",
      "tree": "6c7df00b94d13790bad46eb576850c446b33f511",
      "parents": [
        "c703179f638001311a353191b78579de2f528c14"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 02:51:04 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 02:51:04 2026"
      },
      "message": "Add regression tests for bind error paths\n"
    },
    {
      "commit": "ca77cf459f4fbd724b70abde4479d621e0854951",
      "tree": "aa0baab81abe2753a15d8b680fbe09f866718d75",
      "parents": [
        "526f03ee48788d1944a1950495095a1d8e6f4844",
        "f9029e4b8b71bc9bcde8e52323490e7711ac07aa"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 02:37:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 02:37:48 2026"
      },
      "message": "Merge pull request #1421 from mattn/fix-callback-named-types\n\nFix panic when registered functions return named types"
    },
    {
      "commit": "f9029e4b8b71bc9bcde8e52323490e7711ac07aa",
      "tree": "ed731c75d865a4c757c879c250ad4428bf6ed11a",
      "parents": [
        "2485463b62281164e10d9bfd30cd5f76cd06562c"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 02:27:50 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 02:27:50 2026"
      },
      "message": "Convert named argument types and add regression tests\n"
    },
    {
      "commit": "526f03ee48788d1944a1950495095a1d8e6f4844",
      "tree": "069e7d7e5746051dd6621171241a4bdb9759aac6",
      "parents": [
        "b7c167ec35cea21ef6dd8b9d358fbf4f286aeea6",
        "7d6ccee48ec62186ef396adbe37ceb59bd89083e"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 02:21:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 02:21:21 2026"
      },
      "message": "Merge pull request #1420 from mattn/fix-deserialize-nil-check\n\nCheck sqlite3_malloc64 result in Deserialize"
    },
    {
      "commit": "b7c167ec35cea21ef6dd8b9d358fbf4f286aeea6",
      "tree": "998d32f66f10d4e4fa9ebb0bb084797a6841fd92",
      "parents": [
        "78710fc08921194e534cc3990f11ff9e9e914799",
        "5ce75d7cbd224277ce67eee0de8598124d758398"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 02:10:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 02:10:51 2026"
      },
      "message": "Merge pull request #1419 from mattn/fix-vtab-open-error\n\nReturn error from vtable cursor open instead of ignoring it"
    },
    {
      "commit": "8b648a05384e936e47fd7716c7fa123a3704937f",
      "tree": "8ecebf2e340934721e65445d755aae1892d40d99",
      "parents": [
        "78710fc08921194e534cc3990f11ff9e9e914799"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:55:25 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:55:25 2026"
      },
      "message": "Fix leak of extension load error message\n"
    },
    {
      "commit": "16b935f7ccba6d3c15fe16e32d9fae79fb0033ba",
      "tree": "a33979a2f0ea43d7dce3b799556f0aff0de65dce",
      "parents": [
        "78710fc08921194e534cc3990f11ff9e9e914799"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:52:07 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:52:07 2026"
      },
      "message": "Use C.int in exported callbacks to match C declarations\n"
    },
    {
      "commit": "82d5507d2c59bd9a6cd2e062ae5ac5adf87c03bf",
      "tree": "86b61d5ba1b1c93e5f7e1010c0518e0a30d3d46e",
      "parents": [
        "78710fc08921194e534cc3990f11ff9e9e914799"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:48:33 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:48:33 2026"
      },
      "message": "Check preupdate value fetch result to avoid NULL dereference\n"
    },
    {
      "commit": "0c0b48c40e424b851a71f6b69c1182b27d1d023d",
      "tree": "e87c8a67657e35260e2c30757ab6f296c8408341",
      "parents": [
        "78710fc08921194e534cc3990f11ff9e9e914799"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:46:43 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:46:43 2026"
      },
      "message": "Close database on all error paths in Open\n"
    },
    {
      "commit": "c703179f638001311a353191b78579de2f528c14",
      "tree": "ac105b8b160c913645db569465fdd98c12878197",
      "parents": [
        "78710fc08921194e534cc3990f11ff9e9e914799"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:37:55 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:37:55 2026"
      },
      "message": "Return error instead of silently ignoring unsupported bind types\n"
    },
    {
      "commit": "2485463b62281164e10d9bfd30cd5f76cd06562c",
      "tree": "8d11d1b0ba299be006653f8fc9f2dbb8731d33fb",
      "parents": [
        "78710fc08921194e534cc3990f11ff9e9e914799"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:25:47 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:25:47 2026"
      },
      "message": "Fix panic when registered functions return named types\n"
    },
    {
      "commit": "7d6ccee48ec62186ef396adbe37ceb59bd89083e",
      "tree": "4c2369b4083e32df7021f5d75fd674a334de85d4",
      "parents": [
        "78710fc08921194e534cc3990f11ff9e9e914799"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:17:21 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:17:21 2026"
      },
      "message": "Check sqlite3_malloc64 result in Deserialize\n"
    },
    {
      "commit": "5ce75d7cbd224277ce67eee0de8598124d758398",
      "tree": "998d32f66f10d4e4fa9ebb0bb084797a6841fd92",
      "parents": [
        "78710fc08921194e534cc3990f11ff9e9e914799"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:15:49 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 13 01:15:49 2026"
      },
      "message": "Return error from vtable cursor open instead of ignoring it\n"
    },
    {
      "commit": "78710fc08921194e534cc3990f11ff9e9e914799",
      "tree": "28a5f9033356bdd15a9bfa0373fd3367efb12f3b",
      "parents": [
        "83baa779b961ca561090a820a6c910e998fa918b",
        "9d436de27929117d7169c469990fbf059b0479f1"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 08 13:38:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 08 13:38:47 2026"
      },
      "message": "Merge pull request #1417 from mattn/add-coderabbit-sponsor\n\nAdd CodeRabbit as a sponsor"
    },
    {
      "commit": "d613bbb4bccef4bc168d145aa444bfff71fba212",
      "tree": "40785e2eecd3217fe635932aa662e15726575f29",
      "parents": [
        "83baa779b961ca561090a820a6c910e998fa918b"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 08 13:35:18 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 08 13:35:18 2026"
      },
      "message": "Add CodeRabbit configuration\n"
    },
    {
      "commit": "9d436de27929117d7169c469990fbf059b0479f1",
      "tree": "28a5f9033356bdd15a9bfa0373fd3367efb12f3b",
      "parents": [
        "83baa779b961ca561090a820a6c910e998fa918b"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 08 13:28:34 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 08 13:28:34 2026"
      },
      "message": "Add CodeRabbit as a sponsor\n"
    },
    {
      "commit": "83baa779b961ca561090a820a6c910e998fa918b",
      "tree": "c8d85f2e179964f6198fb598e0a413eb861ccb65",
      "parents": [
        "a40eeff51e5eaee70c7bdc648e04fd533e946aff",
        "34c9c34da42a8f5c96c554355bea69b8c36e1131"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 06 16:42:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 16:42:34 2026"
      },
      "message": "Merge pull request #1416 from mattn/fix-stmt-close-race\n\nFix race in SQLiteStmt.Close by holding conn lock across cache check"
    },
    {
      "commit": "34c9c34da42a8f5c96c554355bea69b8c36e1131",
      "tree": "c8d85f2e179964f6198fb598e0a413eb861ccb65",
      "parents": [
        "a40eeff51e5eaee70c7bdc648e04fd533e946aff"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 06 15:31:45 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Jul 06 15:31:45 2026"
      },
      "message": "Fix race in SQLiteStmt.Close by holding conn lock across cache check\n"
    },
    {
      "commit": "a40eeff51e5eaee70c7bdc648e04fd533e946aff",
      "tree": "257c1d13148d6c176514161ce9fe9ed177814691",
      "parents": [
        "693de1267690b83d1efe52e27dd30f8945dc52ac"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Sun Jun 21 15:27:39 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Sun Jun 21 15:27:39 2026"
      },
      "message": "Add upgrade/check.sh to check if SQLite upgrade is available\n"
    },
    {
      "commit": "693de1267690b83d1efe52e27dd30f8945dc52ac",
      "tree": "c948690507666cd5d0c37ce7a37a86be43d036b6",
      "parents": [
        "837b4f2860f1b8508e5c115b9608d3b854f1f9be",
        "a3cd5cd6fd2104b9b61d2b95f0a8653d63a1c24c"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Sun Jun 21 15:11:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 21 15:11:48 2026"
      },
      "message": "Merge pull request #1408 from dxbjavid/getfilename-cstring-leak\n\nfree leaked schema string in GetFilename"
    },
    {
      "commit": "837b4f2860f1b8508e5c115b9608d3b854f1f9be",
      "tree": "5e3d5cfc0df8f5a9c23c9ff8cfa85883284c8e41",
      "parents": [
        "eb06f26148e99a1890e46756a2cff13db2e40806",
        "e99486c6b58d5d609726a60b9759204573e0b45e"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Thu Jun 18 05:23:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 05:23:30 2026"
      },
      "message": "Merge pull request #1413 from mattn/cache-stmt-column-metadata\n\ncache column metadata for prepared and cached statements"
    },
    {
      "commit": "e99486c6b58d5d609726a60b9759204573e0b45e",
      "tree": "5e3d5cfc0df8f5a9c23c9ff8cfa85883284c8e41",
      "parents": [
        "eb06f26148e99a1890e46756a2cff13db2e40806"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Thu Jun 18 05:15:01 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Thu Jun 18 05:15:01 2026"
      },
      "message": "cache column metadata for prepared and cached statements\n\nColumn names and declared types are invariant for the lifetime of a\nprepared statement, but Columns()/declTypes() called C.sqlite3_column_name\nand sqlite3_column_decltype on every query, once per column. On hot\nQueryRow paths reusing an explicit Prepare or a _stmt_cache_size statement,\nthis is a fixed set of cgo crossings paid on every execution.\n\nCache the names and decltypes on the SQLiteStmt the first time they are\nmaterialized and reuse them on subsequent executions. Caching is gated by\ncacheMetadata(): explicit prepared statements always cache, Query-created\nephemeral statements cache only when they live in the connection stmt\ncache. One-shot statements keep the previous per-call behavior.\n"
    },
    {
      "commit": "eb06f26148e99a1890e46756a2cff13db2e40806",
      "tree": "e15f7879e2cd12f022e5618ea89eb473ef5a6585",
      "parents": [
        "379319c0d851cd45f9671590d56d3125d87a7e99",
        "423f9605f33804999963ece923d2398333a0dc7f"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Thu Jun 18 04:41:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 04:41:29 2026"
      },
      "message": "Merge pull request #1412 from mattn/codex-5sxu1n\n\nUse atomic.Value for handle table and add concurrent lookup benchmark"
    },
    {
      "commit": "423f9605f33804999963ece923d2398333a0dc7f",
      "tree": "e15f7879e2cd12f022e5618ea89eb473ef5a6585",
      "parents": [
        "379319c0d851cd45f9671590d56d3125d87a7e99"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Thu Jun 18 04:28:39 2026"
      },
      "committer": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Thu Jun 18 04:28:39 2026"
      },
      "message": "Make callback handle lookups lock-free"
    },
    {
      "commit": "a3cd5cd6fd2104b9b61d2b95f0a8653d63a1c24c",
      "tree": "4a571f035bdf169e3797b63ec219e4393dbf5b95",
      "parents": [
        "379319c0d851cd45f9671590d56d3125d87a7e99"
      ],
      "author": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Thu Jun 11 09:52:46 2026"
      },
      "committer": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Thu Jun 11 09:52:46 2026"
      },
      "message": "free leaked schema string in GetFilename\n"
    },
    {
      "commit": "379319c0d851cd45f9671590d56d3125d87a7e99",
      "tree": "0ef246eadca03f27e5bd33f382d42ddcea6d7e98",
      "parents": [
        "518ffdba0a56062ab17108900d19fe71feefb581",
        "c3e96cd5bb00c5559cba98079fdf6cec861763ca"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jun 09 17:33:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 17:33:29 2026"
      },
      "message": "Merge pull request #1407 from mattn/blob-arg-call-order\n\nFollow documented call order for sqlite3_value_blob in callbackArgString"
    },
    {
      "commit": "c3e96cd5bb00c5559cba98079fdf6cec861763ca",
      "tree": "0ef246eadca03f27e5bd33f382d42ddcea6d7e98",
      "parents": [
        "518ffdba0a56062ab17108900d19fe71feefb581"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jun 09 17:17:43 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jun 09 17:17:43 2026"
      },
      "message": "call sqlite3_value_blob before sqlite3_value_bytes in callbackArgString\n"
    },
    {
      "commit": "518ffdba0a56062ab17108900d19fe71feefb581",
      "tree": "3bcfdae510d2236b4c2c796dcd7b59d9e074376f",
      "parents": [
        "c63653b7ff65aea2eff0673e46f24c12e3cb6b55",
        "b1e8d68f31c23fd5a7a1f08457bb81818db0d943"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jun 09 17:14:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 17:14:21 2026"
      },
      "message": "Merge pull request #1406 from dxbjavid/function-text-embedded-nul\n\npreserve embedded NUL bytes in custom function text values"
    },
    {
      "commit": "b1e8d68f31c23fd5a7a1f08457bb81818db0d943",
      "tree": "3bcfdae510d2236b4c2c796dcd7b59d9e074376f",
      "parents": [
        "6b68c2030194c6a0b88670eae139c25101729ce9"
      ],
      "author": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Tue Jun 09 16:21:53 2026"
      },
      "committer": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Tue Jun 09 16:21:53 2026"
      },
      "message": "read text value before its byte length to match documented order\n"
    },
    {
      "commit": "6b68c2030194c6a0b88670eae139c25101729ce9",
      "tree": "b44f3e50bb07095071c0dffee3ead72a4806a3cc",
      "parents": [
        "c63653b7ff65aea2eff0673e46f24c12e3cb6b55"
      ],
      "author": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Tue Jun 09 10:59:57 2026"
      },
      "committer": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Tue Jun 09 10:59:57 2026"
      },
      "message": "preserve embedded NUL bytes in custom function text values\n"
    },
    {
      "commit": "c63653b7ff65aea2eff0673e46f24c12e3cb6b55",
      "tree": "518903abcfa22427ba7c698010605266b6354abc",
      "parents": [
        "78b95b77773b1d0014ff4611128d03af9fdfa412",
        "5f1e21dd1eb6de2e48ec8e1c048552ce2b27a623"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Sat Jun 06 02:04:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 06 02:04:01 2026"
      },
      "message": "Merge pull request #1405 from dxbjavid/oversize-blob-result-guard\n\nguard oversized blob length in callbackRetBlob"
    },
    {
      "commit": "5f1e21dd1eb6de2e48ec8e1c048552ce2b27a623",
      "tree": "518903abcfa22427ba7c698010605266b6354abc",
      "parents": [
        "78b95b77773b1d0014ff4611128d03af9fdfa412"
      ],
      "author": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Fri Jun 05 15:14:39 2026"
      },
      "committer": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Fri Jun 05 15:14:39 2026"
      },
      "message": "guard oversized blob length in callbackRetBlob\n"
    },
    {
      "commit": "78b95b77773b1d0014ff4611128d03af9fdfa412",
      "tree": "6a5c98738c74bf1d35752acd7ebb8cfa5d8d5e17",
      "parents": [
        "7ca6a979f950c66d900ddc982758d6ad1618613e"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Jun 05 12:15:35 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Jun 05 12:15:35 2026"
      },
      "message": "Clean up accidental v2 references\n"
    },
    {
      "commit": "7ca6a979f950c66d900ddc982758d6ad1618613e",
      "tree": "3ba2c06d0b7b8a7a4c0a8486093ad423c41d457d",
      "parents": [
        "75d8c60d0d34691e1f838fd8f6aeb507839f8fa0",
        "e2ab9318ee45371755b5b4b8e597d2c72f90b7dd"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Jun 05 11:18:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 11:18:09 2026"
      },
      "message": "Merge pull request #1404 from mattn/sqlite-amalgamation-3053002\n\nUpgrade SQLite to version 3053002"
    },
    {
      "commit": "e2ab9318ee45371755b5b4b8e597d2c72f90b7dd",
      "tree": "3ba2c06d0b7b8a7a4c0a8486093ad423c41d457d",
      "parents": [
        "75d8c60d0d34691e1f838fd8f6aeb507839f8fa0"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Jun 05 11:09:45 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Jun 05 11:09:45 2026"
      },
      "message": "Upgrade SQLite to version 3053002\n"
    },
    {
      "commit": "75d8c60d0d34691e1f838fd8f6aeb507839f8fa0",
      "tree": "9138837032070f9bb14941902f1f323c77ba393f",
      "parents": [
        "b3b5216890c80c4605698310c08d6775d11fea71",
        "d1ab49c04bdd9d857dd51c8fa169cf757dd06e2b"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Jun 05 11:08:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 11:08:15 2026"
      },
      "message": "Merge pull request #1403 from dxbjavid/bind-text64-length\n\nbind via sqlite3_bind_text64/blob64 to avoid 32-bit length truncation"
    },
    {
      "commit": "d1ab49c04bdd9d857dd51c8fa169cf757dd06e2b",
      "tree": "9138837032070f9bb14941902f1f323c77ba393f",
      "parents": [
        "b3b5216890c80c4605698310c08d6775d11fea71"
      ],
      "author": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Fri Jun 05 09:34:25 2026"
      },
      "committer": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Fri Jun 05 09:34:25 2026"
      },
      "message": "bind via sqlite3_bind_text64/blob64 to avoid 32-bit length truncation\n"
    },
    {
      "commit": "b3b5216890c80c4605698310c08d6775d11fea71",
      "tree": "274ea5596cd0fbbef559fa5cde9d1c4605eee33f",
      "parents": [
        "1a7264c5a632b1bc0e383fd0183bbf42aa3cdb85",
        "2af23f777eefeadbb1cc3c6317d074285372afe4"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jun 03 11:25:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 11:25:03 2026"
      },
      "message": "Merge pull request #1402 from dxbjavid/guard-resulttext-oversize\n\nguard oversized string length in ResultText"
    },
    {
      "commit": "2af23f777eefeadbb1cc3c6317d074285372afe4",
      "tree": "274ea5596cd0fbbef559fa5cde9d1c4605eee33f",
      "parents": [
        "1a7264c5a632b1bc0e383fd0183bbf42aa3cdb85"
      ],
      "author": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Wed Jun 03 09:03:41 2026"
      },
      "committer": {
        "name": "dxbjavid",
        "email": "dxbjavid@gmail.com",
        "time": "Wed Jun 03 09:03:41 2026"
      },
      "message": "guard oversized string length in ResultText\n"
    },
    {
      "commit": "1a7264c5a632b1bc0e383fd0183bbf42aa3cdb85",
      "tree": "6e43c39a677e105eb33a0f476d5158f081add9ba",
      "parents": [
        "9accb920a6a21dd2d86941290fbc29b899b392bb",
        "fed9970582997a3eaf6134c13bcbe68bd847243b"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jun 02 02:29:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 02:29:27 2026"
      },
      "message": "Merge pull request #1400 from calmh/unsafereflect\n\nmodernise reflect.SliceHeader to unsafe.Slice"
    },
    {
      "commit": "9accb920a6a21dd2d86941290fbc29b899b392bb",
      "tree": "9c39d1d8168706bc1a5557222adaa86bfd0f5dc7",
      "parents": [
        "9d6bf2c4ad7c4308cd38c88c4a404143e3e8fa83",
        "904664d0b01e6975940cad8f1d1913062884ab16"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jun 02 02:18:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 02:18:01 2026"
      },
      "message": "Merge pull request #1399 from calmh/uintsize\n\navoid out of bounds write in unlock_notify_wait on 64 bit platforms"
    },
    {
      "commit": "9d6bf2c4ad7c4308cd38c88c4a404143e3e8fa83",
      "tree": "0db81276ee26f816a1041765d591fe32e1f295e4",
      "parents": [
        "20826e87d8f061d0a7266562f43950ee06e2e9c0",
        "822b4765116d52930af85510d3bbb403e672d9eb"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Sat May 23 08:28:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 23 08:28:30 2026"
      },
      "message": "Merge pull request #1338 from calmh/dbstat\n\nadd sqlite_dbstat tag for the DBSTAT virtual table"
    },
    {
      "commit": "fed9970582997a3eaf6134c13bcbe68bd847243b",
      "tree": "ef87d71d1e4508e891227fca9f2d10a9e333a3ec",
      "parents": [
        "20826e87d8f061d0a7266562f43950ee06e2e9c0"
      ],
      "author": {
        "name": "Jakob Borg",
        "email": "jakob@kastelo.net",
        "time": "Tue May 19 10:58:35 2026"
      },
      "committer": {
        "name": "Jakob Borg",
        "email": "jakob@kastelo.net",
        "time": "Tue May 19 11:57:13 2026"
      },
      "message": "modernise reflect.SliceHeader to unsafe.Slice\n\nSigned-off-by: Jakob Borg \u003cjakob@kastelo.net\u003e\n"
    },
    {
      "commit": "904664d0b01e6975940cad8f1d1913062884ab16",
      "tree": "7acc49a44862107a0384ed5761532a8f7464d318",
      "parents": [
        "20826e87d8f061d0a7266562f43950ee06e2e9c0"
      ],
      "author": {
        "name": "Jakob Borg",
        "email": "jakob@kastelo.net",
        "time": "Tue May 19 10:47:48 2026"
      },
      "committer": {
        "name": "Jakob Borg",
        "email": "jakob@kastelo.net",
        "time": "Tue May 19 10:47:48 2026"
      },
      "message": "avoid out of bounds write in unlock_notify_wait on 64 bit platforms\n\nWhile `C.sizeof_unit` is 4, we convert to a Go uint and write it to the\npointer. The Go uint is eight bytes on 64 bit platforms.\n\nSigned-off-by: Jakob Borg \u003cjakob@kastelo.net\u003e\n"
    },
    {
      "commit": "822b4765116d52930af85510d3bbb403e672d9eb",
      "tree": "0db81276ee26f816a1041765d591fe32e1f295e4",
      "parents": [
        "20826e87d8f061d0a7266562f43950ee06e2e9c0"
      ],
      "author": {
        "name": "Jakob Borg",
        "email": "jakob@kastelo.net",
        "time": "Tue May 20 09:51:48 2025"
      },
      "committer": {
        "name": "Jakob Borg",
        "email": "jakob@kastelo.net",
        "time": "Sat May 09 06:34:20 2026"
      },
      "message": "add sqlite_dbstat tag for the DBSTAT virtual table\n\nUsed to gather statistics information about table disk usage.\n"
    },
    {
      "commit": "20826e87d8f061d0a7266562f43950ee06e2e9c0",
      "tree": "5d9650bbd482b24e50bded4dcd35556f123b83be",
      "parents": [
        "2d4d220883eec84670226493d7684b7441aa6b23",
        "3761cf7ca6b49698f281a59470b10a1dc86b031d"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 29 09:20:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 09:20:20 2026"
      },
      "message": "Merge pull request #1394 from mattn/sqlite-amalgamation-3053000\n\nUpgrade SQLite to version 3053000"
    },
    {
      "commit": "2d4d220883eec84670226493d7684b7441aa6b23",
      "tree": "ef2156fae0e280d0160e97710a7a01512a502f14",
      "parents": [
        "1aa7317331785af2a7541f4d0432cac154f0550f"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 29 09:13:23 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 29 09:13:23 2026"
      },
      "message": "fix changelog URL when minor or patch version is zero\n"
    },
    {
      "commit": "3761cf7ca6b49698f281a59470b10a1dc86b031d",
      "tree": "95e7804f49ece80d44e64121888d74ce2986fc98",
      "parents": [
        "1aa7317331785af2a7541f4d0432cac154f0550f"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 29 09:09:13 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 29 09:09:13 2026"
      },
      "message": "Upgrade SQLite to version 3053000\n"
    },
    {
      "commit": "1aa7317331785af2a7541f4d0432cac154f0550f",
      "tree": "24db11c711e8b71e5040105c8639eb2c01933dba",
      "parents": [
        "c719e205f4a61744fe45cdf8f04b9ed3b2ea2c33",
        "66902381f20876e47336e501e2fff32364e49364"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 29 08:21:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 08:21:47 2026"
      },
      "message": "Merge pull request #1388 from mattn/stmt-cache-lru\n\nevict least-recently-used stmt when cache is full"
    },
    {
      "commit": "c719e205f4a61744fe45cdf8f04b9ed3b2ea2c33",
      "tree": "c96f19c349e7c75ac0e2435a21d76cb2fac11fb8",
      "parents": [
        "58e032d79a4cedd24e3caf90ccf2f587f5cc19d3",
        "869e516d63f1c01adefb7696e2451a3eed8519b0"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 29 07:13:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 07:13:09 2026"
      },
      "message": "Merge pull request #1392 from mattn/fix-issue-1390-query-comment-panic\n\nFix panic when querying input with no SQL (only comments/whitespace)"
    },
    {
      "commit": "869e516d63f1c01adefb7696e2451a3eed8519b0",
      "tree": "c96f19c349e7c75ac0e2435a21d76cb2fac11fb8",
      "parents": [
        "58e032d79a4cedd24e3caf90ccf2f587f5cc19d3"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 29 06:54:05 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 29 06:54:05 2026"
      },
      "message": "fix panic when querying input with no SQL (only comments/whitespace)\n\nsqlite3_prepare_v2 returns SQLITE_OK with a NULL statement handle when\nthe input contains no SQL. exec() already handled this; query() forwarded\nthe NULL handle to bind(), which crashed in sqlite3_clear_bindings(NULL).\n\nMake query() skip NULL statements like exec() does, and make SQLiteRows\nsafe against a nil underlying statement so the empty-rows return value\ndoes not crash.\n\nCloses #1390\n"
    },
    {
      "commit": "66902381f20876e47336e501e2fff32364e49364",
      "tree": "18f270c72195a9b37d8b35da5b91ac1a3896f097",
      "parents": [
        "59e8e756b9cb3815dea75463f8276e289cd93d89"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Apr 14 05:23:22 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Apr 14 05:23:22 2026"
      },
      "message": "extract finalizeCachedStmt helper and drop redundant tail reset\n"
    },
    {
      "commit": "59e8e756b9cb3815dea75463f8276e289cd93d89",
      "tree": "11872e49fd53c08562b60ac9267c414b21eb5d96",
      "parents": [
        "2badb4cfef724a4142c77f266597ca6b13e65e53"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Apr 14 05:14:47 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Apr 14 05:14:47 2026"
      },
      "message": "only set stmt cacheKey when cache is enabled\n"
    },
    {
      "commit": "2badb4cfef724a4142c77f266597ca6b13e65e53",
      "tree": "d9e07627be693f43df21e740d072c9418bec764e",
      "parents": [
        "7716c20f00f7b86a6334fce7c937d4733fd5d62d"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Apr 14 05:13:43 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Apr 14 05:13:43 2026"
      },
      "message": "use slice len/cap for stmt cache instead of separate counters\n"
    },
    {
      "commit": "7716c20f00f7b86a6334fce7c937d4733fd5d62d",
      "tree": "d688913e3f14332eda7158fd5c1559da4941d589",
      "parents": [
        "58e032d79a4cedd24e3caf90ccf2f587f5cc19d3"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Sat Apr 11 10:56:03 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Sat Apr 11 11:47:55 2026"
      },
      "message": "evict LRU stmt when stmt cache is full\n"
    },
    {
      "commit": "58e032d79a4cedd24e3caf90ccf2f587f5cc19d3",
      "tree": "220f22ec81320e8d6f33546a3612f8ccb04937cc",
      "parents": [
        "16270111053bf2b7ed6c10b85dad6bbd280faa16"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Apr 10 07:17:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 07:17:13 2026"
      },
      "message": "Revise SECURITY.md for version support and reporting\n\nUpdated security policy to reflect supported versions and reporting guidelines."
    },
    {
      "commit": "16270111053bf2b7ed6c10b85dad6bbd280faa16",
      "tree": "fd19ac569c4b38d177a5b661dd4070e4feac86a4",
      "parents": [
        "5df13a0e80909afddeb174eb6f0f97d490d2cbb9"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 13:32:40 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 13:32:40 2026"
      },
      "message": "add _stmt_cache_size to DSN parameters table in README\n"
    },
    {
      "commit": "5df13a0e80909afddeb174eb6f0f97d490d2cbb9",
      "tree": "9c56cfd581b2c8fe0eae6f41b9d62fb0f9fe1a44",
      "parents": [
        "8d12439413e80448b66dc629ff4452be33894c67",
        "e302e5cb8c4c737561a2ab8a86136095c676c2af"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 13:29:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 13:29:35 2026"
      },
      "message": "Merge pull request #1387 from mattn/codex/stmt-cache\n\n[codex] add opt-in statement cache"
    },
    {
      "commit": "e302e5cb8c4c737561a2ab8a86136095c676c2af",
      "tree": "9c56cfd581b2c8fe0eae6f41b9d62fb0f9fe1a44",
      "parents": [
        "867dcbfbdcd171255ab3df6b44dc292765799e0a"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:43:47 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:43:47 2026"
      },
      "message": "document that _stmt_cache_size is per connection\n\nClarify that each connection in the sql.DB pool maintains its own\nindependent statement cache.\n"
    },
    {
      "commit": "867dcbfbdcd171255ab3df6b44dc292765799e0a",
      "tree": "4360eda7991f9cc08b2078994c4e4af9c69fc576",
      "parents": [
        "0e58fa4d72585edf68b93f749ae5ebfa01cc04ff"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:42:26 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:42:26 2026"
      },
      "message": "move reset/clear into putCachedStmt and always finalize on failure\n\nThis avoids an unnecessary reset when the cache is full, guarantees\na statement cannot enter the cache without being reset/cleared, and\nfixes a leak where sqlite3_finalize was not called when reset failed.\n"
    },
    {
      "commit": "0e58fa4d72585edf68b93f749ae5ebfa01cc04ff",
      "tree": "f4becf728bca28f252bd5557876391b3ad4953dc",
      "parents": [
        "e9f47da5c530abc942bd05893581187a08271f49"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:41:29 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:41:29 2026"
      },
      "message": "simplify prepareWithCache to call prepare instead of duplicating logic\n\nprepareWithCache now delegates to prepare and sets cacheKey\nafterward, removing the useCache boolean parameter.\n"
    },
    {
      "commit": "e9f47da5c530abc942bd05893581187a08271f49",
      "tree": "724202523a0aa23a86413bd48cbf06d04e9d06fd",
      "parents": [
        "325cb8d5d939baa141c92a6a3bf5289cfef3b8b2"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:40:21 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:40:21 2026"
      },
      "message": "do not bail out on finalize error in closeCachedStmtsLocked\n\nFinalize all cached statements even if one fails. Leaving a\nfinalized statement in the cache map would be a use-after-finalize\nbug per SQLite documentation.\n"
    },
    {
      "commit": "325cb8d5d939baa141c92a6a3bf5289cfef3b8b2",
      "tree": "b2fed16bc064b66bc99dd00493b7fcb8c05c5d23",
      "parents": [
        "061c2a5f43ccfcdbe0bf04a9a5203f4fc31fc63b"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:39:22 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:39:22 2026"
      },
      "message": "remove redundant stmtCacheSize check in putCachedStmt\n\nWhen stmtCacheSize \u003c\u003d 0, stmtCacheCount \u003e\u003d stmtCacheSize is always\ntrue, so the explicit check is unnecessary.\n"
    },
    {
      "commit": "061c2a5f43ccfcdbe0bf04a9a5203f4fc31fc63b",
      "tree": "6f69fb8a79ea503a7004ca60862b2e046db83411",
      "parents": [
        "efa9b1c75d55a5b8e041ca6c38783f8165a4f8f3"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:38:45 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Apr 08 04:38:45 2026"
      },
      "message": "check stmtCacheSize before acquiring mutex in takeCachedStmt\n\nstmtCacheSize is immutable after connection open, so checking it\nbefore the lock avoids mutex overhead when cache is not enabled.\n"
    },
    {
      "commit": "efa9b1c75d55a5b8e041ca6c38783f8165a4f8f3",
      "tree": "15ea9d158322245fd6027317eb3e61c2014e9bcd",
      "parents": [
        "8d12439413e80448b66dc629ff4452be33894c67"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Apr 07 05:08:53 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Apr 07 05:08:53 2026"
      },
      "message": "add opt-in statement cache\n"
    },
    {
      "commit": "8d12439413e80448b66dc629ff4452be33894c67",
      "tree": "db3d161745ce9055e6d3524c951b313fed756158",
      "parents": [
        "4a311ff7de98fc986c9be67a32b2401335194b79",
        "89f4bbe48952fddb3200b969eb2dff1ab147bd45"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Apr 06 13:36:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 13:36:14 2026"
      },
      "message": "Merge pull request #1386 from mattn/perf/reduce-cgo-overhead\n\nreduce CGO call overhead for exec and bind paths"
    },
    {
      "commit": "89f4bbe48952fddb3200b969eb2dff1ab147bd45",
      "tree": "db3d161745ce9055e6d3524c951b313fed756158",
      "parents": [
        "49540487aea6e53135051e9f64afb7af03d4342c"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Apr 06 13:29:28 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Apr 06 13:29:28 2026"
      },
      "message": "fix build with SQLITE_ENABLE_UNLOCK_NOTIFY\n\nMove extern declarations for _sqlite3_*_blocking functions before\n_sqlite3_exec_no_args which references them. Remove unused\n_sqlite3_prepare_v2_nolen function.\n"
    },
    {
      "commit": "49540487aea6e53135051e9f64afb7af03d4342c",
      "tree": "70a688b0f3f18fee33481f46f00b159ef766a194",
      "parents": [
        "4a311ff7de98fc986c9be67a32b2401335194b79"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Apr 06 13:22:20 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Apr 06 13:22:20 2026"
      },
      "message": "reduce CGO call overhead for exec and bind paths\n\n- Add _sqlite3_exec_no_args() C function that combines prepare+step+finalize\n  into a single CGO crossing for parameterless exec (most common case)\n- Add _sqlite3_reset_clear() C function that combines sqlite3_reset and\n  sqlite3_clear_bindings into a single CGO crossing\n- Use semaphore channel instead of result struct channel in context-aware\n  exec/Next paths to reduce allocations\n- Use time.AppendFormat with stack buffer to avoid heap allocation in\n  time.Time binding\n- Optimize bindNamedIndices to reuse a single buffer instead of 3\n  separate C.CString allocations\n- Remove intermediate bindIndices slice allocation in named parameter\n  binding path\n- Pass explicit query length to sqlite3_prepare_v2 to avoid C-side strlen\n\nbenchstat (n\u003d8):\n\n  BenchmarkExec:   -29.44% sec/op, -50% B/op, -33% allocs/op\n  BenchmarkQuery:  -9.83% sec/op\n  BenchmarkParams: -6.38% sec/op\n  geomean:         -6.72% sec/op\n"
    },
    {
      "commit": "4a311ff7de98fc986c9be67a32b2401335194b79",
      "tree": "327859f8c6d086bd603e946a089837af7522904e",
      "parents": [
        "f92973809df03ae476bc981876fbc45da862921a",
        "61c5b98535ca19beafaebfd94e10963d49cdadf2"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Apr 06 12:38:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 12:38:56 2026"
      },
      "message": "Merge pull request #1385 from mattn/perf/reduce-bind-overhead\n\nReduce sqlite bind overhead"
    },
    {
      "commit": "61c5b98535ca19beafaebfd94e10963d49cdadf2",
      "tree": "327859f8c6d086bd603e946a089837af7522904e",
      "parents": [
        "f92973809df03ae476bc981876fbc45da862921a"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Apr 06 12:30:35 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Apr 06 12:30:35 2026"
      },
      "message": "reduce sqlite bind overhead\n"
    },
    {
      "commit": "f92973809df03ae476bc981876fbc45da862921a",
      "tree": "a428ec6d031da77dbe8ada53bb4a322b875d826d",
      "parents": [
        "b23d54cb764130e03474c8a7da2b38ed5207424f",
        "efae5e768693f226337ffbc618b033c78c65c287"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Apr 03 13:09:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 13:09:55 2026"
      },
      "message": "Merge pull request #1384 from mattn/raise-go121-cleanup\n\nRaise minimum Go version to 1.21"
    },
    {
      "commit": "efae5e768693f226337ffbc618b033c78c65c287",
      "tree": "a428ec6d031da77dbe8ada53bb4a322b875d826d",
      "parents": [
        "b23d54cb764130e03474c8a7da2b38ed5207424f"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Apr 03 08:38:29 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Apr 03 08:41:32 2026"
      },
      "message": "raise minimum Go version to 1.21\n"
    },
    {
      "commit": "b23d54cb764130e03474c8a7da2b38ed5207424f",
      "tree": "798a9b75673a19837a374f108ab430fad06a20a2",
      "parents": [
        "cc39db7160c9a30c621a0953da9f1385ea3efd2c",
        "e1557be6ce32a773d714bcf60a92b7ee89b173a0"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Apr 03 08:39:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 08:39:28 2026"
      },
      "message": "Merge pull request #1383 from mattn/codex/next-row-batch-fetch\n\n[codex] batch row column fetches in Next"
    },
    {
      "commit": "e1557be6ce32a773d714bcf60a92b7ee89b173a0",
      "tree": "798a9b75673a19837a374f108ab430fad06a20a2",
      "parents": [
        "cc39db7160c9a30c621a0953da9f1385ea3efd2c"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Apr 03 03:45:26 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Apr 03 03:47:30 2026"
      },
      "message": "batch row column fetches in Next\n"
    },
    {
      "commit": "cc39db7160c9a30c621a0953da9f1385ea3efd2c",
      "tree": "c1bb6da4021ee94f4f6b4eb5af3e2c3bd728ea46",
      "parents": [
        "edadafaf6142acd975ed96557cad1cdeb712b707",
        "9a908a9fd0ac26b20b237cf190e302a1fb0703fb"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Apr 03 03:00:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 03:00:00 2026"
      },
      "message": "Merge pull request #1382 from mattn/codex/sqlite3-bind-fastpath\n\n[codex] optimize sqlite bind fast path"
    },
    {
      "commit": "9a908a9fd0ac26b20b237cf190e302a1fb0703fb",
      "tree": "c1bb6da4021ee94f4f6b4eb5af3e2c3bd728ea46",
      "parents": [
        "edadafaf6142acd975ed96557cad1cdeb712b707"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Apr 03 02:47:49 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Apr 03 02:47:49 2026"
      },
      "message": "optimize sqlite bind fast path\n"
    },
    {
      "commit": "edadafaf6142acd975ed96557cad1cdeb712b707",
      "tree": "693f3c32190a2bd938e52a0ea14e47b22b5b34a1",
      "parents": [
        "0d2388125f1ed562d751b4437b999692febaf710",
        "8f9f86ea433f211114f5a7e5d01b480ee8b1d7bb"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 30 03:57:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 03:57:50 2026"
      },
      "message": "Merge pull request #1381 from mattn/eliminate-bounds-checks\n\nEliminate unnecessary bounds checks in hot paths"
    },
    {
      "commit": "8f9f86ea433f211114f5a7e5d01b480ee8b1d7bb",
      "tree": "ba4f007ab7937f62f3e769ca0db3a917172b2d8d",
      "parents": [
        "bb8d0b2a05b09af1f10223174446381756d69e1b"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 30 03:48:09 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 30 03:48:09 2026"
      },
      "message": "Eliminate unnecessary bounds checks in hot paths\n\n- Replace len(args[start:start+na]) \u003e 0 with na \u003e 0 to avoid slice bounds check\n- Use range loops instead of manual index loops for cols/decltype slices\n- Use range variable v.Ordinal instead of re-indexing args[i].Ordinal\n- Add bounds hint for decltype access in nextSyncLocked loop\n"
    },
    {
      "commit": "0d2388125f1ed562d751b4437b999692febaf710",
      "tree": "1f2dd353dcc4e55570eb606b441aa3e929eae7d4",
      "parents": [
        "57e50071ab1e281d8610d582210949cee09eb9d7",
        "84bdc43851d3523353b842201f8dec2bdba1b9e4"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Thu Mar 19 04:39:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 04:39:43 2026"
      },
      "message": "Merge pull request #1379 from theimpostor/pr-1322-missing-constraint-op-types\n\nAdd missing virtual table constraint op constants"
    },
    {
      "commit": "84bdc43851d3523353b842201f8dec2bdba1b9e4",
      "tree": "1f2dd353dcc4e55570eb606b441aa3e929eae7d4",
      "parents": [
        "57e50071ab1e281d8610d582210949cee09eb9d7"
      ],
      "author": {
        "name": "theimpostor",
        "email": "sahirhoda@gmail.com",
        "time": "Sun Apr 27 18:06:36 2025"
      },
      "committer": {
        "name": "theimpostor",
        "email": "sahirhoda@gmail.com",
        "time": "Wed Mar 18 22:40:17 2026"
      },
      "message": "add missing index constraint op types\n"
    },
    {
      "commit": "57e50071ab1e281d8610d582210949cee09eb9d7",
      "tree": "2292b818f8c37984e6c084e9bb7f3981dbbfcebe",
      "parents": [
        "bb8d0b2a05b09af1f10223174446381756d69e1b",
        "cff37b40bda68f692d9072bab2f5cdd4a62c85c5"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 17:31:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 16 17:31:23 2026"
      },
      "message": "Merge pull request #1313 from Jaculabilis/json-example\n\nFix json example"
    },
    {
      "commit": "bb8d0b2a05b09af1f10223174446381756d69e1b",
      "tree": "5f5234284496cc6a0f5105bc6ef4ec66273e9c0e",
      "parents": [
        "bc7436edad4740da6291ca279110b9a484a8e27f"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 17:06:10 2026"
      },
      "committer": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 17:19:02 2026"
      },
      "message": "Bump Go test matrix versions from 1.23-1.25 to 1.24-1.26\n"
    },
    {
      "commit": "bc7436edad4740da6291ca279110b9a484a8e27f",
      "tree": "2562b877e29b4e3d009c6ffd289082603f92199f",
      "parents": [
        "0f12d4e815364608302e3c20026a0826ac4bf85e"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 17:05:00 2026"
      },
      "committer": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 17:19:02 2026"
      },
      "message": "Bump GitHub Actions versions to latest\n"
    },
    {
      "commit": "0f12d4e815364608302e3c20026a0826ac4bf85e",
      "tree": "1882fbdf4f68da7587d1fc03c12f1b1ba1e8711f",
      "parents": [
        "d71eda82d46fecab5932c527e315a2114d4ba754"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 16:59:20 2026"
      },
      "committer": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 17:19:02 2026"
      },
      "message": "Ensure Close always removes runtime finalizer to prevent memory leak\n\nFixes #1319\n"
    },
    {
      "commit": "d71eda82d46fecab5932c527e315a2114d4ba754",
      "tree": "e38685dac3708062d6a76cfbaa66687f32aa2e6d",
      "parents": [
        "4ea2a9fb44c7ecc6eee436d26a32ab34a79a87ce"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 16:31:18 2026"
      },
      "committer": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 16:41:11 2026"
      },
      "message": "Fix upgrade.sh: add already-up-to-date check and fix changelog URL format\n"
    },
    {
      "commit": "4ea2a9fb44c7ecc6eee436d26a32ab34a79a87ce",
      "tree": "edda2a190ceba21a913fb6344bfde7cd1c53d03c",
      "parents": [
        "8c99a685547a38cebad273b2d8f2db6929b1d6ff"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 16:27:55 2026"
      },
      "committer": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 16:41:11 2026"
      },
      "message": "Upgrade SQLite to version 3051003\n"
    },
    {
      "commit": "8c99a685547a38cebad273b2d8f2db6929b1d6ff",
      "tree": "53832d699499ddc1ff670c7d9b5f87d91cb23f33",
      "parents": [
        "5a1f4d3045b5f8f3426864924698ab61497ec78d"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 16:03:05 2026"
      },
      "committer": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Mon Mar 16 16:23:59 2026"
      },
      "message": "Call sqlite3_clear_bindings() in bind() to reset parameters\n\nCloses #1063\n"
    },
    {
      "commit": "5a1f4d3045b5f8f3426864924698ab61497ec78d",
      "tree": "8c715c233bc57600154c780e6398638757774ae2",
      "parents": [
        "8366a001c1c4d13979f74d1fd370ad6c36e91c46"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Mar 04 00:15:06 2026"
      },
      "committer": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Mar 04 00:27:38 2026"
      },
      "message": "use unsafe.Slice\n"
    },
    {
      "commit": "8366a001c1c4d13979f74d1fd370ad6c36e91c46",
      "tree": "4395d130eab409897e9293db3665c1859327c97f",
      "parents": [
        "208733130eafb38bd1f570eb7172267a3e64843d"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Mar 04 00:14:31 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Mar 04 00:14:31 2026"
      },
      "message": "create pull-request\n"
    },
    {
      "commit": "208733130eafb38bd1f570eb7172267a3e64843d",
      "tree": "e56e5de2bf709c952b9d6fcb47159b9a772cb899",
      "parents": [
        "a5108832c79b3bd3e3c3c0463706dcc8dd8d3030"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Jan 16 08:19:36 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Jan 16 08:19:36 2026"
      },
      "message": "add script to create pull-request\n"
    },
    {
      "commit": "a5108832c79b3bd3e3c3c0463706dcc8dd8d3030",
      "tree": "40bb7ef27e75bd4a1b82b847c7ef715802f35c10",
      "parents": [
        "dce6b34a8948550b00752d5f13071acd6280786f"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Jan 16 08:08:37 2026"
      },
      "committer": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Fri Jan 16 08:19:17 2026"
      },
      "message": "Upgrade SQLite to version 3051002\n"
    },
    {
      "commit": "dce6b34a8948550b00752d5f13071acd6280786f",
      "tree": "a24c89cf5daa5782685b20d8b2391d7d5e1daf8f",
      "parents": [
        "3c885a95122b9d21008222d0b7e7db9714ed127d"
      ],
      "author": {
        "name": "Daniël Sonck",
        "email": "dsonck@bauwatch.com",
        "time": "Tue Dec 09 10:49:51 2025"
      },
      "committer": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Thu Jan 01 14:03:41 2026"
      },
      "message": "Add percentile extension\n"
    }
  ],
  "next": "3c885a95122b9d21008222d0b7e7db9714ed127d"
}
