)]}'
{
  "log": [
    {
      "commit": "f9fc7aaf8779eaf4d274010f4b068da1990fd9ed",
      "tree": "a36175c97cf67fab064f9033305271d97ede02fc",
      "parents": [
        "9415230606bb349281ad6aba95f5555adb5bfe02",
        "a93a2092a3603a78f8add560eb03e7190b9e32eb"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Thu Jul 30 14:18:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 30 14:18:19 2026"
      },
      "message": "Merge pull request #1443 from mattn/add-release-workflow\n\nAdd workflow to create releases on tag push"
    },
    {
      "commit": "a93a2092a3603a78f8add560eb03e7190b9e32eb",
      "tree": "a36175c97cf67fab064f9033305271d97ede02fc",
      "parents": [
        "485f31f6cafa26bd27052c4e87074e86e96af703"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 07:44:34 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 07:44:34 2026"
      },
      "message": "Fail closed on release lookup errors and serialize runs per tag\n"
    },
    {
      "commit": "485f31f6cafa26bd27052c4e87074e86e96af703",
      "tree": "b009c033139a4154a9888c351567d01311e0c3c1",
      "parents": [
        "9415230606bb349281ad6aba95f5555adb5bfe02"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 07:34:28 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 07:34:28 2026"
      },
      "message": "Add workflow to create releases on tag push\n"
    },
    {
      "commit": "9415230606bb349281ad6aba95f5555adb5bfe02",
      "tree": "4e669d67ea0a975ac98dee61431d6130085005a3",
      "parents": [
        "cc41b8c87686036ea632cede537ffccef69b370a",
        "88a47972a56842318bcd8bcf8dc24413a62804db"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 07:24:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 07:24:37 2026"
      },
      "message": "Merge pull request #1441 from mattn/fix-json-example-scan\n\nHandle NULL and BLOB values in json example Scan"
    },
    {
      "commit": "cc41b8c87686036ea632cede537ffccef69b370a",
      "tree": "074046f4e55fd383c02e75cf05091618678b57b4",
      "parents": [
        "c1a1466c3dfc292dd41e3350620ea296de98dd8d",
        "18308a843a370f9416c3909a515f2120fae4566e"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 07:22:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 07:22:37 2026"
      },
      "message": "Merge pull request #1442 from mattn/sqlite-amalgamation-3053004\n\nUpgrade SQLite to version 3053004"
    },
    {
      "commit": "18308a843a370f9416c3909a515f2120fae4566e",
      "tree": "074046f4e55fd383c02e75cf05091618678b57b4",
      "parents": [
        "c1a1466c3dfc292dd41e3350620ea296de98dd8d"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 07:05:01 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 07:05:01 2026"
      },
      "message": "Upgrade SQLite to version 3053004\n"
    },
    {
      "commit": "c1a1466c3dfc292dd41e3350620ea296de98dd8d",
      "tree": "6e8532e4774044259862ca788b4a8851611d8e1d",
      "parents": [
        "210e26047062a553877ec713aab52a5dbb626a5a",
        "18f2ec37d384d0ee65be85b3c8ae1b4aa58168b2"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 07:02:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 07:02:34 2026"
      },
      "message": "Merge pull request #1440 from mattn/fix-limit-example-stmt-leak\n\nClose prepared statement and fail if limit is not enforced in limit example"
    },
    {
      "commit": "18f2ec37d384d0ee65be85b3c8ae1b4aa58168b2",
      "tree": "f110f08b82a365df1437fb351eb76d856f4d0662",
      "parents": [
        "084f3d386f9fbe21b85a7cd17d0744dedf9c31ae"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 06:50:02 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 06:50:02 2026"
      },
      "message": "Assert the expected too many SQL variables error\n"
    },
    {
      "commit": "210e26047062a553877ec713aab52a5dbb626a5a",
      "tree": "43e331c668fe73c0994bf5bc24d4eddf0aff54c8",
      "parents": [
        "dccd45f458b3e97948c0d63a679c454cdb5b4ba7",
        "80cf381fee0349ebd5897a084e7b10a735762826"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 06:19:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 06:19:52 2026"
      },
      "message": "Merge pull request #1439 from mattn/fix-hook-example-rows-leak\n\nClose leaked rows in hook example"
    },
    {
      "commit": "dccd45f458b3e97948c0d63a679c454cdb5b4ba7",
      "tree": "a48f7939927d8d7960eafc6c6557e94c9cb931fa",
      "parents": [
        "e664cc65fc2b4a734ba48a67acfac1e17ea3734c",
        "c0861dee5367fe00bdb956cb97b1ac4cade7db2d"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 06:08:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 06:08:08 2026"
      },
      "message": "Merge pull request #1438 from mattn/fix-vtable-example-declare\n\nUse the table name from xCreate args in vtable example"
    },
    {
      "commit": "c0861dee5367fe00bdb956cb97b1ac4cade7db2d",
      "tree": "e0c0e908eb9bd306328ca450e7358a03223e10bd",
      "parents": [
        "baab34464dedb7aae7191b21b8a24ea63d89232d"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 05:57:27 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 05:57:27 2026"
      },
      "message": "Quote table name before interpolating into DeclareVTab\n"
    },
    {
      "commit": "e664cc65fc2b4a734ba48a67acfac1e17ea3734c",
      "tree": "d85d14567f76620665b40bf85e248e1da20c92f7",
      "parents": [
        "2195c5da732e0385a62be518f1795f1ba1f8053d",
        "3b8cebf19bd2c63fef4b51e3b60c45fd422ff5e7"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 05:38:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 05:38:11 2026"
      },
      "message": "Merge pull request #1437 from mattn/fix-series-vtable-example\n\nFix wrong results and cursor state sharing in series example"
    },
    {
      "commit": "2195c5da732e0385a62be518f1795f1ba1f8053d",
      "tree": "56b3c84d50618b30133b2a78650ae612ae37b9d3",
      "parents": [
        "df9873f2faad9664e277a7afafd690f8d96c4e10",
        "6443b7e879a1b4e8988d3f457c2f3440f27ff0b0"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 05:26:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 05:26:21 2026"
      },
      "message": "Merge pull request #1436 from mattn/fix-fuzz-off-by-one\n\nFix off-by-one truncating SQL in fuzz target"
    },
    {
      "commit": "df9873f2faad9664e277a7afafd690f8d96c4e10",
      "tree": "1290d1a2d379d2df94db5d0f42f1ec1307d3d78a",
      "parents": [
        "fadf4a75748a815d8a7ef3178514fe013b2bcfa5",
        "6ebb665a622d5d5dc33885f7c07d78a8174cf068"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 05:15:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 05:15:35 2026"
      },
      "message": "Merge pull request #1435 from mattn/fix-upgrade-error-handling\n\nFail upgrade tool on download and write errors"
    },
    {
      "commit": "6ebb665a622d5d5dc33885f7c07d78a8174cf068",
      "tree": "40c1bac036f0110ec2014a67cd5ea7fa20e29f76",
      "parents": [
        "322330f1474f35671e4384e510f23f3e10e67944"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 05:05:50 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 05:05:50 2026"
      },
      "message": "Close merge destination before removing the source\n"
    },
    {
      "commit": "fadf4a75748a815d8a7ef3178514fe013b2bcfa5",
      "tree": "86d4e287aae791213ef5c3a9a9d84b21ba20e36e",
      "parents": [
        "273021256ac6d0d2923adee436a04a1485ee0fd1",
        "cad8b719434efb6ddf78c1b8d0a2c2fce1eba44d"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 04:46:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 04:46:28 2026"
      },
      "message": "Merge pull request #1434 from mattn/fix-vtable-nil-checks\n\nReject nil module and nil BestIndex result"
    },
    {
      "commit": "273021256ac6d0d2923adee436a04a1485ee0fd1",
      "tree": "20add2f7a1ff83d746221f924973358091d5d31c",
      "parents": [
        "eba871f1216455b1f0a0fe5ea22fb516a5ff05a7",
        "518016c8440ddb347f791cb5fd151afabcb0c76e"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 04:34:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 04:34:45 2026"
      },
      "message": "Merge pull request #1433 from mattn/fix-vtable-bestindex-usable\n\nIgnore Used for constraints SQLite marked not usable"
    },
    {
      "commit": "eba871f1216455b1f0a0fe5ea22fb516a5ff05a7",
      "tree": "dbb084fc54083304ad614625758c609907d22068",
      "parents": [
        "a39da35854152ec39fbb3281473e917c86927317",
        "726af39fbde1414e10ecf3d45df54a7c2d70a78d"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 04:24:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 04:24:56 2026"
      },
      "message": "Merge pull request #1432 from mattn/fix-vtable-update-rowid\n\nIdentify updated row by argv 0 in goVUpdate"
    },
    {
      "commit": "726af39fbde1414e10ecf3d45df54a7c2d70a78d",
      "tree": "e25208f330985dce38ec6a246f0e6eb3119dfa51",
      "parents": [
        "1a1bc9e7783ec8ae99770996bd2edbc7c653568c"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 04:14:19 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 04:14:19 2026"
      },
      "message": "Reject rowid-changing updates on virtual tables\n"
    },
    {
      "commit": "a39da35854152ec39fbb3281473e917c86927317",
      "tree": "6e6bff2e11f6c6b78b8c6a55140031d9c6481006",
      "parents": [
        "b3302528c69286129b33cb9237397d08b84364a0",
        "c2ecdac1df24dfeccb602c2c0f50df88ef863b8e"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 03:14:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 03:14:58 2026"
      },
      "message": "Merge pull request #1431 from mattn/fix-vtable-filter-null\n\nTranslate SQL NULL filter arguments to nil like goVUpdate"
    },
    {
      "commit": "b3302528c69286129b33cb9237397d08b84364a0",
      "tree": "9971be66927576e58dd684792f9b86c2f885e25d",
      "parents": [
        "3babc1f71975040c77ca4a6c81f1f8216356c0a8",
        "2897b83d1848f1a9b191b125a6c614de9bba7efb"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 02:19:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 02:19:31 2026"
      },
      "message": "Merge pull request #1430 from mattn/fix-vtable-estimated-cost\n\nDo not clobber SQLite\u0027s default cost estimates in BestIndex"
    },
    {
      "commit": "2897b83d1848f1a9b191b125a6c614de9bba7efb",
      "tree": "f980f2a18c7561c9edaba09826e204c30718e22b",
      "parents": [
        "1f0b756378a2b5cfe09b5a496e14df274688b541"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 02:10:45 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 02:10:45 2026"
      },
      "message": "Clamp fractional row estimates to at least 1\n"
    },
    {
      "commit": "3babc1f71975040c77ca4a6c81f1f8216356c0a8",
      "tree": "16fb174304a5176a277b006bce42e7006e939b15",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6",
        "f65452a23dce8eec5a5d841530ff0e13adc98a0d"
      ],
      "author": {
        "name": "mattn",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 01:14:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 01:14:15 2026"
      },
      "message": "Merge pull request #1429 from mattn/fix-vtable-handle-leak\n\nRelease vtable and cursor handles when SQLite destroys them"
    },
    {
      "commit": "f65452a23dce8eec5a5d841530ff0e13adc98a0d",
      "tree": "16fb174304a5176a277b006bce42e7006e939b15",
      "parents": [
        "7d534a0306dfd4cfc873a9d155b1c6eaef33a489"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 01:04:39 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 01:04:39 2026"
      },
      "message": "Use unique driver name in leak test\n"
    },
    {
      "commit": "88a47972a56842318bcd8bcf8dc24413a62804db",
      "tree": "b3cfaef2710bdc72d56c3f3b119362088f1ed091",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:52:47 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:52:47 2026"
      },
      "message": "Handle NULL and BLOB values in json example Scan\n"
    },
    {
      "commit": "084f3d386f9fbe21b85a7cd17d0744dedf9c31ae",
      "tree": "c3e9073ca41b3fbaa38cfac5bd3b46334a7b71d8",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:48:47 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:48:47 2026"
      },
      "message": "Close prepared statement and fail if limit is not enforced in limit example\n"
    },
    {
      "commit": "80cf381fee0349ebd5897a084e7b10a735762826",
      "tree": "93ec49f89ae6d898b073bd118cd89e6a46468194",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:48:21 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:48:21 2026"
      },
      "message": "Close leaked rows in hook example\n"
    },
    {
      "commit": "baab34464dedb7aae7191b21b8a24ea63d89232d",
      "tree": "3b39a99f667be771c9c39b4685b10c9718f499f6",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:47:29 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:47:29 2026"
      },
      "message": "Use the table name from xCreate args in vtable example\n"
    },
    {
      "commit": "3b8cebf19bd2c63fef4b51e3b60c45fd422ff5e7",
      "tree": "6af3086426672423c2c4ae7546ee4aacc6294023",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:46:32 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:46:32 2026"
      },
      "message": "Fix wrong results and cursor state sharing in series example\n"
    },
    {
      "commit": "322330f1474f35671e4384e510f23f3e10e67944",
      "tree": "7960ac192a6c26bdd87de27f69b6c70545292ee4",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:07:31 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:07:31 2026"
      },
      "message": "Fail upgrade tool on download and write errors\n"
    },
    {
      "commit": "6443b7e879a1b4e8988d3f457c2f3440f27ff0b0",
      "tree": "b6a4a687844bcadb23c251249ce1ea9ec07a5e8d",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:06:26 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:06:26 2026"
      },
      "message": "Fix off-by-one truncating SQL in fuzz target\n"
    },
    {
      "commit": "cad8b719434efb6ddf78c1b8d0a2c2fce1eba44d",
      "tree": "be87f8fb7022fccd10d33bee7412170f33317542",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:04:45 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:04:45 2026"
      },
      "message": "Reject nil module and nil BestIndex result\n"
    },
    {
      "commit": "518016c8440ddb347f791cb5fd151afabcb0c76e",
      "tree": "02eadb66ac971b510ab105e48dd95833956aa7fb",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:02:34 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:02:34 2026"
      },
      "message": "Ignore Used for constraints SQLite marked not usable\n"
    },
    {
      "commit": "1a1bc9e7783ec8ae99770996bd2edbc7c653568c",
      "tree": "c97d83d96e5d71004aef6e492b5c3ad2a3da3137",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:01:10 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Wed Jul 29 00:01:10 2026"
      },
      "message": "Identify updated row by argv 0 in goVUpdate\n"
    },
    {
      "commit": "c2ecdac1df24dfeccb602c2c0f50df88ef863b8e",
      "tree": "944bf6af41bdc8e036a125f3729772979b8507de",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jul 28 23:59:49 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jul 28 23:59:49 2026"
      },
      "message": "Translate SQL NULL filter arguments to nil like goVUpdate\n"
    },
    {
      "commit": "1f0b756378a2b5cfe09b5a496e14df274688b541",
      "tree": "375ece1c26bf2199e8c856210efaf94b569b8120",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jul 28 23:57:25 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jul 28 23:57:25 2026"
      },
      "message": "Do not clobber SQLite\u0027s default cost estimates in BestIndex\n"
    },
    {
      "commit": "7d534a0306dfd4cfc873a9d155b1c6eaef33a489",
      "tree": "0a4fa380b2a2ee1863d15eb37c86ff9872cbdd3d",
      "parents": [
        "0cfec603061a73376109c4a6178e38f86b544dd6"
      ],
      "author": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jul 28 16:58:50 2026"
      },
      "committer": {
        "name": "Yasuhiro Matsumoto",
        "email": "mattn.jp@gmail.com",
        "time": "Tue Jul 28 16:58:50 2026"
      },
      "message": "Release vtable and cursor handles when SQLite destroys them\n"
    },
    {
      "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"
    }
  ],
  "next": "58e032d79a4cedd24e3caf90ccf2f587f5cc19d3"
}
