)]}'
{
  "log": [
    {
      "commit": "ebc686720b69d1a8c7bec5b3a5161dff8f8e1434",
      "tree": "d9def2238dd9a458be9fbb6c89cb84cdcc539057",
      "parents": [
        "6f11d1fede75344bb50e52bb6c32921dbf9eb367"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Nov 10 18:33:01 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Nov 10 18:33:39 2026 -0500"
      },
      "message": "tweaking AI plugin:\n\n1. clarifying when to use DB Import and when to edit by hand\n2. Mentioning project upgrade by hand\n"
    },
    {
      "commit": "6f11d1fede75344bb50e52bb6c32921dbf9eb367",
      "tree": "646081017f8cdc4be7757ebbfe433f3e36ed203f",
      "parents": [
        "e55a038976bb2a95da2ddc44bcc1f7926d9b7f07"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Nov 10 16:47:44 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Nov 10 16:54:09 2026 -0500"
      },
      "message": "CAY-3073 AI plugin / MCP db import schema description inconsistencies\n"
    },
    {
      "commit": "e55a038976bb2a95da2ddc44bcc1f7926d9b7f07",
      "tree": "f315bc92823c94388b1166858d46f85f0522f2f4",
      "parents": [
        "9cf16e98acd0289eafa6160bf8d7b491d5f86327"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Nov 10 16:47:44 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Nov 10 16:49:37 2026 -0500"
      },
      "message": "CAY-3073 AI plugin / MCP db import schema description inconsistencies\n"
    },
    {
      "commit": "9cf16e98acd0289eafa6160bf8d7b491d5f86327",
      "tree": "8ee4c541515db53905f952c73a5334d7969bd739",
      "parents": [
        "dc710bc34c01d57b278327794d0321e246decaec"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 08 19:01:54 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 08 19:49:12 2026 -0500"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "dc710bc34c01d57b278327794d0321e246decaec",
      "tree": "75cf2444e0f4494a90300edd43d0fd9ac9940572",
      "parents": [
        "d034b61d3044735bc73112cb3febeb952c3fd7b3"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 08 18:45:17 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 08 18:59:48 2026 -0500"
      },
      "message": "release notes\n"
    },
    {
      "commit": "d034b61d3044735bc73112cb3febeb952c3fd7b3",
      "tree": "a7662ba2ea3fd6e0e15e9eb4cb2bacc0a0602492",
      "parents": [
        "1d398d197da6b41e2da5d5fa34d2855a0c423285"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 08 18:45:17 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 08 18:58:44 2026 -0500"
      },
      "message": "CAY-3072  Replace the Ashwood graph library with linear-time sorts and remove it\n"
    },
    {
      "commit": "1d398d197da6b41e2da5d5fa34d2855a0c423285",
      "tree": "afe59f6f45ff120d87750c16f0e18b72379ec4bb",
      "parents": [
        "8a42a20df47cf3d720d960b083877627ddd7bef0"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Nov 07 19:16:01 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 08 18:27:16 2026 -0500"
      },
      "message": "CAY-3058 Compiled runtime metadata\n"
    },
    {
      "commit": "8a42a20df47cf3d720d960b083877627ddd7bef0",
      "tree": "08c6e7ce46464f34b78a5846bbbace8c1f58dac2",
      "parents": [
        "a82ae57ab8c00b5fd127d415dd59eed6dc68fa8b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 08 10:51:12 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 08 10:51:12 2026 -0500"
      },
      "message": "refactoring - Embeddable Accessor should not create new embeddables\n"
    },
    {
      "commit": "a82ae57ab8c00b5fd127d415dd59eed6dc68fa8b",
      "tree": "3b774150f3f565e4ac2e409655585833af02e7ff",
      "parents": [
        "c01ee722419fea58831949f415292ee5d8d4eb94"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Nov 07 17:45:44 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Nov 07 19:29:19 2026 -0500"
      },
      "message": "Reorganizing UPGRADE.md for easier consumption when upgrading to 5.0\n"
    },
    {
      "commit": "c01ee722419fea58831949f415292ee5d8d4eb94",
      "tree": "72c74819d97068e046fb88dd98b37946fa787f00",
      "parents": [
        "b0d20de1799deec0392f488edce396ec95e5f3b7",
        "e769c52c43612044f6c139a50cc0d941c28bdbbd"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@users.noreply.github.com",
        "time": "Fri Nov 06 16:57:40 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 06 16:57:40 2026 +0400"
      },
      "message": "Merge pull request #657 from apache/dependabot/maven/org.mariadb.jdbc-mariadb-java-client-3.3.7\n\nBump org.mariadb.jdbc:mariadb-java-client from 3.3.5 to 3.3.7"
    },
    {
      "commit": "b0d20de1799deec0392f488edce396ec95e5f3b7",
      "tree": "612af0be3acc079188d00fdb69e914db727e327d",
      "parents": [
        "f8dae7b94ea3d898e8fd15f413a5626514ff23c9"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Nov 06 16:56:47 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Nov 06 16:56:47 2026 +0400"
      },
      "message": "Need to ensure a single connection for a complex drop table queries (like on MySQL)\n"
    },
    {
      "commit": "f8dae7b94ea3d898e8fd15f413a5626514ff23c9",
      "tree": "2b3fb90e3232240cbf4fd9b71e47e99f51332df4",
      "parents": [
        "5af3a6a915672b25b80498d34a8f8167c9883c47"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Nov 06 14:38:58 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Nov 06 14:38:58 2026 +0400"
      },
      "message": "Need to ensure a single connection for a complex drop table queries (like on MySQL)\n"
    },
    {
      "commit": "5af3a6a915672b25b80498d34a8f8167c9883c47",
      "tree": "0c6b5e349d272301a7c156eb957140dafb69e0bb",
      "parents": [
        "2aa1a8523cf617e9b46f45e38a02776c05c03755"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Nov 06 14:38:13 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Nov 06 14:38:13 2026 +0400"
      },
      "message": "CAY-3071 DataNodeSQLAction could lose update count info\n"
    },
    {
      "commit": "2aa1a8523cf617e9b46f45e38a02776c05c03755",
      "tree": "ffd32fcbb32f0fdb513035d18e8041b707a8a4c7",
      "parents": [
        "9bede093bbe5c1d48611da0981cd4d8a99f8cdba"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Nov 06 11:52:04 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Nov 06 11:52:04 2026 +0400"
      },
      "message": "GitHub.Actions setup for release automation\n"
    },
    {
      "commit": "e769c52c43612044f6c139a50cc0d941c28bdbbd",
      "tree": "31af10d96c6fc377d9d2abaf9cbeed2f5cf84a7e",
      "parents": [
        "9bede093bbe5c1d48611da0981cd4d8a99f8cdba"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Nov 05 17:07:38 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 05 17:07:38 2026 +0000"
      },
      "message": "Bump org.mariadb.jdbc:mariadb-java-client from 3.3.5 to 3.3.7\n\nBumps [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) from 3.3.5 to 3.3.7.\n- [Release notes](https://github.com/mariadb-corporation/mariadb-connector-j/releases)\n- [Changelog](https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.3.5...3.3.7)\n\n---\nupdated-dependencies:\n- dependency-name: org.mariadb.jdbc:mariadb-java-client\n  dependency-version: 3.3.7\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "9bede093bbe5c1d48611da0981cd4d8a99f8cdba",
      "tree": "29c33010a3bd6bc8f7afb3dad8777df281d890fa",
      "parents": [
        "b0f25fa0e8b063f384a352c9e891c7650998caa2"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Thu Nov 05 19:50:24 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Thu Nov 05 19:50:24 2026 +0400"
      },
      "message": "GitHub.Actions setup for release automation\n"
    },
    {
      "commit": "b0f25fa0e8b063f384a352c9e891c7650998caa2",
      "tree": "438245dfac1dcc987577e7db18ad0585d987589c",
      "parents": [
        "1e9f539b85333954e1e5ef53fdfd42f3a95cfcf9"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Thu Nov 05 19:50:12 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Thu Nov 05 19:50:12 2026 +0400"
      },
      "message": "Minor fixes and hardening of the release process\n"
    },
    {
      "commit": "1e9f539b85333954e1e5ef53fdfd42f3a95cfcf9",
      "tree": "e79115aa5dae413e9ca0566b1d0746638f2f729a",
      "parents": [
        "d3a6b4b57e85379830844c3a6309e90f9e55d9ee"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Thu Nov 05 00:25:03 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Thu Nov 05 00:25:03 2026 +0400"
      },
      "message": "Cayenne 5.0-RC1\n"
    },
    {
      "commit": "d3a6b4b57e85379830844c3a6309e90f9e55d9ee",
      "tree": "90d9bc8aef69179b3aed75ecedcf4e5da288e4fe",
      "parents": [
        "6ad375fade65b92f8436fedadc1cf86a0dd2637f"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Nov 04 12:15:02 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Nov 04 12:15:50 2026 -0500"
      },
      "message": "M4 -\u003e RC1\n"
    },
    {
      "commit": "6ad375fade65b92f8436fedadc1cf86a0dd2637f",
      "tree": "69ba3e5f1de34294d20b4067e7b85402d5e12da1",
      "parents": [
        "5cd8221c1ea3072633d4d581425baf3975e91457"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 12:57:51 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 14:27:12 2026 -0500"
      },
      "message": "NamedQuery cleanup\n"
    },
    {
      "commit": "5cd8221c1ea3072633d4d581425baf3975e91457",
      "tree": "686f916ec760f7f6f99c6d8ba65111fed0fafc19",
      "parents": [
        "626173cb3ea9328f7cf137fb9ed2d2ccc63f888d"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 10:05:56 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 14:19:01 2026 -0500"
      },
      "message": "CAY-3069 Combine ObjectSelect and ColumnSelect\n\nremoving HAVING-related modality. Now can append having expressions explicitly\n"
    },
    {
      "commit": "626173cb3ea9328f7cf137fb9ed2d2ccc63f888d",
      "tree": "8f4abd40b0bdb81133e1fa5ff4c53373b5a79efc",
      "parents": [
        "e37357e8ec50a2d9c273d7e9729cc63f1d65d11f"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 12:57:51 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 14:08:10 2026 -0500"
      },
      "message": "NamedQuery cleanup\n"
    },
    {
      "commit": "e37357e8ec50a2d9c273d7e9729cc63f1d65d11f",
      "tree": "6a372e135aa2db5820691af8cb2c1740b8d4571e",
      "parents": [
        "e87b9115c17f37617b267b5a670c8596423c03ab"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 12:57:51 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 13:16:10 2026 -0500"
      },
      "message": "NamedQuery cleanup\n"
    },
    {
      "commit": "e87b9115c17f37617b267b5a670c8596423c03ab",
      "tree": "924729fea0a4a0883c639a20f49473950c253456",
      "parents": [
        "7f09f368367e6f9ed89d2e669009015c53926523"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 12:49:30 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 12:50:53 2026 -0500"
      },
      "message": "Renaming QueryDescriptor to NamedQuery\n"
    },
    {
      "commit": "7f09f368367e6f9ed89d2e669009015c53926523",
      "tree": "cbe81104fbbff6994f6e4402fa8c43660aaf6b62",
      "parents": [
        "4ce4126aedd5430429af63ea59917d89611a2535"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 10:05:56 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 10:41:46 2026 -0500"
      },
      "message": "CAY-3069 Combine ObjectSelect and ColumnSelect\n\nfinal ObjectSelect shape\n"
    },
    {
      "commit": "4ce4126aedd5430429af63ea59917d89611a2535",
      "tree": "94d46e7662aa74b3be2fcb7d84cc0c673fcaecfc",
      "parents": [
        "18de2307bae9d31607c75ce320c336fa9b789cc6"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 10:05:56 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 10:24:06 2026 -0500"
      },
      "message": "CAY-3069 Combine ObjectSelect and ColumnSelect\n\nSubqueryExp eval actually ran a DB query. This is wrong - in-memory evaluation\nshould not hit the DB. So being honest about it by throwing an exception\n"
    },
    {
      "commit": "18de2307bae9d31607c75ce320c336fa9b789cc6",
      "tree": "ff1c998e5a73a6321ae00c8b26369eb8b7068a3d",
      "parents": [
        "abc330a91e2e63673b8b4089b6139064d195bc38"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 10:05:56 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 10:05:56 2026 -0500"
      },
      "message": "CAY-3069 Combine ObjectSelect and ColumnSelect\n\nfinal ObjectSelect shape\n"
    },
    {
      "commit": "abc330a91e2e63673b8b4089b6139064d195bc38",
      "tree": "39ce1198f11a2f55b0d5f2a5cd56cc2319141c4c",
      "parents": [
        "9cac07115678f7e427f8ffa3b37bbae22ed7e892"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 09:42:45 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 09:55:53 2026 -0500"
      },
      "message": "AI plugin v6\n"
    },
    {
      "commit": "9cac07115678f7e427f8ffa3b37bbae22ed7e892",
      "tree": "2e00c9a8c6c7b4bf36df739fd8751d11a20b219a",
      "parents": [
        "aa9cc95dd0a147acb83c4bb961f2461c5a8e23f6"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 09:51:51 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 09:51:51 2026 -0500"
      },
      "message": "\"CAY-3059 Remove APIs deprecated in 5.0\"\n\nmore stuff was rebased\n"
    },
    {
      "commit": "aa9cc95dd0a147acb83c4bb961f2461c5a8e23f6",
      "tree": "fe394c68d07313e87e28123ff8f8e62b1ff48d3d",
      "parents": [
        "97d52f849651fa9050361fa35fe0f11fac397219"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 09:42:45 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 09:45:55 2026 -0500"
      },
      "message": "AI plugin v6\n"
    },
    {
      "commit": "97d52f849651fa9050361fa35fe0f11fac397219",
      "tree": "e4b1ba38d9a49bc675a0ba16350035acf6e87750",
      "parents": [
        "c5a3c4cc9b6a5315873856174a43e4d94a2e5004"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 09:42:45 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 09:42:45 2026 -0500"
      },
      "message": "AI plugin v6\n"
    },
    {
      "commit": "c5a3c4cc9b6a5315873856174a43e4d94a2e5004",
      "tree": "e23fa78c597c122f5d279093da6053325146b0fb",
      "parents": [
        "52ccee56fe6306a1c5e5df793b59bd3d5f5376d4"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 09:15:33 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 09:32:48 2026 -0500"
      },
      "message": "CAY-3069 Combine ObjectSelect and ColumnSelect\n"
    },
    {
      "commit": "52ccee56fe6306a1c5e5df793b59bd3d5f5376d4",
      "tree": "b9a15462cbceeda53aa346bc85fdffd4932918df",
      "parents": [
        "fa55fa8f94bb9620c5e4e0ca226d90d37e89d127"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 08:54:39 2026 -0500"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Nov 01 08:54:39 2026 -0500"
      },
      "message": "CAY-3067 Unified Query shape\n"
    },
    {
      "commit": "fa55fa8f94bb9620c5e4e0ca226d90d37e89d127",
      "tree": "6bdc6d97cc8da94f9f9dcb0362c799acf4becb60",
      "parents": [
        "69be2763dfe93a8cd1932957f4c5e9a626bf1fce"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 31 20:35:10 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 31 20:44:22 2026 -0400"
      },
      "message": "CAY-3067 Unified Query shape\n"
    },
    {
      "commit": "69be2763dfe93a8cd1932957f4c5e9a626bf1fce",
      "tree": "c71099513b736f4772b95b2e122dcdfe66132ae3",
      "parents": [
        "7a3647464ef53e6e5e1f4747a00f43cb1619a345"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 31 20:35:10 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 31 20:43:25 2026 -0400"
      },
      "message": "CAY-3067 Unified Query shape\n"
    },
    {
      "commit": "7a3647464ef53e6e5e1f4747a00f43cb1619a345",
      "tree": "93d78f6c02b6848b70e33a86c2ce1b15ed043120",
      "parents": [
        "18cb41933967ead7f824382be1824ca11d032174"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 31 20:27:48 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 31 20:27:48 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "18cb41933967ead7f824382be1824ca11d032174",
      "tree": "2b2987132b5087fa8841e3ddb23723c070c36075",
      "parents": [
        "095c7f7c717b2020a71e6c11b17f65347c885f53"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 31 18:57:03 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 31 20:26:42 2026 -0400"
      },
      "message": "CAY-3068 Resolve queries ahead of execution\n"
    },
    {
      "commit": "095c7f7c717b2020a71e6c11b17f65347c885f53",
      "tree": "cbbbfe9c712f63e3e744fcb1003553e0e4a1d11c",
      "parents": [
        "64722aceda5613a96c43d303c7f73cd2619bc75f"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 31 12:20:33 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 31 12:58:23 2026 -0400"
      },
      "message": "CAY-3067 Unified Query shape\n"
    },
    {
      "commit": "64722aceda5613a96c43d303c7f73cd2619bc75f",
      "tree": "c537500c23f74d14db9b0f2ba376949dfe4e01a6",
      "parents": [
        "9501dad21e78d1489dedf524b05a353656bdbe35"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 17:52:42 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "oops, this should have been v6.0\n"
    },
    {
      "commit": "9501dad21e78d1489dedf524b05a353656bdbe35",
      "tree": "bb1f4ab473aa2e816adc9008718689e8e5a5511d",
      "parents": [
        "b3bf0e1b8450562a9ee70ede2778a3229848c4c1"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 17:50:29 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "fixing latent issues that got uncovered by the new runtime structure\n"
    },
    {
      "commit": "b3bf0e1b8450562a9ee70ede2778a3229848c4c1",
      "tree": "f66797a0f8540512c257f217defdf8bcaa0a82db",
      "parents": [
        "39984b5547898861da038e2b3968959028452018"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 16:17:53 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "DataNode cleanup:\n\n* single constructor, immutable state\n* no DataMaps dependency\n* no EntityResolver dependency\n* no EntitySorter dependency\n* opaque \"initializer\" to defer hitting the DB until absolutely needed\n"
    },
    {
      "commit": "39984b5547898861da038e2b3968959028452018",
      "tree": "3040eab7d0516fa1ab244c95f231c3d1e36378c1",
      "parents": [
        "ffddfb91a30dd7b4f178dc8699f33ee0d0008680"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 14:20:59 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "CAY-3065 Redesign query pipeline around a mutable execution context\n"
    },
    {
      "commit": "ffddfb91a30dd7b4f178dc8699f33ee0d0008680",
      "tree": "83325c5f2c7517df32d87cc0322601b85ebf1dd5",
      "parents": [
        "38e534ebe264e0b4a8185b5f691821e8bcbc1182"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 12:32:02 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "CAY-3064 SQLSelect / SQLExec explicit DataNode routing\n"
    },
    {
      "commit": "38e534ebe264e0b4a8185b5f691821e8bcbc1182",
      "tree": "c036329aab60035c69fe32aa63559bc82e17befb",
      "parents": [
        "9c1ec50833bc2a41322c53459c78bb9300dcb796"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 11:05:08 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "CAY-3063 SQLSelect / SQLExec per-adapter dialects\n"
    },
    {
      "commit": "9c1ec50833bc2a41322c53459c78bb9300dcb796",
      "tree": "13d76964711019eb9b70f62e4550a7bfa71602b0",
      "parents": [
        "4218d1dcd38aaa3b311e625d71987ae074f94296"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 10:49:37 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "removing extraneous javadocs\n"
    },
    {
      "commit": "4218d1dcd38aaa3b311e625d71987ae074f94296",
      "tree": "84f1f03ba59861e3a99f545a23d067298bc71bf8",
      "parents": [
        "59788ee0aa33d89c6395fdd2ffdaffc82e812f15"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 10:41:19 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "Test mappings: modern relationship naming (toXyz -\u003e xyz, xyzArray -\u003e xyzs)\n"
    },
    {
      "commit": "59788ee0aa33d89c6395fdd2ffdaffc82e812f15",
      "tree": "a91630e16dd0d89aafd781953dc191f06744f0aa",
      "parents": [
        "93a4fd6fa71a15098c9f90161ac80225686a1945"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 10:10:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "Replacing AutoAdapter with lazyily-detected real adapter\n\n.. so we do not need to unwrap the adapter in various places to see the actual one.\nAlso refactoring sniffers to detectors\n"
    },
    {
      "commit": "93a4fd6fa71a15098c9f90161ac80225686a1945",
      "tree": "8d32c3bcc33f64ce0caf4845c7ac8efb81bb06f9",
      "parents": [
        "76b5d35fb58724d93674b696d513cde6d561fbca"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 09:46:45 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "CAY-3062 SQLTemplate to stop supporting multiple parameter sets\n"
    },
    {
      "commit": "76b5d35fb58724d93674b696d513cde6d561fbca",
      "tree": "e07243fffd2b53c37d794381c8a8496ec07c18af",
      "parents": [
        "d121cc494aa8a878e8e08c0a17c87d4e118a7950"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 24 14:11:53 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "CAY-3061 Annotation-free lifecycle\n"
    },
    {
      "commit": "d121cc494aa8a878e8e08c0a17c87d4e118a7950",
      "tree": "ff7f77a2c1b41f229d86cc619052164349e21f01",
      "parents": [
        "7a835d2a49120fbc5b102524b3ba0b55754e808c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 24 16:09:57 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "Fixing upgrade notes ordering\n"
    },
    {
      "commit": "7a835d2a49120fbc5b102524b3ba0b55754e808c",
      "tree": "e8ef9122d93ca566b59d946a52720a1fa1f98edd",
      "parents": [
        "5a37d47fbda1376efed30e8fcc291ac58405ff7f"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 24 14:11:53 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "CAY-3061 Annotation-free lifecycle\n"
    },
    {
      "commit": "5a37d47fbda1376efed30e8fcc291ac58405ff7f",
      "tree": "70e12ff51f5739e2cb246c6ad07756fe221d69ce",
      "parents": [
        "00ccd52ece993ddb413e8a033375e40803ec0d4e"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 24 12:29:13 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "CAY-3060 Remove support for callbacks XML mapping\n"
    },
    {
      "commit": "00ccd52ece993ddb413e8a033375e40803ec0d4e",
      "tree": "66194ada1c3cf86346537154cd202172ce326083",
      "parents": [
        "b53b3ee4e4f9d7e17a66b347b89caf3b6f0c16d9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 23 15:12:51 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "LifecycleCallbackRegistry refactoring:\n\n* location: access.lifecycle\n* name: LifecycleEventManager\n* owner: DataDomain, not EntityResolver\n* event source: Persistent (not Object)\n* callback: method handle (Consumer) instead of String method name\n"
    },
    {
      "commit": "b53b3ee4e4f9d7e17a66b347b89caf3b6f0c16d9",
      "tree": "a478a7465327785743bfbf4e9acd66fc7055cec7",
      "parents": [
        "528b6dd53850e7f5cb40c10b793e82b8919753a6"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 23 09:41:50 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "refactoring - moving SQLResult to \"query\"\n"
    },
    {
      "commit": "528b6dd53850e7f5cb40c10b793e82b8919753a6",
      "tree": "e8a8073a67187ed905ce8d51e354560d28039d7f",
      "parents": [
        "afde5461e55c6a1c6b892266657a236368f1d6ea"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 23 10:49:29 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "CAY-3059 Remove APIs deprecated in 5.0\n"
    },
    {
      "commit": "afde5461e55c6a1c6b892266657a236368f1d6ea",
      "tree": "db1f7d61d837a7b9f3c5947892200a39dfbeca9b",
      "parents": [
        "ee1347ae6c11804073b40c18022ba9b441df371e"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 23 10:19:02 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:29 2026 -0400"
      },
      "message": "refactoring: SQLTemplate and ProcedureQuery should not have so many \"roots\"\n"
    },
    {
      "commit": "ee1347ae6c11804073b40c18022ba9b441df371e",
      "tree": "79ff1f27f0a3df2864bf4c79625abd23f7901806",
      "parents": [
        "5aaa39a3da16f1189213acc0c8a82adb09e10ed4"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Oct 20 18:03:58 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 30 11:48:27 2026 -0400"
      },
      "message": "CAY-3055 DbRelationship.foreignKey\n"
    },
    {
      "commit": "5aaa39a3da16f1189213acc0c8a82adb09e10ed4",
      "tree": "007ae1251f1a706a6d8003a7a43969c931c328d2",
      "parents": [
        "3a3c7daa1ce67991c3e4e30dea0fa587616b259d"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 30 16:39:50 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 30 16:39:50 2026 +0400"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "3a3c7daa1ce67991c3e4e30dea0fa587616b259d",
      "tree": "987b12e5751662aa149c239f6941a86c0aa4f2af",
      "parents": [
        "b9f782632913ca81af566fff155f0f6408faa394"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 30 16:39:40 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 30 16:39:40 2026 +0400"
      },
      "message": "[maven-release-plugin] prepare release 5.0-RC1\n"
    },
    {
      "commit": "b9f782632913ca81af566fff155f0f6408faa394",
      "tree": "007ae1251f1a706a6d8003a7a43969c931c328d2",
      "parents": [
        "7944bc18700fb18f4fedac904f5a5f7bd59305a9"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 30 16:36:52 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 30 16:36:52 2026 +0400"
      },
      "message": "Prepare for 5.0-RC1 release\n"
    },
    {
      "commit": "7944bc18700fb18f4fedac904f5a5f7bd59305a9",
      "tree": "0296704e1e2444a6faf5eec78b76f39e7edd6037",
      "parents": [
        "432d2c0ce1db0bfb7fc067089b90527499f201d6"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Thu Oct 29 21:27:40 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Thu Oct 29 21:27:40 2026 +0400"
      },
      "message": "More robust text Undo/Redo\n"
    },
    {
      "commit": "432d2c0ce1db0bfb7fc067089b90527499f201d6",
      "tree": "f876a381380bd3d95c00d9ec43d045bf2ff00223",
      "parents": [
        "71f6b5517a14029d81def339df63481dcec1ed89"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Thu Oct 29 17:16:13 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Thu Oct 29 17:16:13 2026 +0400"
      },
      "message": "CAY-3066 Modeler: update SQLTemplate editor UI\n"
    },
    {
      "commit": "71f6b5517a14029d81def339df63481dcec1ed89",
      "tree": "1aba3ae07c17465867f9e2434d363a7cc75943b5",
      "parents": [
        "5cd639cff423e27fc5ab0a7c0900c0e3e5d11f1e"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Oct 28 18:25:14 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Oct 28 18:25:14 2026 +0400"
      },
      "message": "CAY-3056 Switch DataMap queries to the new query parser\n - UI tweaks\n"
    },
    {
      "commit": "5cd639cff423e27fc5ab0a7c0900c0e3e5d11f1e",
      "tree": "f45733c8e368bfaca6c9c75a267c797c58953b4c",
      "parents": [
        "53c4d3c5f79ba2670741a434bfd382863356af82"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Oct 28 18:02:36 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Oct 28 18:02:36 2026 +0400"
      },
      "message": "CAY-3056 Switch DataMap queries to the new query parser\n - check for root even in unparseable query\n"
    },
    {
      "commit": "53c4d3c5f79ba2670741a434bfd382863356af82",
      "tree": "b835b5678f0fa78d2bdd06637b83474bf4601458",
      "parents": [
        "64cffe63e811784ee3754825a38cce26cc78cf54"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Oct 28 17:46:34 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Oct 28 17:46:34 2026 +0400"
      },
      "message": "CAY-3056 Switch DataMap queries to the new query parser\n - drop root entity name\n"
    },
    {
      "commit": "64cffe63e811784ee3754825a38cce26cc78cf54",
      "tree": "8be97641ac7ec05bf47f9fe3cedf98e86892d983",
      "parents": [
        "0436360724cda2f766afc2c3fad279ad9331dde7"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Oct 28 17:46:15 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Oct 28 17:46:15 2026 +0400"
      },
      "message": "CAY-3056 Switch DataMap queries to the new query parser\n - cleaner error messages\n"
    },
    {
      "commit": "0436360724cda2f766afc2c3fad279ad9331dde7",
      "tree": "754eed4fd63ab16b3589b77be87f756daa7e7ec6",
      "parents": [
        "686386b6f30c76d342e1b51522dfd540a24e15f4"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Oct 28 17:45:58 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Oct 28 17:45:58 2026 +0400"
      },
      "message": "Cleaner QL parser error messages\n"
    },
    {
      "commit": "686386b6f30c76d342e1b51522dfd540a24e15f4",
      "tree": "99c7604148072311c8a95edd4573bed19965524c",
      "parents": [
        "a50a0e16d2dfec8bb7ff3a2802be78f81cdaf9a1"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Oct 27 13:59:57 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Oct 27 16:24:29 2026 -0400"
      },
      "message": "Ensure the proper order for \"cayenne-legal\"\n\n.. before the modules that process its bundle. This fixes\nparallel (mvnd) builds\n"
    },
    {
      "commit": "a50a0e16d2dfec8bb7ff3a2802be78f81cdaf9a1",
      "tree": "f28c5d1334b9b609965e1fa98093a459da9bf133",
      "parents": [
        "32e283ed667f16aa23c72486e6c42e01e6a8ccc1"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 13 17:10:16 2026 +0000"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "aadamchik@gmail.com",
        "time": "Tue Oct 27 13:44:56 2026 -0400"
      },
      "message": "Bump org.jsoup:jsoup from 1.23.1 to 1.23.2 in /docs\n\nBumps [org.jsoup:jsoup](https://github.com/jhy/jsoup) from 1.23.1 to 1.23.2.\n- [Release notes](https://github.com/jhy/jsoup/releases)\n- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES.md)\n- [Commits](https://github.com/jhy/jsoup/compare/jsoup-1.23.1...jsoup-1.23.2)\n\n---\nupdated-dependencies:\n- dependency-name: org.jsoup:jsoup\n  dependency-version: 1.23.2\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "32e283ed667f16aa23c72486e6c42e01e6a8ccc1",
      "tree": "7c2f11ed67e580fb3ec8619cbdfa501a7355a72c",
      "parents": [
        "84418ce442ae426d9e08d88005b1467b774c537c"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 23 20:26:42 2026 +0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "aadamchik@gmail.com",
        "time": "Tue Oct 27 08:03:35 2026 -0400"
      },
      "message": "CAY-3056 Switch DataMap queries to the new query parser\n"
    },
    {
      "commit": "84418ce442ae426d9e08d88005b1467b774c537c",
      "tree": "d6391aa08c3d0529de00959abdd4e7dde46723e2",
      "parents": [
        "622abf2d520a2885d90dd301e086d84b1c612f76"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 23 18:53:04 2026 +0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "aadamchik@gmail.com",
        "time": "Tue Oct 27 08:03:35 2026 -0400"
      },
      "message": "CAY-3056 Switch DataMap queries to the new query parser\n"
    },
    {
      "commit": "622abf2d520a2885d90dd301e086d84b1c612f76",
      "tree": "4053e1727446ffa65679f12bf2fc80b44758c31b",
      "parents": [
        "0616419e63deeb2fe44a6d59b368f7b4ba8f99a9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 16:49:17 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 25 16:49:17 2026 -0400"
      },
      "message": "CAY-2964\n\nreallocating PK type conversion logic away from PkGenerator\n"
    },
    {
      "commit": "0616419e63deeb2fe44a6d59b368f7b4ba8f99a9",
      "tree": "707529fb84184c80eeb4bffbad2882a055ab63d0",
      "parents": [
        "5be534025b0346bf6b3143fd5d20136b093ba2a8"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 23 09:45:15 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 23 09:45:27 2026 -0400"
      },
      "message": "removing unused test\n"
    },
    {
      "commit": "5be534025b0346bf6b3143fd5d20136b093ba2a8",
      "tree": "5ce26ed526de619d023b59f0a43557ac7ee1a816",
      "parents": [
        "69e71b8bea7f291bd1892822ee54a721a49819b1"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 23 15:12:23 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 23 15:12:23 2026 +0400"
      },
      "message": "CAY-3057 Improve parameter binding in the query parser\n"
    },
    {
      "commit": "69e71b8bea7f291bd1892822ee54a721a49819b1",
      "tree": "a2656bcb3d512cd06acfef818de9dbdfa52f46af",
      "parents": [
        "9a35b899e4432706a8786ade002c02cd77814466"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 18:56:01 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 19:03:18 2026 -0400"
      },
      "message": "DbAttribute.isForeignKey() is conceptually wrong, removing\n"
    },
    {
      "commit": "9a35b899e4432706a8786ade002c02cd77814466",
      "tree": "e05578b2aa4f13fd57f87ef66ac3d495f71cfc25",
      "parents": [
        "0bae842186c41e5a4e7b3946225819fec56fa7f3"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 18:24:35 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 18:34:03 2026 -0400"
      },
      "message": "Refactoring...\n\n* Since runtime auto-creates reverse DbRelationships, runtime-only reverse null checks are uneeded\n* isToOneTargetModified can be hidden in DataRwoUtils\n"
    },
    {
      "commit": "0bae842186c41e5a4e7b3946225819fec56fa7f3",
      "tree": "0e8d255c398c912ff689f4e78176d25043a14897",
      "parents": [
        "4fdc44f08c32d3bd7314839305d823789d7eb9c5"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:41:00 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:41:00 2026 -0400"
      },
      "message": "Using new API for map sizing\n\nsome of it fixes incorrectly-sized maps, others are just syntactic sugar\n"
    },
    {
      "commit": "4fdc44f08c32d3bd7314839305d823789d7eb9c5",
      "tree": "32ba05fcaab0dd103ad70a3e900e7c2d8ed57024",
      "parents": [
        "06192f48fa0115f8e6199fdc87989a51b429b590"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:36:03 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:36:03 2026 -0400"
      },
      "message": "minor cleanup\n"
    },
    {
      "commit": "06192f48fa0115f8e6199fdc87989a51b429b590",
      "tree": "620897231db369883f68eab57464b77ab3fe81c8",
      "parents": [
        "8e1623cd936952600e741c6111b51136db2c0351"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:26:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:35:04 2026 -0400"
      },
      "message": "removing unused APIs, inlining some\n"
    },
    {
      "commit": "8e1623cd936952600e741c6111b51136db2c0351",
      "tree": "d6e03d216ec12bcc5e10386fd397bbb81f22fed0",
      "parents": [
        "f3e6b2108dbc0b39606346809bc9b90771abc87f"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:20:16 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:20:16 2026 -0400"
      },
      "message": "CAY-3054 Remove ObjRelationship.isReadOnly()\n"
    },
    {
      "commit": "f3e6b2108dbc0b39606346809bc9b90771abc87f",
      "tree": "336988185e9990fb51735de1b64e3ae0a0946659",
      "parents": [
        "2c2cd5206eb1d789959aac6fee424a68e80c1e69"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:08:13 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:08:13 2026 -0400"
      },
      "message": "removing unused API\n"
    },
    {
      "commit": "2c2cd5206eb1d789959aac6fee424a68e80c1e69",
      "tree": "fd353e832e2d017e8db5fdbf8a8a884a3432aa19",
      "parents": [
        "dec898018ef996e6a0b98f973db136bcf5c2f70a"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Oct 17 10:14:59 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 19 17:04:00 2026 -0400"
      },
      "message": "Tight relationship semantics\n"
    },
    {
      "commit": "dec898018ef996e6a0b98f973db136bcf5c2f70a",
      "tree": "fefe41ffb93838ab64f15fdde6b3ca5a2e2d485f",
      "parents": [
        "bc70d6aa52c3db39c33327432e7955064bffe7cc"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 16 17:57:26 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Oct 16 17:58:54 2026 -0400"
      },
      "message": "CAY-3053 Untyped #bind of java.time values fails with \"conversion to VARBINARY is not supported\"\n"
    },
    {
      "commit": "bc70d6aa52c3db39c33327432e7955064bffe7cc",
      "tree": "7a0eb4f3f3bd9b15c2a1f1d6f21c0b40266c2d63",
      "parents": [
        "78785e4e4ec3a4df13366edd2d20151ee33cea02"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 16 11:54:45 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Oct 16 11:54:45 2026 +0400"
      },
      "message": "CAY-3052 Modeler: inconsistent classloading in dbimport\n"
    },
    {
      "commit": "78785e4e4ec3a4df13366edd2d20151ee33cea02",
      "tree": "4c9de6b99e92ded6423a4b6c76c1c8b4ce19dabd",
      "parents": [
        "513c8791a6c2c74d6f1260a461422779ca290230"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Oct 14 13:35:22 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Oct 14 15:19:32 2026 -0400"
      },
      "message": "CAY-3050 Array-based DataRows\n"
    },
    {
      "commit": "513c8791a6c2c74d6f1260a461422779ca290230",
      "tree": "1dcd54a0ded20bd7de5deca7946ff1f79c387d20",
      "parents": [
        "858fed41e903daf7b293979078d6a41d6c962bf9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Oct 14 13:35:22 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Oct 14 14:51:41 2026 -0400"
      },
      "message": "CAY-3050 Array-based DataRows\n\n1. Pure array row, with layout cached in ClassDescriptor\n2. Side effect - null FKs are now explicitly recorded in object snapshots\n   This is arguably the correct way vs how we previously ignored it\n"
    },
    {
      "commit": "858fed41e903daf7b293979078d6a41d6c962bf9",
      "tree": "59762e11fc1b407842986ca8a762fd95092b15d3",
      "parents": [
        "183d9c2b266bb7bed3ee9e7ecc2952829f13deeb"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Oct 13 19:27:08 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Oct 13 19:27:11 2026 -0400"
      },
      "message": "Do not wrap IDs in a TreeMap when assembling prefetches\n\nThis is an opportunistic performance improvement\n"
    },
    {
      "commit": "183d9c2b266bb7bed3ee9e7ecc2952829f13deeb",
      "tree": "cd6c30da45d39effdf6766b5b4aeffe790255c94",
      "parents": [
        "dfae921122763bf5471421503b1abcd4c35a728c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 12 19:10:39 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Oct 13 19:13:41 2026 -0400"
      },
      "message": "CAY-3050 Array-based DataRows\n\ninitial version\n"
    },
    {
      "commit": "dfae921122763bf5471421503b1abcd4c35a728c",
      "tree": "d9d5ac7903dff57f4db4a0622c78fec2baa56989",
      "parents": [
        "458172f4a5c900ac9b1544ed29e6ccd9c948820c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Oct 13 07:42:32 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Oct 13 07:49:39 2026 -0400"
      },
      "message": "upgarde md spaces\n"
    },
    {
      "commit": "458172f4a5c900ac9b1544ed29e6ccd9c948820c",
      "tree": "e4cb49f80addd889ccfff08e343a2fcbfe026295",
      "parents": [
        "81df7b811afc2513ff2f9ef3c496d267d582e09c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Oct 13 07:42:32 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Oct 13 07:42:32 2026 -0400"
      },
      "message": "upgarde md spaces\n"
    },
    {
      "commit": "81df7b811afc2513ff2f9ef3c496d267d582e09c",
      "tree": "ebfa20328a72cd3913bdfdd7600a59a65f6997bf",
      "parents": [
        "3d4642e9872372fb0dfa640b9cbfab61d7c794bb"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 12 19:49:06 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 12 19:49:06 2026 -0400"
      },
      "message": "CAY-3051 Replace PropertyVisitor with a switch\n"
    },
    {
      "commit": "3d4642e9872372fb0dfa640b9cbfab61d7c794bb",
      "tree": "cdb93dd20ffdd518e01029466ff53b13e01f1dc1",
      "parents": [
        "2e5eca054b9fe05b36f0da15566c2200052dad82"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 12 17:21:03 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 12 17:21:03 2026 -0400"
      },
      "message": "CAY-3048 ObjectStore to reduce lock scope to per-object\n\nDataRow.replacesVersion is no lomger in use, removing\n"
    },
    {
      "commit": "2e5eca054b9fe05b36f0da15566c2200052dad82",
      "tree": "99a2696ce29e55e34111f77c5499a66767563f46",
      "parents": [
        "2b4fbb4bab8dd44b8ce2e8a48381b1e2b0bf0d47"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 12 13:45:15 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 12 13:50:20 2026 -0400"
      },
      "message": "CAY-3049 Cheap ClockMap to replace ConcurrentLinkedHashMap\n"
    },
    {
      "commit": "2b4fbb4bab8dd44b8ce2e8a48381b1e2b0bf0d47",
      "tree": "5f840cd4a70571ed3d4c675f703b96b0b6cb9687",
      "parents": [
        "fbbc2af6dd07caa27d22bc054a3cd9be18b1d637"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 12 13:16:57 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Oct 12 13:16:57 2026 -0400"
      },
      "message": "CAY-3047 Per-statement \"snapshotVersion\"\n\nallowing cached rows with odler versions to stay\nin the cache if they did not change for performance reasons\n"
    },
    {
      "commit": "fbbc2af6dd07caa27d22bc054a3cd9be18b1d637",
      "tree": "1e8c4f7be9ca5bd6ae90def259856313d6503c66",
      "parents": [
        "345f1ce042cf55f2dc5caeb9984c03baf1715e1e"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Mon Oct 12 18:09:16 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Mon Oct 12 18:09:16 2026 +0400"
      },
      "message": "Fix deprecation warnings\n"
    },
    {
      "commit": "345f1ce042cf55f2dc5caeb9984c03baf1715e1e",
      "tree": "e19cae9837d89cf29f6927c6511eb3953bbe0e52",
      "parents": [
        "0f4e36c3db416fd3e489b079ac64cc5d88fd90e3"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 11 15:07:26 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 11 17:32:38 2026 -0400"
      },
      "message": "CAY-3048 ObjectStore to reduce lock scope to per-object\n"
    },
    {
      "commit": "0f4e36c3db416fd3e489b079ac64cc5d88fd90e3",
      "tree": "a3e45f9c30e3c5495fc3cb044d6557acdd81046f",
      "parents": [
        "3ddcc2aa8aeebc029c0e6cc9425e678b4245ddac"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 11 15:53:38 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 11 15:53:38 2026 -0400"
      },
      "message": "cleanup -ShallowMergeOperation should be private\n"
    },
    {
      "commit": "3ddcc2aa8aeebc029c0e6cc9425e678b4245ddac",
      "tree": "bd3b5e324d65a7bdc9121f4b192fdf45c9344791",
      "parents": [
        "44e28c5afdfb218d1f71695ff1eb49c12a70bad5"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 11 13:16:45 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 11 15:46:26 2026 -0400"
      },
      "message": "Smallish local optimization - avoid proactive fault injection during object lookup\n\nthis should not be needed\n"
    },
    {
      "commit": "44e28c5afdfb218d1f71695ff1eb49c12a70bad5",
      "tree": "a4dc41ec8cfa731dc78f2751a57073bbbecba689",
      "parents": [
        "8e53c30c5406f091e376a29c9c5fbfb5df1457c3"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 11 15:07:26 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 11 15:40:48 2026 -0400"
      },
      "message": "CAY-3048 ObjectStore to reduce lock scope to per-object\n\nstep 1 - refactor ReferenceMap:\n* get rid of ReferenceMap locks\n* switch it to concurrent map\n* make it private (no more EventSubject retaining in a static map)\n"
    },
    {
      "commit": "8e53c30c5406f091e376a29c9c5fbfb5df1457c3",
      "tree": "69b83ac367fe591e3d1cd51df1a39ccbf0424e0a",
      "parents": [
        "977931f6f7cf972faf0f7043a6618c089c8d5b99"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 11 11:37:36 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Oct 11 12:00:44 2026 -0400"
      },
      "message": "refactoring DataRow structure\n\n* private vars\n"
    }
  ],
  "next": "977931f6f7cf972faf0f7043a6618c089c8d5b99"
}
