)]}'
{
  "log": [
    {
      "commit": "a65d652129075738a84b497b021e4fda12a66106",
      "tree": "a23654b76d89e4582c0b6a5de830c381f65b2b02",
      "parents": [
        "4a27df38d7fe2c192bff51cc6a93df6862283406"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Apr 27 13:09:39 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 13:09:39 2026 -0500"
      },
      "message": "chore(deps): bump the adbc group with 2 updates (#793)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Dewey Dunnington \u003cdewey@wherobots.com\u003e"
    },
    {
      "commit": "4a27df38d7fe2c192bff51cc6a93df6862283406",
      "tree": "957a86bf2b353ae03c615ad514484d241799b823",
      "parents": [
        "5cff82a0563ed1d260c362c17967573b45bf1c44"
      ],
      "author": {
        "name": "Peter Von der Porten",
        "email": "peter@corbelspatial.com",
        "time": "Mon Apr 27 11:08:47 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 13:08:47 2026 -0500"
      },
      "message": "docs: Add `conda` installation method to docs (#786)"
    },
    {
      "commit": "5cff82a0563ed1d260c362c17967573b45bf1c44",
      "tree": "8c5be64fcd6c812aba8c23e7e9aaafad161e42d5",
      "parents": [
        "e46c1ac34ec494b17629ee3e0ec9e8ca4e842143"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "geng.161@osu.edu",
        "time": "Mon Apr 27 22:33:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 09:33:29 2026 -0500"
      },
      "message": "fix(ci): Fix Windows build path limits and unify rust-cache configuration (#788)"
    },
    {
      "commit": "e46c1ac34ec494b17629ee3e0ec9e8ca4e842143",
      "tree": "899376989031a389e7ee56f0769570a746e9faee",
      "parents": [
        "7624127e15fbdcb704f471a766d37714b9589e4f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Apr 27 09:24:58 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 09:24:58 2026 -0500"
      },
      "message": "chore(deps): bump rayon from 1.11.0 to 1.12.0 (#796)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "7624127e15fbdcb704f471a766d37714b9589e4f",
      "tree": "b8074e1f394f72e963f85644b39c3a91361310db",
      "parents": [
        "af2c66f6aed4bd2ae3bf063145dfcfc0d3f23356"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Apr 27 09:24:01 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 09:24:01 2026 -0500"
      },
      "message": "chore(deps): bump tokio from 1.51.1 to 1.52.1 (#795)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "af2c66f6aed4bd2ae3bf063145dfcfc0d3f23356",
      "tree": "87aa69494831fe4b88f2a472827a642d8538afb1",
      "parents": [
        "c25e70a8afdc79d0b94672f1ac016b4c17a7539b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Apr 27 09:23:16 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 09:23:16 2026 -0500"
      },
      "message": "chore(deps): bump lru from 0.16.3 to 0.17.0 (#794)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "c25e70a8afdc79d0b94672f1ac016b4c17a7539b",
      "tree": "0212998d3131b9e3004b5d5b40bb5c3a4d7e58c3",
      "parents": [
        "29bc6ab62ec144bd6dfbf832f3d54519624c0450"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Mon Apr 27 09:22:49 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 09:22:49 2026 -0500"
      },
      "message": "feat(rust/sedona-spatial-join-geography): Implement spatial join for geography type (#775)"
    },
    {
      "commit": "29bc6ab62ec144bd6dfbf832f3d54519624c0450",
      "tree": "96983fab508156e24e25cc6c2f42b50039f7caac",
      "parents": [
        "8548834baa8f0a71a89522cf86855822df32f5d2"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Apr 24 16:46:52 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 16:46:52 2026 -0500"
      },
      "message": "chore(deps): bump rustls-webpki from 0.103.10 to 0.103.13 (#785)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8548834baa8f0a71a89522cf86855822df32f5d2",
      "tree": "7bd68694e25ca252c745ed4230ef2cce932c2de5",
      "parents": [
        "a25a3701d2e2b7f2d26bf85a5aeef94ce16fc985"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "geng.161@osu.edu",
        "time": "Fri Apr 24 21:47:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 08:47:09 2026 -0500"
      },
      "message": "fix(rust/sedona-spatial-join): Implement EvaluatedGeometryArray::concat (#784)"
    },
    {
      "commit": "a25a3701d2e2b7f2d26bf85a5aeef94ce16fc985",
      "tree": "c7666eba63b2c4e0c08bba4bba54dece132b986e",
      "parents": [
        "bcb47d8a07501206a0d8ea4f4991218d9aff7be5"
      ],
      "author": {
        "name": "Pratheek Rebala",
        "email": "pratheekrebala@gmail.com",
        "time": "Thu Apr 23 18:18:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 17:18:59 2026 -0500"
      },
      "message": "feat(python/sedonadb): Support specifying layer name and accessing sub-paths inside archives when working with pyogrio sources. (#778)\n\nCo-authored-by: Dewey Dunnington \u003cdewey@dunnington.ca\u003e"
    },
    {
      "commit": "bcb47d8a07501206a0d8ea4f4991218d9aff7be5",
      "tree": "cc4a297fb7ec27aed561d636030ee6bbed5d74f9",
      "parents": [
        "ec643bc4497ee3ca5ef6669b4db6efbe4de139db"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Tue Apr 21 13:38:37 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 13:38:37 2026 -0500"
      },
      "message": "chore(c/sedona-s2geography): Update s2geography submodule (#708)"
    },
    {
      "commit": "ec643bc4497ee3ca5ef6669b4db6efbe4de139db",
      "tree": "b4b798b96bf2f27b09294d4f632965baa788498c",
      "parents": [
        "21473cb579cc3f00e8ba33a816220f6ebac50a0c"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "geng.161@osu.edu",
        "time": "Wed Apr 22 02:13:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 11:13:05 2026 -0700"
      },
      "message": "docs: add new GPU acceleration guide for spatial joins (#774)"
    },
    {
      "commit": "21473cb579cc3f00e8ba33a816220f6ebac50a0c",
      "tree": "0fb36d922accfca60bac79479f1add740025e42b",
      "parents": [
        "31a6a3f0f5bb9aef5be1596252fa2acdb302b839"
      ],
      "author": {
        "name": "Jia Yu",
        "email": "jiayu@wherobots.com",
        "time": "Tue Apr 21 02:21:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 11:21:34 2026 -0700"
      },
      "message": "docs: Add release notes for SedonaDB 0.1.0, 0.2.0, and 0.3.0 (#771)"
    },
    {
      "commit": "31a6a3f0f5bb9aef5be1596252fa2acdb302b839",
      "tree": "08999d23f957d33b73fb16b092acef7a54680162",
      "parents": [
        "a991238a680db53e61859d49c858e6edd9be205b"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "kristincowalcijk@gmail.com",
        "time": "Sat Apr 18 23:43:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 18 23:43:02 2026 +0800"
      },
      "message": "feat(python/sedonadb): add Python GDAL configuration API (#689)\n\n## Summary\n\n- Adds a `configure_gdal()` Python API to the `sedonadb` package that automatically locates and loads GDAL\u0027s shared library at import time\n- Supports multiple presets: `auto`, `pyogrio`, `rasterio`, `conda`, `homebrew`, `system` — covering common GDAL installation methods\n- Exposes `gdal_version()` to query the loaded GDAL library version from Python\n- Fixes PROJ library discovery to be platform-aware (Linux `.so` / macOS `.dylib` / Windows `.dll` + conda `Library/bin/` layout)\n- Adds `test_gdal.py` pytest that verifies GDAL loads successfully and reports a version \u003e\u003d 3.x"
    },
    {
      "commit": "a991238a680db53e61859d49c858e6edd9be205b",
      "tree": "8bc89a012dd9810803b73d5ee551e97aea0826df",
      "parents": [
        "e1352bbbdf52d24980c93652c9fdfb8dd684045d"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "pwrliang@gmail.com",
        "time": "Sat Apr 18 01:23:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 12:23:22 2026 -0500"
      },
      "message": "feat(python/sedonadb): Enable GPU feature in python package and add spatial join tests (#768)"
    },
    {
      "commit": "e1352bbbdf52d24980c93652c9fdfb8dd684045d",
      "tree": "94953317bb9b6f09a0c2cb0f8900386b95483911",
      "parents": [
        "326212c27503c5349c61b4be5b0c45a46c0c8a69"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Fri Apr 17 12:14:21 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 12:14:21 2026 -0500"
      },
      "message": " chore(ci): Provide valid location for bigquery cache for wheel tests (#770)"
    },
    {
      "commit": "326212c27503c5349c61b4be5b0c45a46c0c8a69",
      "tree": "a62902b0865e6001f9b4514df0aa734d3a139ce4",
      "parents": [
        "9918079bd3c2d6165f0743d4dc7dc79d4bcac337"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Thu Apr 16 20:23:56 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 20:23:56 2026 -0500"
      },
      "message": "fix(ci): Fix libgpuspatial version spec for wheels workflow (#769)"
    },
    {
      "commit": "9918079bd3c2d6165f0743d4dc7dc79d4bcac337",
      "tree": "804c6fd0d9375d2f59f499c7d57c03a554560769",
      "parents": [
        "2383dda89c234da6a2b6190ecbec3cf6f9f1d923"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Thu Apr 16 16:09:55 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 16:09:55 2026 -0500"
      },
      "message": "chore(python/sedonadb): Add geography integration test framework (#756)"
    },
    {
      "commit": "2383dda89c234da6a2b6190ecbec3cf6f9f1d923",
      "tree": "68ceaa8546522d84548dfba335e2aad0bb16c854",
      "parents": [
        "742e851bd000d798fe3c09918a30a7cf044c7717"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "pwrliang@gmail.com",
        "time": "Fri Apr 17 04:34:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 15:34:50 2026 -0500"
      },
      "message": " feat(c/sedona-libgpuspatial): Upgrade RMM to 26.04.00 (#767)"
    },
    {
      "commit": "742e851bd000d798fe3c09918a30a7cf044c7717",
      "tree": "4b98ed23c6dbee22452efce9e3b5432b44a84285",
      "parents": [
        "54b028883becb9218596908e0cd5959d16831fbb"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "pwrliang@gmail.com",
        "time": "Thu Apr 16 21:38:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 08:38:32 2026 -0500"
      },
      "message": "fix(rust/sedona-spatial-join): Fix for the customized join provider that may not take effective (#766)"
    },
    {
      "commit": "54b028883becb9218596908e0cd5959d16831fbb",
      "tree": "4bc6926e09c4465379feedd9c9bd73d206ee4d9d",
      "parents": [
        "f6e0fff2ad9f21632d341bc6ea2349f06ece4807"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Wed Apr 15 21:15:58 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 21:15:58 2026 -0500"
      },
      "message": "chore(r/sedonadb): Ignore gpu crate when building R tarball (#764)"
    },
    {
      "commit": "f6e0fff2ad9f21632d341bc6ea2349f06ece4807",
      "tree": "6ccc882bee58fa6464833174009399f8c30d0ea4",
      "parents": [
        "9187f8b8c4ca52b64837fab5fddd377703f7331b"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "pwrliang@gmail.com",
        "time": "Wed Apr 15 22:00:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 09:00:31 2026 -0500"
      },
      "message": "feat(rust/sedona-spatial-join-gpu): Integrate libgpuspatial into sedona-spatial-join (#722)\n\nCo-authored-by: Dewey Dunnington \u003cdewey@wherobots.com\u003e"
    },
    {
      "commit": "9187f8b8c4ca52b64837fab5fddd377703f7331b",
      "tree": "b8e135f4572e002e58fda3b0d8a6363b0a6d8955",
      "parents": [
        "76487f157115cdf798b2938b7aed90c35af75675"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Apr 14 16:09:49 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 16:09:49 2026 -0500"
      },
      "message": "chore(deps): bump geojson from 0.24.2 to 1.0.0 (#732)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Dewey Dunnington \u003cdewey@wherobots.com\u003e"
    },
    {
      "commit": "76487f157115cdf798b2938b7aed90c35af75675",
      "tree": "5186fdae5d7934d4adf5290c133603c8f23826a9",
      "parents": [
        "23dc3d66c7dd916f743d0a87de22c258cb44ebb6"
      ],
      "author": {
        "name": "Terry L. Blessing",
        "email": "3756245+tlblessing@users.noreply.github.com",
        "time": "Tue Apr 14 16:08:31 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 16:08:31 2026 -0500"
      },
      "message": "fix(docs): Refine documentation on array methods and views (#762)"
    },
    {
      "commit": "23dc3d66c7dd916f743d0a87de22c258cb44ebb6",
      "tree": "5993d39803dff5539d90e1cb27d3ced788f33d0b",
      "parents": [
        "d0f78d96de311029051152c2c5a6899e2daa62d1"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Apr 13 21:10:03 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 21:10:03 2026 -0500"
      },
      "message": "chore(deps): bump rand from 0.10.0 to 0.10.1 (#761)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "d0f78d96de311029051152c2c5a6899e2daa62d1",
      "tree": "526b6757378511dcee9a598c30a026c857b778e3",
      "parents": [
        "5f5de59b8c9d0a1311f1f08af7a96e44cb5b5781"
      ],
      "author": {
        "name": "Terry L. Blessing",
        "email": "3756245+tlblessing@users.noreply.github.com",
        "time": "Mon Apr 13 17:07:57 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 17:07:57 2026 -0500"
      },
      "message": "fix(docs): Fix formatting issues in geopandas-interop.md (#760)"
    },
    {
      "commit": "5f5de59b8c9d0a1311f1f08af7a96e44cb5b5781",
      "tree": "107a9b4f3fd69389fedc7556c04b6bc66efa2ef6",
      "parents": [
        "594d4864f2ff3125adc66d2b9135a444b883a7c1"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Apr 12 22:39:28 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 22:39:28 2026 -0500"
      },
      "message": "chore(deps): bump the savvy group with 2 updates (#758)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "594d4864f2ff3125adc66d2b9135a444b883a7c1",
      "tree": "3cf6ca9e6628e6e4d80f3eae164c6be866a23fe3",
      "parents": [
        "58c8d65faa792907b27b903c6b83d6c86020b0dc"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Apr 12 22:38:56 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 22:38:56 2026 -0500"
      },
      "message": "chore(deps): bump actions/github-script from 8 to 9 (#757)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "58c8d65faa792907b27b903c6b83d6c86020b0dc",
      "tree": "3b538bfb2a15dc0bff8323173dde2b60911cd315",
      "parents": [
        "8b8b75bcada0b92ae58643c7d419246057054922"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "kristincowalcijk@gmail.com",
        "time": "Sun Apr 12 18:58:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 18:58:26 2026 +0800"
      },
      "message": "feat(sedona-gdal): add convenience facade and mem builder (#697)\n\n## Summary\n- add the high-level `Gdal` facade and `with_global_gdal` convenience entry point\n- add the MEM dataset builder on top of the lower-level dataset and raster wrappers\n- keep the top-level API explicit by importing concrete raster/vector modules instead of relying on wrapper re-export aliases"
    },
    {
      "commit": "8b8b75bcada0b92ae58643c7d419246057054922",
      "tree": "671f9dcfcbf0250f64dacf5336ec5b5de3418a25",
      "parents": [
        "40e1460d15ea64d359b66fa7c070921f24846476"
      ],
      "author": {
        "name": "Mehak3010",
        "email": "mehak3010arora@gmail.com",
        "time": "Thu Apr 09 20:37:55 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 08:07:55 2026 -0700"
      },
      "message": "feat: add ST_Relate(geometry, geometry, text) boolean variant (#741)\n\nCo-authored-by: Mehak3010 \u003cmehakarora3010@gmail.com\u003e\nCo-authored-by: Peter Nguyen \u003cpetern0408@gmail.com\u003e"
    },
    {
      "commit": "40e1460d15ea64d359b66fa7c070921f24846476",
      "tree": "0182c429a34a13af0af2a41e081899dd53da83ab",
      "parents": [
        "f1d95a0d1c177d0e22ba9a882fc80ab47e166eeb"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Tue Apr 07 11:01:54 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 11:01:54 2026 -0500"
      },
      "message": "refactor(rust/sedona-query-planner): Move query planner and utilities to dedicated crate (#735)"
    },
    {
      "commit": "f1d95a0d1c177d0e22ba9a882fc80ab47e166eeb",
      "tree": "c8ea9f3b3a814728e670e803b8caef426efa6315",
      "parents": [
        "984a09a6e3796175b2a38c7359a4d099a8cdf923"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Apr 06 16:23:13 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 16:23:13 2026 -0500"
      },
      "message": "chore(deps): bump serde_with from 1.14.0 to 3.18.0 (#712)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Dewey Dunnington \u003cdewey@wherobots.com\u003e"
    },
    {
      "commit": "984a09a6e3796175b2a38c7359a4d099a8cdf923",
      "tree": "ec06f7ca36c2bb97894bd5ca3b07507808e4f453",
      "parents": [
        "6e9347a540e3068e64349d9d0922b16a0adce860"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Apr 06 09:20:14 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 09:20:14 2026 -0500"
      },
      "message": "chore(deps): bump tokio from 1.49.0 to 1.51.0 (#754)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "6e9347a540e3068e64349d9d0922b16a0adce860",
      "tree": "9c9749efbfbd7e7e04fa9efc4b37a42b27a47697",
      "parents": [
        "c9b72a012eedd0c02310b570592c1777ba9582fb"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Apr 06 09:19:16 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 09:19:16 2026 -0500"
      },
      "message": "chore(deps): bump fastrand from 2.3.0 to 2.4.0 (#755)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "c9b72a012eedd0c02310b570592c1777ba9582fb",
      "tree": "a4903f7348eebf825356a7a6ba0ba365341cefcb",
      "parents": [
        "01ef59be5d76721ac658a00b02c30e3d8902bd09"
      ],
      "author": {
        "name": "James Willis",
        "email": "james-willis@users.noreply.github.com",
        "time": "Wed Apr 01 18:51:22 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 20:51:22 2026 -0500"
      },
      "message": "test(rust/sedona-raster-functions): Add multi-band regression tests for RS_* raster functions (#747)"
    },
    {
      "commit": "01ef59be5d76721ac658a00b02c30e3d8902bd09",
      "tree": "fa75962536ffe9db2e55e34d1aa86830f6848e0f",
      "parents": [
        "f110d44abba11486ed63a91226db132cd971f7fe"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Wed Apr 01 16:46:10 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 16:46:10 2026 -0500"
      },
      "message": "refactor(rust/sedona-spatial-join): Allow SpatialIndexBuilder and EvaluatedGeometryArray to be configurable (#737)"
    },
    {
      "commit": "f110d44abba11486ed63a91226db132cd971f7fe",
      "tree": "7358d343baa8975528887ec1cece5da0681cfbab",
      "parents": [
        "0163a6bece98a127c44a74d4a9c9bb5e42f5f3d9"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "kristincowalcijk@gmail.com",
        "time": "Wed Apr 01 11:38:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 11:38:49 2026 +0800"
      },
      "message": "feat(sedona-gdal): add raster operations and vrt support (#698)\n\n## Summary\n- add VRT dataset support plus rasterize, rasterize-affine, and polygonize wrappers\n- layer higher-level raster operations on top of the dataset/raster/vector wrapper stack\n- remove raster wrapper re-export aliases so call sites import concrete module paths directly"
    },
    {
      "commit": "0163a6bece98a127c44a74d4a9c9bb5e42f5f3d9",
      "tree": "318eb7e9755eac8fee69297046d95c8bd05b3136",
      "parents": [
        "a3d3efa0eef37a0ce30c41ee41fef05fba421c2b"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "kristincowalcijk@gmail.com",
        "time": "Sat Mar 28 23:45:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 28 10:45:10 2026 -0500"
      },
      "message": "fix: Ensure GPKG metadata consistency in test for GDAL 3.10+ (#740)\n\nCo-authored-by: kontinuation \u003ckontinuation@gmail.com\u003e"
    },
    {
      "commit": "a3d3efa0eef37a0ce30c41ee41fef05fba421c2b",
      "tree": "4c8da88a9885dcd9f66c048e9e1ab76ebb772622",
      "parents": [
        "2822b30680a7b46ddd12fd1f32eacb576a16abac"
      ],
      "author": {
        "name": "Yongting You",
        "email": "2010youy01@gmail.com",
        "time": "Sat Mar 28 23:19:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 28 10:19:39 2026 -0500"
      },
      "message": "feat(rust/sedona-spatial-join): Add config to disable spatial join reordering (#733)"
    },
    {
      "commit": "2822b30680a7b46ddd12fd1f32eacb576a16abac",
      "tree": "182608199450d8d1cfbec7c28c3a39ba59f2b697",
      "parents": [
        "25b47560fae23b758e3d6b57aa09ae5d3a22952f"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "kristincowalcijk@gmail.com",
        "time": "Thu Mar 26 21:57:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 21:57:00 2026 +0800"
      },
      "message": "feat(sedona-gdal): add dataset and vector/raster wrappers (#699)\n\n## Summary\n- add safe wrappers for GDAL datasets, drivers, raster bands, features, and layers\n- wire the core raster/vector modules that higher-level operations build on\n- keep the wrapper surface explicit by removing module re-export aliases from this layer"
    },
    {
      "commit": "25b47560fae23b758e3d6b57aa09ae5d3a22952f",
      "tree": "1280915a13a52943e52b42c85ca091b580d1e20c",
      "parents": [
        "47dd157395c0d6440a76001506905c683d0fcaba"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Mar 24 10:56:58 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 10:56:58 2026 -0500"
      },
      "message": "chore(deps): bump clap from 4.5.60 to 4.6.0 (#731)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "47dd157395c0d6440a76001506905c683d0fcaba",
      "tree": "d44ed24700fa79dbf5a994898191841172704f12",
      "parents": [
        "697d0800917407071dbd5d801874f563ec42e9b0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Mar 24 10:56:35 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 10:56:35 2026 -0500"
      },
      "message": "chore(deps): bump actions/checkout from 4 to 6 (#730)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "697d0800917407071dbd5d801874f563ec42e9b0",
      "tree": "6b5f8c412316861b3e4593243049385eb35c9ff1",
      "parents": [
        "8868018dd57cd96f522cb898f373b88e424fe9b0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Mar 24 10:55:37 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 10:55:37 2026 -0500"
      },
      "message": "chore(deps): bump actions/upload-artifact from 4 to 7 (#729)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8868018dd57cd96f522cb898f373b88e424fe9b0",
      "tree": "dd8c3d0591c33b3bc3f78f650ee0b302ebd423b9",
      "parents": [
        "b9c2316fa02fcc80e201a47c421353b7b104eadd"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Mar 24 10:55:09 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 10:55:09 2026 -0500"
      },
      "message": "chore(deps): bump actions/github-script from 7 to 8 (#728)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b9c2316fa02fcc80e201a47c421353b7b104eadd",
      "tree": "151676232098bdb493045513657039d32c4a3304",
      "parents": [
        "bc9535abc4877f13cb064b66c030207293dbc25a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Mar 22 20:14:10 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 22 20:14:10 2026 -0500"
      },
      "message": "chore(deps): bump rustls-webpki from 0.103.8 to 0.103.10 (#727)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "bc9535abc4877f13cb064b66c030207293dbc25a",
      "tree": "210de771509025d89d9d2cb5ef37452687ec3f44",
      "parents": [
        "62f8376ac50650d9fe7cc5ac6fb299e13dca023b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Mar 20 13:43:49 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 20 13:43:49 2026 -0500"
      },
      "message": "chore(deps): bump tar from 0.4.44 to 0.4.45 (#726)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "62f8376ac50650d9fe7cc5ac6fb299e13dca023b",
      "tree": "774718fa425be1ade3b85fbeb6ae2695325c5300",
      "parents": [
        "c5a31d605cefbec93d8e23a41d1f626b825e7317"
      ],
      "author": {
        "name": "Yongting You",
        "email": "2010youy01@gmail.com",
        "time": "Fri Mar 20 02:31:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 13:31:53 2026 -0500"
      },
      "message": "perf(rust/sedona-spatial-join): Use row count first to decide join order (#725)"
    },
    {
      "commit": "c5a31d605cefbec93d8e23a41d1f626b825e7317",
      "tree": "05d7cf668b0f5086dc7d75868162f1326861c5c7",
      "parents": [
        "82c1bb05a105c428c1831fb7226b72a40896029c"
      ],
      "author": {
        "name": "Mehak3010",
        "email": "165273039+Mehak3010@users.noreply.github.com",
        "time": "Thu Mar 19 22:39:15 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 10:09:15 2026 -0700"
      },
      "message": "Add ST_Relate implementation using GEOS (#691)\n\nCo-authored-by: Mehak3010 \u003cmehakarora3010@gmail.com\u003e\nCo-authored-by: Peter Nguyen \u003cpetern0408@gmail.com\u003e"
    },
    {
      "commit": "82c1bb05a105c428c1831fb7226b72a40896029c",
      "tree": "6a41e6d434b7be006206bec3ccd0e6567b6c6bb9",
      "parents": [
        "4fcf9edf81fe5010a3b51475c243f155942e5541"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "pwrliang@gmail.com",
        "time": "Thu Mar 19 05:57:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 16:57:32 2026 -0500"
      },
      "message": "feat(c/sedona-libgpuspatial): Change the interface of SpatialRefiner (#717)"
    },
    {
      "commit": "4fcf9edf81fe5010a3b51475c243f155942e5541",
      "tree": "e16dd2741a1fa085fe131b108b1b8fe3ed11267d",
      "parents": [
        "346ab2cacd85f5d007fba68d77af2faaa2728c76"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "pwrliang@gmail.com",
        "time": "Wed Mar 18 12:16:17 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 23:16:17 2026 -0500"
      },
      "message": "feat(c/sedona-libgpuspatial): Improve building robustness (#719)"
    },
    {
      "commit": "346ab2cacd85f5d007fba68d77af2faaa2728c76",
      "tree": "02199fd16e2864d0695622c7d962c0d5593a533f",
      "parents": [
        "38006908919e7ffca2fde88de594dc3a028487b2"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "pwrliang@gmail.com",
        "time": "Wed Mar 18 12:15:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 23:15:13 2026 -0500"
      },
      "message": "feat(c/sedona-libgpuspatial): Fix synchronization bugs and improve logging (#721)"
    },
    {
      "commit": "38006908919e7ffca2fde88de594dc3a028487b2",
      "tree": "8b3d8f1268bfd5c214ba3994667ad713e43fa258",
      "parents": [
        "dc6c40aace220c3b99d770cc20fa8e6fbb22754b"
      ],
      "author": {
        "name": "Jia Yu",
        "email": "jiayu@wherobots.com",
        "time": "Tue Mar 17 09:55:51 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 09:55:51 2026 -0700"
      },
      "message": "chore(ci): Add round-robin reviewer auto-assignment (#720)"
    },
    {
      "commit": "dc6c40aace220c3b99d770cc20fa8e6fbb22754b",
      "tree": "acf74724b136ff5474c6ac7f27a0e6ba0a5baf22",
      "parents": [
        "7a71e52815ceeb2b6dc5312af83303cde8fa8d71"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Mar 17 11:12:06 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 11:12:06 2026 -0500"
      },
      "message": "chore(deps): bump lz4_flex from 0.12.0 to 0.12.1 (#713)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "7a71e52815ceeb2b6dc5312af83303cde8fa8d71",
      "tree": "82e1c2df70d9c8fbe149acd95c73a14ac0d71283",
      "parents": [
        "b66fa41334b441829b69eed1439e8b39aa9fe818"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "geng.161@osu.edu",
        "time": "Tue Mar 17 23:51:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 10:51:30 2026 -0500"
      },
      "message": "feat(c/libgpuspatial): Upgrade RAPIDS RMM to 25.12 (#718)"
    },
    {
      "commit": "b66fa41334b441829b69eed1439e8b39aa9fe818",
      "tree": "211aa5db4e0f00f5d815709a58451fea437a566c",
      "parents": [
        "175569d7f16783c8a3efa9295638a0876d3c74b5"
      ],
      "author": {
        "name": "Jia Yu",
        "email": "jiayu@wherobots.com",
        "time": "Tue Mar 17 01:25:58 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 01:25:58 2026 -0700"
      },
      "message": "docs: Remove badges from docs homepage due to Apache CSP restrictions (#724)"
    },
    {
      "commit": "175569d7f16783c8a3efa9295638a0876d3c74b5",
      "tree": "6257d152e4337b509a30fb0214f9883703b360fa",
      "parents": [
        "edbd7084a16ef7131de16fd28a90417fcbaef71e"
      ],
      "author": {
        "name": "Jia Yu",
        "email": "jiayu@wherobots.com",
        "time": "Tue Mar 17 00:34:28 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 00:34:28 2026 -0700"
      },
      "message": "docs: Add PyPI download statistics badges to README and docs homepage (#723)"
    },
    {
      "commit": "edbd7084a16ef7131de16fd28a90417fcbaef71e",
      "tree": "f4b6e53e6cf16dadade2d419dce8d9a56aa48b0b",
      "parents": [
        "e49dcc182d4a15536ad8dc0a1a3c3dafe9c90086"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "kristincowalcijk@gmail.com",
        "time": "Tue Mar 17 12:13:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 12:13:00 2026 +0800"
      },
      "message": "feat(sedona-gdal): add geometry and spatial ref primitives (#695)\n\n## Summary\n- add standalone geometry, geotransform, spatial reference, and VSI wrappers\n- provide the primitive GDAL wrapper layer that later dataset and raster operation PRs build on\n- keep the module surface explicit by avoiding wrapper re-export aliases"
    },
    {
      "commit": "e49dcc182d4a15536ad8dc0a1a3c3dafe9c90086",
      "tree": "daae8b59aed2284de35f389a17ac24aa24bab393",
      "parents": [
        "cff68404ede9732e19c9cba5845aff9d09cdefc7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Mar 16 14:50:57 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 16 14:50:57 2026 -0500"
      },
      "message": "chore(deps): bump clap from 4.5.54 to 4.5.60 (#711)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "cff68404ede9732e19c9cba5845aff9d09cdefc7",
      "tree": "b037dc19dcd060a9a3f9cdac14e05f69f47ba2ab",
      "parents": [
        "5b7b548aec1b69fb0cee6ba0b0a1ea06735ff226"
      ],
      "author": {
        "name": "Liang Geng",
        "email": "pwrliang@gmail.com",
        "time": "Sun Mar 15 09:41:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 14 20:41:00 2026 -0500"
      },
      "message": "feat(rust/sedona-spatial-join) Making SpatialIndex a trait (#645)"
    },
    {
      "commit": "5b7b548aec1b69fb0cee6ba0b0a1ea06735ff226",
      "tree": "25e62a3d9d54a4f2f620e9d4043c024095e5fe8a",
      "parents": [
        "d748e4c092692697dceb4ac26bd168feb704b164"
      ],
      "author": {
        "name": "Mayank Aggarwal",
        "email": "aggarwalmayank184@gmail.com",
        "time": "Sun Mar 15 06:37:05 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 14 20:07:05 2026 -0500"
      },
      "message": "fix(rust): remove norun/ignore markers (#710)"
    },
    {
      "commit": "d748e4c092692697dceb4ac26bd168feb704b164",
      "tree": "91998e686a2fc6f3ae95c3ceaad53de744527bdc",
      "parents": [
        "20808454b5b3987658621240a00686de44142e27"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Fri Mar 13 14:08:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 13 14:08:30 2026 +0800"
      },
      "message": "feat(sedona-gdal): add foundational wrapper utilities (#696)\n\n## Summary\n- add foundational safe-wrapper utilities on top of the GDAL FFI crate\n- introduce GDAL option list helpers, raster type abstractions, and expanded shared error handling"
    },
    {
      "commit": "20808454b5b3987658621240a00686de44142e27",
      "tree": "7ba9a91f40d2a6f3ddbf6513574ecc56ca9b4bd9",
      "parents": [
        "99cca8958bca01b81b4ae1c1922f4873e2e83c68"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Wed Mar 11 11:15:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 11 11:15:09 2026 +0800"
      },
      "message": "refactor(rust/sedona-schema): centralize SedonaType CRS helpers (#705)\n\n## Summary\n- add `SedonaType::crs()` and `SedonaType::is_item_crs()` in `sedona-schema` so CRS extraction and `item_crs` detection live on the type itself\n- replace duplicated matching logic in raster functions, expression handling, testing helpers, and the Python schema wrapper with the new `SedonaType` helpers"
    },
    {
      "commit": "99cca8958bca01b81b4ae1c1922f4873e2e83c68",
      "tree": "86759aef0a7c3a59c4719c71d5d2224f16f18fbe",
      "parents": [
        "dcc8be17708b703586da16b3c3a1f924d0f100b5"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Mar 10 20:07:46 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 10 20:07:46 2026 -0500"
      },
      "message": "chore(deps): bump quinn-proto from 0.11.13 to 0.11.14 (#706)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "dcc8be17708b703586da16b3c3a1f924d0f100b5",
      "tree": "51e96aee14f0fb32ef5a43ba85b4f340a659409e",
      "parents": [
        "fc32a814efbd2da0799b63d446e25bd2817b8739"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Tue Mar 10 13:19:09 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 10 13:19:09 2026 -0500"
      },
      "message": "refactor(c/sedona-s2geography): Move s2geography UDFs to extension ABI (#683)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "fc32a814efbd2da0799b63d446e25bd2817b8739",
      "tree": "f07b11c618e18ac0bbf943a06957910c377ca11e",
      "parents": [
        "0cadc077ce069a874f3e2864916c27198c8b4a9d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Mar 10 11:13:41 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 10 11:13:41 2026 -0500"
      },
      "message": "chore(deps): bump geos from 11.0.1 to 11.1.1 (#692)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "0cadc077ce069a874f3e2864916c27198c8b4a9d",
      "tree": "29cf2ff065f3cd388d8077366cc8efddfa836efb",
      "parents": [
        "1ac184d8a93c62f544e548d5f2a5df0162e6b5f5"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Tue Mar 10 10:58:12 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 10 10:58:12 2026 -0500"
      },
      "message": "chore: Bump versions for 0.4.0dev (#694)"
    },
    {
      "commit": "1ac184d8a93c62f544e548d5f2a5df0162e6b5f5",
      "tree": "115d6ee567126a872081e9d2bf483dba87c37414",
      "parents": [
        "36ab4c1615a5e8077661e61d7b3d4732c0267936"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Tue Mar 10 18:15:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 10 18:15:48 2026 +0800"
      },
      "message": "feat(rust/sedona-raster-functions): add RS_Contains, RS_Intersects, RS_Within UDFs (#615)\n\n## Summary\n\n- Add `RS_Contains`, `RS_Intersects`, and `RS_Within` spatial predicate UDFs to `sedona-raster-functions`\n- Supports raster-geometry and raster-raster spatial relationship tests with CRS-aware coordinate transformation\n- Adds `crs_utils` module for CRS resolution and coordinate transformation helpers\n- Extends `executor.rs` with `execute_raster_wkb_crs_void` (raster+geometry iteration) and `execute_raster_raster_void` (two-raster iteration) patterns\n- Makes `sedona-proj::st_transform` module and `with_global_proj_engine` function public for cross-crate CRS transformation\n- Includes unit tests and benchmark entries in `native-raster-functions.rs`\n\nCo-authored-by: Dewey Dunnington \u003cdewey@dunnington.ca\u003e"
    },
    {
      "commit": "36ab4c1615a5e8077661e61d7b3d4732c0267936",
      "tree": "72b241cd5450a55a74dd4a8525198686f9129cb5",
      "parents": [
        "3d5476399667fcac7d62ebac90c337977b3017d0"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Tue Mar 10 03:51:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 14:51:46 2026 -0500"
      },
      "message": "fix(python/sedonadb): support DuckDB 1.5 spatial tests (#700)"
    },
    {
      "commit": "3d5476399667fcac7d62ebac90c337977b3017d0",
      "tree": "bf554bfb6b89d4445804b3230a6e3742eb2d8dac",
      "parents": [
        "c64467981e8d803983d3cf06168835622d306a2a"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Mon Mar 09 23:25:55 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 23:25:55 2026 +0800"
      },
      "message": "feat(c/sedona-gdal): add crate with dynamically loaded GDAL bindings (#681)\n\n## Summary\n\n- Add the `sedona-gdal` crate providing runtime-loaded GDAL FFI bindings via `libloading`, following the same pattern as `sedona-proj`.\n- Contains the `SedonaGdalApi` function-pointer struct, dynamic symbol loading (`dyn_load`), the `GdalApi` handle with `call_gdal_api!` macro, error types, and global API registration.\n- Integrates into the workspace (`Cargo.toml`, `rust/sedona/Cargo.toml`) and CI (`.github/workflows/rust.yml` adds `libgdal-dev`)."
    },
    {
      "commit": "c64467981e8d803983d3cf06168835622d306a2a",
      "tree": "dc13054ac351eba916f84f048031fd7bd5fe463f",
      "parents": [
        "2c8810a838e5bcacf2294e7b5bd973f8267781e6"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Fri Mar 06 17:56:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 06 17:56:37 2026 +0800"
      },
      "message": "fix(rust/sedona-pointcloud): stabilize flaky round_robin_partitioning test (#690)\n\n## Problem\n\nWe observed that the following test is flaky in recent GitHub Workflow runs:\n\n```\nfailures:\n\n---- las::opener::tests::round_robin_partitioning stdout ----\n\nthread \u0027las::opener::tests::round_robin_partitioning\u0027 (43727) panicked at rust/sedona-pointcloud/src/las/opener.rs:306:9:\nassertion `left \u003d\u003d right` failed\n  left: [RecordBatch { schema: Schema { fields: [Field { name: \"geometry\", data_type: Binary, metadata: {\"ARROW:extension:name\": \"geoarrow.wkb\"} }, Field { name: \"intensity\", data_type: UInt16, nullable: true }, Field { name: \"return_number\", data_type: UInt8 }, Field { name: \"number_of_returns\", data_type: UInt8 }, Field { name: \"is_synthetic\", data_type: Boolean }, Field { name: \"is_key_point\", data_type: Boolean }, Field { name: \"is_withheld\", data_type: Boolean }, Field { name: \"is_overlap\", data_type: Boolean }, Field { name: \"scanner_channel\", data_type: UInt8 }, Field { name: \"scan_direction\", data_type: UInt8 }, Field { name: \"is_edge_of_flight_line\", data_type: Boolean }, Field { name: \"classification\", data_type: UInt8 }, Field { name: \"user_data\", data_type: UInt8 }, Field { name: \"scan_angle\", data_type: Float32 }, Field { name: \"point_source_id\", data_type: UInt16 }, Field { name: \"gps_time\", data_type: Float64 }], metadata: {} }, columns: [BinaryArray\n[\n```\n\nSee https://github.com/apache/sedona-db/actions/runs/22707309733/job/65836933921?pr\u003d682 for an example.\n\n## Solution\n\n- The `round_robin_partitioning` test was flaky because it compared `Vec\u003cRecordBatch\u003e` with `assert_eq!`, which is order-sensitive. With round-robin partitioning, chunks are distributed across concurrent partitions whose output order is non-deterministic.\n- Fix by concatenating all batches into a single `RecordBatch` and sorting by the `geometry` column before comparing, making the assertion independent of batch boundaries and partition ordering.\n- Single-column sort suffices because all rows within each cluster in the test data are identical (see `generate.py`), so ties are indistinguishable."
    },
    {
      "commit": "2c8810a838e5bcacf2294e7b5bd973f8267781e6",
      "tree": "74f3b134d149dffff5ae6e8f1c9510b52556bf89",
      "parents": [
        "c6de6f95e6c56e52a43804b0a5a305c1e5f1cda0"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Thu Mar 05 03:46:09 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 04 13:46:09 2026 -0600"
      },
      "message": "feat(rust/sedona): default memory limit to 75% of physical memory with fair pool (#687)\n\n"
    },
    {
      "commit": "c6de6f95e6c56e52a43804b0a5a305c1e5f1cda0",
      "tree": "1b4ca7c1d7ca6374586ac6b5648ade98ef3a00c9",
      "parents": [
        "9d7001e06263f207e850555043a5f4a507ae286f"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Wed Mar 04 23:40:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 04 09:40:07 2026 -0600"
      },
      "message": "fix(rust/sedona-spatial-join): wrap probe-side repartition in ProbeShuffleExec to prevent optimizer stripping (#677)\n\n"
    },
    {
      "commit": "9d7001e06263f207e850555043a5f4a507ae286f",
      "tree": "114120b2c575beea956a9f634c776d2736da0e80",
      "parents": [
        "89b8ebda87000ce3cccaa8d669f23b4c4dd558f1"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Wed Mar 04 23:39:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 04 09:39:41 2026 -0600"
      },
      "message": "docs: add memory management and spill configuration guide (#679)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "89b8ebda87000ce3cccaa8d669f23b4c4dd558f1",
      "tree": "c882815520ca161c0b789e20c4256cc004a35763",
      "parents": [
        "4ea183faa01389f52db650ef2dbeb1934fab005e"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Wed Mar 04 23:34:42 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 04 09:34:42 2026 -0600"
      },
      "message": "fix(rust/sedona-testing): serialize env-mutating tests with a mutex to prevent race conditions (#685)\n\n"
    },
    {
      "commit": "4ea183faa01389f52db650ef2dbeb1934fab005e",
      "tree": "1df66ceda75a3ae295a82264a7d329e3d019e2df",
      "parents": [
        "cb840b8dc4bb54086943fbe314951bd679297352"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Wed Mar 04 23:33:54 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 04 09:33:54 2026 -0600"
      },
      "message": "feat(rust/sedona): Auto-configure spilled batch in-memory size threshold based on global memory limit (#680)\n\n"
    },
    {
      "commit": "cb840b8dc4bb54086943fbe314951bd679297352",
      "tree": "2381f70cc079ee0c831e21fac0e8ed3ffe56aa19",
      "parents": [
        "563114eaf1feac21467c15dbe5c2b20ac10208bd"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Wed Mar 04 19:09:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 04 19:09:34 2026 +0800"
      },
      "message": "feat(rust/sedona-raster-functions): add RS_PixelAsPoint, RS_PixelAsCentroid, RS_PixelAsPolygon UDFs (#614)\n\n## Summary\n\n- Add `RS_PixelAsPoint`, `RS_PixelAsCentroid`, and `RS_PixelAsPolygon` raster UDFs to `sedona-raster-functions`\n- These functions convert raster pixel coordinates to geometry representations (point at upper-left corner, centroid point, or bounding polygon)\n- Supports column/row indexing with 1-based band index; outputs Sedona geometry types\n- Includes unit tests and benchmark entries in `native-raster-functions.rs`"
    },
    {
      "commit": "563114eaf1feac21467c15dbe5c2b20ac10208bd",
      "tree": "5c09e566f988a1397069e4d4c11dcd553f4cbca1",
      "parents": [
        "8faf2cf32a2e03c9e89f8bd23216c8507cc20f8c"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Wed Mar 04 12:47:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 04 12:47:01 2026 +0800"
      },
      "message": "feat(rust/sedona-raster-functions): add RS_BandPixelType, RS_BandNoDataValue UDFs (#612)\n\n## Summary\n\n- Add `RS_BandPixelType` and `RS_BandNoDataValue` raster UDFs to `sedona-raster-functions`\n- Each function supports per-band queries with an optional band index parameter (defaults to band 1)\n- Includes unit tests and benchmark entries in `native-raster-functions.rs`"
    },
    {
      "commit": "8faf2cf32a2e03c9e89f8bd23216c8507cc20f8c",
      "tree": "6ea569526f8f41dc4790cdac060d3d36c56109f4",
      "parents": [
        "a8750988955f375304239adee580ff0af54abad8"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Tue Mar 03 19:26:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 03 19:26:21 2026 +0800"
      },
      "message": "feat(rust/sedona-testing): Add test helpers for loading raster test data (#587)\n\n## Summary\n\nRelevant PR adding raster files to sedona-testing: https://github.com/apache/sedona-testing/pull/10\n\n- Add `test_raster(name)` function in `data.rs` for resolving paths to raster test files from the `sedona-testing` submodule, mirroring the existing `test_geoparquet()` pattern.\n- Add `raster_from_single_band()` function in `rasters.rs` for programmatically building minimal single-band rasters in unit tests without GDAL or file I/O.\n- Update `sedona-testing` submodule to include raster test data files.\n\nCo-authored-by: Dewey Dunnington \u003cdewey@dunnington.ca\u003e"
    },
    {
      "commit": "a8750988955f375304239adee580ff0af54abad8",
      "tree": "ba328d6d5985ab80cd95b3c60af0fd2d326753e1",
      "parents": [
        "18d876b4548b70abaa175854f02afc33e7f019ab"
      ],
      "author": {
        "name": "Kristin Cowalcijk",
        "email": "bo@wherobots.com",
        "time": "Tue Mar 03 18:46:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 03 18:46:03 2026 +0800"
      },
      "message": "refactor(c/sedona-proj): replace C dynamic loading with pure Rust using libloading (#672)\n\n## Summary\n\nReplace the C-based `dlopen`/`dlsym` dynamic PROJ loading (`proj_dyn.c`/`proj_dyn.h`) with a pure Rust implementation using the `libloading` crate. This eliminates ~250 lines of C code while maintaining the same `ProjApi` struct-of-function-pointers architecture used by all existing call sites.\n\n## Approach\n\nThe `libloading` crate provides safe, cross-platform dynamic library loading (`dlopen`/`LoadLibrary`). Each PROJ symbol is loaded via a `load_fn!` macro that:\n1. Loads the symbol as a raw `*const ()` pointer\n2. Transmutes it to the expected function pointer type\n3. Stores it in the existing `ProjApi` `#[repr(C)]` struct\n\nThe `Library` handle is stored as `_lib: Option\u003cLibrary\u003e` in the Rust `ProjApi` wrapper — `Some` when loaded from a shared library, `None` when using `proj-sys`. This ensures the library stays loaded for the lifetime of the function pointers.\n\n## Tests\n\nTemporarily enabled python-wheels test and passed on all major platforms: https://github.com/apache/sedona-db/actions/runs/22518558723\n\n## Upcoming Changes\n\nWe\u0027ll implement c/sedona-gdal using similar approach.\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "18d876b4548b70abaa175854f02afc33e7f019ab",
      "tree": "daa2be4960f7cb0cf5e015dfcc525cd205a6b2d3",
      "parents": [
        "4e280c50d785df26fc2dc5313803a293e308011d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Mar 02 19:15:51 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 19:15:51 2026 -0600"
      },
      "message": "chore(deps): bump actions/download-artifact from 7 to 8 (#674)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4e280c50d785df26fc2dc5313803a293e308011d",
      "tree": "597a5706ee87451db8a1937e112f2f0bd6b682bf",
      "parents": [
        "1637efe4d4c3bf296f7e88f3dfc5c2a83eb9d788"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Mar 02 19:15:21 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 19:15:21 2026 -0600"
      },
      "message": "chore(deps): bump actions/upload-artifact from 6 to 7 (#673)\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "1637efe4d4c3bf296f7e88f3dfc5c2a83eb9d788",
      "tree": "ff95aa1334e4f3f63a66ca394f247ecf74918148",
      "parents": [
        "c84b46489aefe0bc1b909a90ac6dd1b11d11b68a"
      ],
      "author": {
        "name": "Balthasar Teuscher",
        "email": "balthasar.teuscher@tum.de",
        "time": "Tue Mar 03 00:52:35 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 17:52:35 2026 -0600"
      },
      "message": "feat(rust/sedona-pointcloud): add optional round robin partitioning and parallel statistics extraction (#648)\n\n"
    },
    {
      "commit": "c84b46489aefe0bc1b909a90ac6dd1b11d11b68a",
      "tree": "2596f0a93bc7bf9e2a218bba71367faf758d6c2f",
      "parents": [
        "8b16f39b8a8806daacf3c09a2f6e1c864fed69e8"
      ],
      "author": {
        "name": "Mayank Aggarwal",
        "email": "aggarwalmayank184@gmail.com",
        "time": "Tue Mar 03 05:20:59 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 17:50:59 2026 -0600"
      },
      "message": "chore(ci): remove unused license header helper scripts (#676)\n\n"
    },
    {
      "commit": "8b16f39b8a8806daacf3c09a2f6e1c864fed69e8",
      "tree": "81c86c641196d28c09954b93ceedb80afb1dfb82",
      "parents": [
        "00a8dad885ae4e06be35bf52aa09af704cee60eb"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Sat Feb 28 07:39:52 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 28 07:39:52 2026 -0600"
      },
      "message": "chore(dev/release): Ensure release verification passes (#671)\n\n"
    },
    {
      "commit": "00a8dad885ae4e06be35bf52aa09af704cee60eb",
      "tree": "52667d896434854f3b9a990948b5a408fc68e021",
      "parents": [
        "d9d6610a23f85c97e1aad09f64b2711f10aff82f"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Fri Feb 27 22:22:20 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 27 22:22:20 2026 -0600"
      },
      "message": "feat(r/sedonadb): Implement GDAL read via sf/arrow in R bindings (#670)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "d9d6610a23f85c97e1aad09f64b2711f10aff82f",
      "tree": "4844f60118e29e9508855d5966e2b9a4a67c471f",
      "parents": [
        "763bdffa6703df23255f7b65ca04811e7cf91d71"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Fri Feb 27 21:31:28 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 27 21:31:28 2026 -0600"
      },
      "message": "chore: Update geo-index to 0.3.4 (#661)\n\n"
    },
    {
      "commit": "763bdffa6703df23255f7b65ca04811e7cf91d71",
      "tree": "6ec6299914bdcb29d5b3bccfce6cacac5bb87dc5",
      "parents": [
        "e44f2f173cef29aa4403f27d88f8e7d5b4e9379e"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Fri Feb 27 20:08:34 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 27 20:08:34 2026 -0600"
      },
      "message": "fix(rust/sedona-geoparquet): Ensure that GeoParquet files are always written with PROJJSON CRSes (#669)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "e44f2f173cef29aa4403f27d88f8e7d5b4e9379e",
      "tree": "e3fc35fe25130c02bee4ddcd229a90d59d1ee5a5",
      "parents": [
        "6f1d27044775efdfd082b0ab48d396b619101221"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Fri Feb 27 16:18:49 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 27 16:18:49 2026 -0600"
      },
      "message": "chore(docs): Update README connection syntax (#668)\n\n"
    },
    {
      "commit": "6f1d27044775efdfd082b0ab48d396b619101221",
      "tree": "c5a03c2db8440a15fca5c3fd912c4a45204e2c2b",
      "parents": [
        "841409b4d6a55d0bbd980e6406a32e69b37d8a8f"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Fri Feb 27 16:18:24 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 27 16:18:24 2026 -0600"
      },
      "message": "feat(rust/sedona-functions): Simplify ST_KNN() call for most common case (#667)\n\n"
    },
    {
      "commit": "841409b4d6a55d0bbd980e6406a32e69b37d8a8f",
      "tree": "0174a6420796b822909b05c410ac696e7c6e3ab5",
      "parents": [
        "8c837de94ac551b536768c1588c0e8ea57241c17"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Fri Feb 27 16:17:40 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 27 16:17:40 2026 -0600"
      },
      "message": "feat(rust/sedona-schema): Improve deserialization of authority/code CRSes (#666)\n\n"
    },
    {
      "commit": "8c837de94ac551b536768c1588c0e8ea57241c17",
      "tree": "e3b976ff82a39ce923ca7904b4fd16c0c6958420",
      "parents": [
        "aad788b92bfb7808aec8e1db9f13ea37bf6642bb"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Thu Feb 26 08:49:56 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 26 08:49:56 2026 -0600"
      },
      "message": "feat(python/sedonadb): Handle crs-like objects in parameterized queries (#660)\n\n"
    },
    {
      "commit": "aad788b92bfb7808aec8e1db9f13ea37bf6642bb",
      "tree": "336c4352bfbfb71ce415aa0734bb0b1e17bd3197",
      "parents": [
        "de33ed69aec4321323dba05b569113bad06252cc"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Wed Feb 25 12:57:13 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 25 12:57:13 2026 -0600"
      },
      "message": "fix(rust/sedona-functions): Ensure WkbView types can be aggregated using the groups accumulator for ST_Envelope_Agg (#656)\n\n"
    },
    {
      "commit": "de33ed69aec4321323dba05b569113bad06252cc",
      "tree": "0d4c7d0b1d90623be05a1d9030deaae3bcfd785b",
      "parents": [
        "cdbb9f8df35c00443cf82114c9f67584bf528a4e"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Wed Feb 25 09:38:32 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 25 09:38:32 2026 -0600"
      },
      "message": "feat(r/sedonadb): Add R bindings for parameterized queries (#662)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "cdbb9f8df35c00443cf82114c9f67584bf528a4e",
      "tree": "f8d150c0cb52e267bd66df3ddd61e3c3112147e6",
      "parents": [
        "ad6d474a8a9b70742fb8b6aaf0ed8629e2d1d5fd"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Tue Feb 24 15:11:50 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 24 15:11:50 2026 -0600"
      },
      "message": "feat(r/sedonadb): Port Python configuration options changes to R (#658)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "ad6d474a8a9b70742fb8b6aaf0ed8629e2d1d5fd",
      "tree": "4f53a0f5e6810e7b7e4be254d61722505919b4e5",
      "parents": [
        "8566b75860b0a111725be760c620ce4d4cb8fc91"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Mon Feb 23 16:21:54 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 16:21:54 2026 -0600"
      },
      "message": "feat(rust/sedona-functions): Add sd_simplifystorage utility (#650)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "8566b75860b0a111725be760c620ce4d4cb8fc91",
      "tree": "33aab5f7da172ea4ca46665a2abe5179757afb3c",
      "parents": [
        "a78896036c0b0693c07813c53478a6b53dc7ce30"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Mon Feb 23 16:15:39 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 16:15:39 2026 -0600"
      },
      "message": "feat(python/sedonadb): Add sort by geometry support in to_parquet() (#642)\n\n"
    },
    {
      "commit": "a78896036c0b0693c07813c53478a6b53dc7ce30",
      "tree": "4a4baac4779610dc90413c56b386939ea8289ac7",
      "parents": [
        "d052ccb0ab84ce08a36386e93ecd9bd4d708f909"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Mon Feb 23 16:14:08 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 16:14:08 2026 -0600"
      },
      "message": "feat(rust/sedona-geoparquet): Ensure metadata cache is used in GeoParquet wrapper code (#646)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "d052ccb0ab84ce08a36386e93ecd9bd4d708f909",
      "tree": "8a36b4a5dc835ceb409c62213df71f86a46b3994",
      "parents": [
        "2de9e8e78b59ea744c0081b14f74988916c8097e"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Mon Feb 23 14:16:59 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 14:16:59 2026 -0600"
      },
      "message": "feat(r/sedonadb): Improve DataFrame API for R bindings (#651)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "2de9e8e78b59ea744c0081b14f74988916c8097e",
      "tree": "752967709e750eb2ff4fd353b5d2897119a3c2f9",
      "parents": [
        "e6a6e32647f2f05c12b4298e61a73cc8957b5fee"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Sat Feb 21 20:15:57 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 21 20:15:57 2026 -0600"
      },
      "message": "refactor(rust/sedona-functions): Remove stub functions (#638)\n\n"
    },
    {
      "commit": "e6a6e32647f2f05c12b4298e61a73cc8957b5fee",
      "tree": "9e87f963e7d5d50dc8d8df694eeb69b8306c463d",
      "parents": [
        "48c82b8dee642adc5ae2e9de5f573d20cffd36a4"
      ],
      "author": {
        "name": "Dewey Dunnington",
        "email": "dewey@dunnington.ca",
        "time": "Sat Feb 21 11:27:53 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 21 11:27:53 2026 -0600"
      },
      "message": "feat(python/sedonadb): Write GDAL/OGR via pyogrio (#632)\n\nCo-authored-by: Copilot \u003c175728472+Copilot@users.noreply.github.com\u003e"
    }
  ],
  "next": "48c82b8dee642adc5ae2e9de5f573d20cffd36a4"
}
