)]}'
{
  "log": [
    {
      "commit": "33197a4ebb1bac7e75bc569948392ce2b9ded94b",
      "tree": "5ac7d1797f1aa2f911c629d5217dc93ba56a6aad",
      "parents": [
        "73ab69d870d7c7f6afa1219d62855e703f098942"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 19:34:05 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 19:47:46 2026 -0400"
      },
      "message": "docs cleanup\n"
    },
    {
      "commit": "73ab69d870d7c7f6afa1219d62855e703f098942",
      "tree": "4eafada5909b563f28bbbd31914c41203158c732",
      "parents": [
        "c696a38d41d5ba1dce8de644b3ee59eba84a0cac"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 19:34:05 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 19:46:29 2026 -0400"
      },
      "message": "docs cleanup\n"
    },
    {
      "commit": "c696a38d41d5ba1dce8de644b3ee59eba84a0cac",
      "tree": "acb49e76c63e21fe320df0b880b15d43c0b453d1",
      "parents": [
        "c74d90c8e378798ed0c597f741c4c8a0b39881b0"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 19:34:05 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 19:41:43 2026 -0400"
      },
      "message": "docs cleanup\n"
    },
    {
      "commit": "c74d90c8e378798ed0c597f741c4c8a0b39881b0",
      "tree": "10674290dcadb99e53b97ef59f6daef0fe174281",
      "parents": [
        "2876dd30884570387e2baeefb42422e8b1c0a669"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 19:34:05 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 19:34:05 2026 -0400"
      },
      "message": "fixing Claude instructions\n"
    },
    {
      "commit": "2876dd30884570387e2baeefb42422e8b1c0a669",
      "tree": "c118741c9f2b0dfaa77af3f16cda7046024ad78d",
      "parents": [
        "8d401f85d21ab9d7bfec3c5007f3919a38ca46ab"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:06:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:51:16 2026 -0400"
      },
      "message": "Docs: content cleanup\n"
    },
    {
      "commit": "8d401f85d21ab9d7bfec3c5007f3919a38ca46ab",
      "tree": "4a45f096db8d1b4b8c2d25e437df2c7dca5737f8",
      "parents": [
        "9c49d09df7d601735245a320486c6a5f981f9053"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:06:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:38:50 2026 -0400"
      },
      "message": "Docs: content cleanup\n\n* modeler reorg\n"
    },
    {
      "commit": "9c49d09df7d601735245a320486c6a5f981f9053",
      "tree": "fc74e92bc1f44a2ea154353833f296b3083e647a",
      "parents": [
        "d62a193bec77b2712743bcf623982b202cd483df"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:06:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:28:41 2026 -0400"
      },
      "message": "Docs: content cleanup\n\n* flatten \"ORM\" chapter\n"
    },
    {
      "commit": "d62a193bec77b2712743bcf623982b202cd483df",
      "tree": "bf8ebbd5ba008ce62a41daf48e67e6888677db7b",
      "parents": [
        "02ca76a26426f198f922e1ec24cd4f81a5800af9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:06:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:20:22 2026 -0400"
      },
      "message": "Docs: content cleanup\n\n* proper rel / attribute names\n"
    },
    {
      "commit": "02ca76a26426f198f922e1ec24cd4f81a5800af9",
      "tree": "0da5e0d06094e56010fdd4335f91279676c9dc9e",
      "parents": [
        "d43ab4ed0a39be6f7f1a32b06d5edb16a9914042"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:06:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:14:00 2026 -0400"
      },
      "message": "Docs: content cleanup\n"
    },
    {
      "commit": "d43ab4ed0a39be6f7f1a32b06d5edb16a9914042",
      "tree": "4cafe57c088725739af968240e871b64a3bd9a9a",
      "parents": [
        "a6ec582132c6f41601269644fa7a2664eaca1eb9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:06:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:09:18 2026 -0400"
      },
      "message": "Docs: content cleanup\n\n+ QL\n- EJBQL\n"
    },
    {
      "commit": "a6ec582132c6f41601269644fa7a2664eaca1eb9",
      "tree": "a13a447970b8518f8e00d53479595f62c9f8973a",
      "parents": [
        "6da2bd16db72e62a8190fc7ac34a43d00f757ed4"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:06:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 18:06:20 2026 -0400"
      },
      "message": "Docs: content cleanup\n"
    },
    {
      "commit": "6da2bd16db72e62a8190fc7ac34a43d00f757ed4",
      "tree": "66ff081e75e807d9902d24d68b610e61201ea748",
      "parents": [
        "4661c0c52264718fd844b06433b70fd4dcc5790b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 17:55:52 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 17:55:52 2026 -0400"
      },
      "message": "Docs: experimenting with chapter numbering\n"
    },
    {
      "commit": "4661c0c52264718fd844b06433b70fd4dcc5790b",
      "tree": "fd80573e2eb89e8bf3a2b383073b067fd20b6242",
      "parents": [
        "b69a47e7cd641ef131884b13276661cd921ef30c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 17:50:54 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 17:50:54 2026 -0400"
      },
      "message": "docs structure cleanup\n"
    },
    {
      "commit": "b69a47e7cd641ef131884b13276661cd921ef30c",
      "tree": "5173944067374ecb789561f8fae40d395911a268",
      "parents": [
        "b366ca494e23faf9822604ddf6e50bf184e372c9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 16:57:27 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 17:42:21 2026 -0400"
      },
      "message": "docs: flattenning \"Cayenne Framework\" chapter, unifying docs file naming\n"
    },
    {
      "commit": "b366ca494e23faf9822604ddf6e50bf184e372c9",
      "tree": "12279aaf4993180c77cecf43252106422e92c2c1",
      "parents": [
        "cb311acf5e94b14cbab262191b51a2c14a7699b3"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 16:57:27 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 17:16:37 2026 -0400"
      },
      "message": "docs: removing section numbers... too verbose\n"
    },
    {
      "commit": "cb311acf5e94b14cbab262191b51a2c14a7699b3",
      "tree": "0057ea07e00a812ccbf6dce9df0d985861b69d15",
      "parents": [
        "36595365ec138c35e72248dc1655ceda62f53110"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 16:57:27 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 17:13:45 2026 -0400"
      },
      "message": "docs: fixing assembly issue\n"
    },
    {
      "commit": "36595365ec138c35e72248dc1655ceda62f53110",
      "tree": "d84c54ed146388dd84c85a9da641122ec42fd50a",
      "parents": [
        "38a3628e3348446d8868bf6b6a8fd76beefd505b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 16:57:27 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 16:57:27 2026 -0400"
      },
      "message": "docs: merging DB first into getting started and rewriting the tutorial\n"
    },
    {
      "commit": "38a3628e3348446d8868bf6b6a8fd76beefd505b",
      "tree": "9c9cc59287b6c1e02bf3b570c7e3d180404f8609",
      "parents": [
        "1fc36635c7ef338ac6cefed0f6851ae822ede993"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 16:27:52 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 16:27:52 2026 -0400"
      },
      "message": "docs: updating SQL log output format\n"
    },
    {
      "commit": "1fc36635c7ef338ac6cefed0f6851ae822ede993",
      "tree": "4217198f0fce35e3b706d94a0211688b7f870c9c",
      "parents": [
        "c5d1d54096f8349ee1cdf6a5ee301611841f07da"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 16:06:17 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 16:06:17 2026 -0400"
      },
      "message": "reordering chapters\n"
    },
    {
      "commit": "c5d1d54096f8349ee1cdf6a5ee301611841f07da",
      "tree": "6422ffe12eb701e2a9275baf0863c3ba8f781486",
      "parents": [
        "f803bff73fc920894bb209432c6614586dcd4471"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 14:44:14 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 14:58:36 2026 -0400"
      },
      "message": "Moving docs code snippets into compiled tests\n\n... fixing stale docs\n"
    },
    {
      "commit": "f803bff73fc920894bb209432c6614586dcd4471",
      "tree": "79bb5116b923285acb9f3c66779406cbef46ed49",
      "parents": [
        "c20f29168fb7741270533e3fd69ec2f6050a61b2"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 14:44:14 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 14:44:14 2026 -0400"
      },
      "message": "Moving docs code snippets into compiled tests\n"
    },
    {
      "commit": "c20f29168fb7741270533e3fd69ec2f6050a61b2",
      "tree": "848db390f150ee0582e4f889b08b6fbdcd7bc82a",
      "parents": [
        "7fbddba44399f9a083f335db70b4afc8635472f5"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 12:47:31 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 13:32:01 2026 -0400"
      },
      "message": "CAY-3026 Parseable ObjectSelect / ColumnSelect\n\ndocs\n"
    },
    {
      "commit": "7fbddba44399f9a083f335db70b4afc8635472f5",
      "tree": "cc52a4eac42c1c1b5bcee09372ca9285fee5c2ed",
      "parents": [
        "8ece7019fedbf79b371f5bb18a1aec9cc4f49db3"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 12:47:31 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 13:02:36 2026 -0400"
      },
      "message": "CAY-3026 Parseable ObjectSelect / ColumnSelect\n"
    },
    {
      "commit": "8ece7019fedbf79b371f5bb18a1aec9cc4f49db3",
      "tree": "8a415d5074f9a46f64c04bc015b7a1bcd859e6bc",
      "parents": [
        "202aa1ed06c4d84751b86a9cd16683192004b7af"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 12:45:26 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 12:45:26 2026 -0400"
      },
      "message": "Proper exists and friends to string conversion\n"
    },
    {
      "commit": "202aa1ed06c4d84751b86a9cd16683192004b7af",
      "tree": "3b935e73bae0b359fb61a3908712e9df3b680f5f",
      "parents": [
        "7aebdc1a3fc44ddb015a0befbd7319de35abc68f"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 12:20:23 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 12:20:23 2026 -0400"
      },
      "message": "CAY-3033 Selects with subqueries produce conflicting cache keys\n"
    },
    {
      "commit": "7aebdc1a3fc44ddb015a0befbd7319de35abc68f",
      "tree": "d7461a11f38efd5a48eefef3a9a01008b06b1105",
      "parents": [
        "b55fecde367d0c76724d515f59722f11222ed124"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 12:00:26 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 12:08:19 2026 -0400"
      },
      "message": "CAY-3032 ColumnSelect: an entity column over a to-many relationship filters out root rows with no related objects\n"
    },
    {
      "commit": "b55fecde367d0c76724d515f59722f11222ed124",
      "tree": "9ab4b639f8890188c40c1a6b310d962504d92cda",
      "parents": [
        "fbe64513a603535ca3a1b924d6f48c9c514f739c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 11:43:33 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 11:43:33 2026 -0400"
      },
      "message": "CAY-3031 Expression parameter names may conflict with function names\n"
    },
    {
      "commit": "fbe64513a603535ca3a1b924d6f48c9c514f739c",
      "tree": "81368f179e461ca4aa65b011d801c170f54ed524",
      "parents": [
        "0dcdcca3ac7bf4a197ddb078473f4339886863d5"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 10:11:57 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 11:30:12 2026 -0400"
      },
      "message": "Refactoring: implicit treatment of to-many segments of a ColumSelect as \"flat\"\n\ncleanup\n"
    },
    {
      "commit": "0dcdcca3ac7bf4a197ddb078473f4339886863d5",
      "tree": "2d7cf6f66482930cb17ab326bef733f5671bf4f7",
      "parents": [
        "34b8869227d32b36b07985cb4c28f7dcd2a4d2be"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 10:11:57 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 20 11:25:40 2026 -0400"
      },
      "message": "Refactoring: implicit treatment of to-many segments of a ColumSelect as \"flat\"\n\n* simplifying the internal \"flat\" representation (ASTObjPath(\"paintingArray\")\n  instead of ASTFullObject(ASTObjPath(\"paintingArray\")))\n* removing ASTFullObject flavor that takes a path, as it is now redundant. To-many\n  path exp behaves is \"flat\" now by default. \"flat\" is only used for type-casting the result\n"
    },
    {
      "commit": "34b8869227d32b36b07985cb4c28f7dcd2a4d2be",
      "tree": "663239e0db3e0b62e64195592b9da76a9cd179f7",
      "parents": [
        "7c430ab7dcf1bd8d83c8b478c1e7cfadea398a17"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Sep 18 15:03:32 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Sep 18 15:03:32 2026 -0400"
      },
      "message": "removing method with System.out.println()\n"
    },
    {
      "commit": "7c430ab7dcf1bd8d83c8b478c1e7cfadea398a17",
      "tree": "17ad76cf06353ed4ee8ca66fddb1542437bc5891",
      "parents": [
        "be8bf4047661cade90e09721ac1b18955376ce07"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Sep 18 14:51:26 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Sep 18 15:01:08 2026 -0400"
      },
      "message": "CAY-3030 Cayenne stack must be able to start without touching the DataSource\n"
    },
    {
      "commit": "be8bf4047661cade90e09721ac1b18955376ce07",
      "tree": "c61203d8395455b394d7b4f0f7787c0fafea5dba",
      "parents": [
        "09ddcb7ea53ee11833cfb5ef17f4022d3ef3de02"
      ],
      "author": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Sep 18 12:18:59 2026 +0300"
      },
      "committer": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Sep 18 12:18:59 2026 +0300"
      },
      "message": "CAY-2779 \"Nullify\" delete rules is not processed with n:m and inheritance hierarchy\n"
    },
    {
      "commit": "09ddcb7ea53ee11833cfb5ef17f4022d3ef3de02",
      "tree": "5144a994157748cf1dc397b4e8dac4fff0288ba9",
      "parents": [
        "9e44d33bebf6b745af5741b4a305b334f08fe898"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 16 08:11:42 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 16 08:54:19 2026 -0400"
      },
      "message": "Allowing column Properties with \"null\" types\n\nThis should be transparent to the end users, but will allow parsing\nselects from Strings (and maybe, declaring columns as Expressions\ninstead of Properties)\n"
    },
    {
      "commit": "9e44d33bebf6b745af5741b4a305b334f08fe898",
      "tree": "86a842e31efba78e81ccd049f3563936d3dff792",
      "parents": [
        "01c6b155682529538d482f3ee6faa4c4f4f1f795"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Sep 15 18:28:31 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 16 08:54:19 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "01c6b155682529538d482f3ee6faa4c4f4f1f795",
      "tree": "44102ecad0695d63cfd00ddb0dc2d77c23cb6c26",
      "parents": [
        "c9f13c022ec39ddef2c9045512762dcd4631b1f8"
      ],
      "author": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Mon Sep 14 17:09:37 2026 +0300"
      },
      "committer": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Mon Sep 14 17:09:37 2026 +0300"
      },
      "message": "CAY-3028 Im-memory evaluation of ASTSum\n"
    },
    {
      "commit": "c9f13c022ec39ddef2c9045512762dcd4631b1f8",
      "tree": "c3c63b67e7c4e10f24d57be17fbc6236d365f8e2",
      "parents": [
        "437332c6039c2451b6569b4dd882203917624fd9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 16:33:17 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 16:36:34 2026 -0400"
      },
      "message": "refactoring\n"
    },
    {
      "commit": "437332c6039c2451b6569b4dd882203917624fd9",
      "tree": "01c353746b442e8395a0bf01c2c6df13220c8873",
      "parents": [
        "3644831781232150c442df02054603aa9bf396c0"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 16:16:48 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 16:16:48 2026 -0400"
      },
      "message": "Proper naming convention for IT tests\n"
    },
    {
      "commit": "3644831781232150c442df02054603aa9bf396c0",
      "tree": "b630223e5cedf1efe78360fd235ebc6cfc6daa6f",
      "parents": [
        "59bb621892965e27a700bbc00b7591f0f3ffe0ad"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 16:15:04 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 16:15:04 2026 -0400"
      },
      "message": "CAY-3027 Replace lifecycle StringIdQuery with StringIdFetcher\n"
    },
    {
      "commit": "59bb621892965e27a700bbc00b7591f0f3ffe0ad",
      "tree": "ce588ae97f1f5ec044098fecd81ec2599c0dd95b",
      "parents": [
        "e9658d90bf9b8553fe20d24831803d96a03f9c2b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 15:09:32 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 15:09:32 2026 -0400"
      },
      "message": "Query hierarchy cleanup\n\nCacheableQuery superclass is gone\n"
    },
    {
      "commit": "e9658d90bf9b8553fe20d24831803d96a03f9c2b",
      "tree": "445621cf623fdf23a587c6c4fda6fecb24dfdbc4",
      "parents": [
        "4bde292c6544c5483ac8628a056e09afbd51dcf3"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 12:24:54 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 12:24:54 2026 -0400"
      },
      "message": "Execution stack should not mutate QueryMetadata result segments\n\npreviously SQLTemplateAction did that implicitly and SQLResultStage - explicitly via a setter\n"
    },
    {
      "commit": "4bde292c6544c5483ac8628a056e09afbd51dcf3",
      "tree": "437c02f1194230188542e149b5ac794429f77ed8",
      "parents": [
        "28b57e3cc40f418f0763d659507202d1a4060898"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 12:05:05 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 12:05:05 2026 -0400"
      },
      "message": "Fixing event hierarchy\n"
    },
    {
      "commit": "28b57e3cc40f418f0763d659507202d1a4060898",
      "tree": "dfe2b78d7bdaa1c2761e52fbbfdbd43e69104f4f",
      "parents": [
        "bea309eceeb72ffedde90c4159d5cc3edaa89e84"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 11:53:31 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 11:55:39 2026 -0400"
      },
      "message": "EventUtil inlined\n"
    },
    {
      "commit": "bea309eceeb72ffedde90c4159d5cc3edaa89e84",
      "tree": "e894afed61863360d1cba68741a601f8ca6b7294",
      "parents": [
        "71095d54f11e243e29597052a24424a990fc7925"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 11:42:24 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 11:46:46 2026 -0400"
      },
      "message": "Modernizing EventManager\n\nusing lambdas as event callbacks instead of method names\n"
    },
    {
      "commit": "71095d54f11e243e29597052a24424a990fc7925",
      "tree": "791d23731d5ee73214facb86ff5b229356d0bb60",
      "parents": [
        "32bd686a72402f84a0e19909d42acb3022384078"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 11:20:30 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 11:20:30 2026 -0400"
      },
      "message": "Removing SQLResult map from DataMap\n\nmapped version of SQL result was not really supported or used for anything. Dead code\n"
    },
    {
      "commit": "32bd686a72402f84a0e19909d42acb3022384078",
      "tree": "8cd3d6fe12142241b06914f3c8d3fd829a6b9f17",
      "parents": [
        "607cb15a7d1584e1f66c49b91704614f7189488b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:44:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:44:55 2026 -0400"
      },
      "message": "Modeling QueryMeytadata.getResultSetMapping() as a new sealed interface - ResultSegment\n"
    },
    {
      "commit": "607cb15a7d1584e1f66c49b91704614f7189488b",
      "tree": "44723238cf3b6ab58332fb0ef602d7cce51e182d",
      "parents": [
        "5f088eb1f3ff3ed7f69c9673cbf25d2be1d99fdc"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:36:09 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:36:09 2026 -0400"
      },
      "message": "Query API cleanup - XML property parsing moved to\n\ndescriptors where it belongs. Descriptors now init queries\n"
    },
    {
      "commit": "5f088eb1f3ff3ed7f69c9673cbf25d2be1d99fdc",
      "tree": "af8141389b47aa0f2a9ff8cab7e6caa2d5b15760",
      "parents": [
        "dbc654c4ddb26ec3e3dd41ff79109131fd40191c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:26:59 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:26:59 2026 -0400"
      },
      "message": "removing unused\n"
    },
    {
      "commit": "dbc654c4ddb26ec3e3dd41ff79109131fd40191c",
      "tree": "73dc079bb8575151cd3a5254899096a981055ca8",
      "parents": [
        "4e0bbee51da3534fa04c71d5622ec34490258014"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:17:09 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:17:09 2026 -0400"
      },
      "message": "clarifying Javadocs\n"
    },
    {
      "commit": "4e0bbee51da3534fa04c71d5622ec34490258014",
      "tree": "e362a70445f5f519560a49398bbc7bb5a07df3c9",
      "parents": [
        "8c5b8dd71eb6e76269179ad37700e0e7d584d3c2"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:01:06 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:01:06 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "8c5b8dd71eb6e76269179ad37700e0e7d584d3c2",
      "tree": "dc247140d725a3b62c17a018b38c671882386570",
      "parents": [
        "345655e79d5c66f3b357e9dbd88c283883b5ed5c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 09:40:48 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 13 10:00:10 2026 -0400"
      },
      "message": "CAY-3007 Deprecate SelectById\n"
    },
    {
      "commit": "345655e79d5c66f3b357e9dbd88c283883b5ed5c",
      "tree": "71a46a3072e7915805f5e79f364802d0093dd8d7",
      "parents": [
        "4532016e58e04d1f0a87781e83bb7e9219710540"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 17:07:30 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 17:07:30 2026 -0400"
      },
      "message": "CAY-3024 Replace QueryResponse with List\u003cQueryResult\u003e\n\nrenaming QUeryResultItem to QueryResult\n"
    },
    {
      "commit": "4532016e58e04d1f0a87781e83bb7e9219710540",
      "tree": "6171eddbe70569c0f0fdc77057bb15e63654de0a",
      "parents": [
        "59474fae392fdd69ebf0c5e3176b3ac1006887d2"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:02:06 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 17:01:57 2026 -0400"
      },
      "message": "CAY-3025 ObjectContext to require/return Persistent for all object ops\n\ncleanup..\n"
    },
    {
      "commit": "59474fae392fdd69ebf0c5e3176b3ac1006887d2",
      "tree": "3c45b6ab8ae1bb54f763e3e7f42c3080e7425a0c",
      "parents": [
        "7805a829e5f3bd375cb46c264affeb9b53eb8512"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:02:06 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:59:14 2026 -0400"
      },
      "message": "CAY-3025 ObjectContext to require/return Persistent for all object ops\n\ncleanup..\nmoving \"newObject\" to the ObjectCOntext interface level\n"
    },
    {
      "commit": "7805a829e5f3bd375cb46c264affeb9b53eb8512",
      "tree": "3c30edaf06a3ec2c2fd82a73ba6ecd39e946e701",
      "parents": [
        "56f946d895dd92c9ebce00e7b29a4192410f90b1"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:02:06 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:55:25 2026 -0400"
      },
      "message": "CAY-3025 ObjectContext to require/return Persistent for all object ops\n\nAlso replacing Object nodeId with ObjectId\n"
    },
    {
      "commit": "56f946d895dd92c9ebce00e7b29a4192410f90b1",
      "tree": "fb0a4502399d3165062a1b2c4bbf2a729dddd3fa",
      "parents": [
        "9027ae4cdaf5e788f4580082a7fe2ad522a10adf"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:02:06 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:35:16 2026 -0400"
      },
      "message": "No more GraphManager. ObjectContext to expose ObjectStore\n\npolishing API, cleanup\n"
    },
    {
      "commit": "9027ae4cdaf5e788f4580082a7fe2ad522a10adf",
      "tree": "37a3edc1c462f73abb3dd7fe256a0ae01fc7340b",
      "parents": [
        "a72e595dfe2f892837988eb5e01b5bbb87ccc6fd"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:02:06 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:30:30 2026 -0400"
      },
      "message": "No more GraphManager. ObjectContext to expose ObjectStore\n"
    },
    {
      "commit": "a72e595dfe2f892837988eb5e01b5bbb87ccc6fd",
      "tree": "596121f61017266a9fa0db23fb92ae1be5e2c271",
      "parents": [
        "8b1c0e940c996b6f0b2277a2ee356ce98961cfd8"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:02:06 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 16:07:18 2026 -0400"
      },
      "message": "CAY-3025 ObjectContext to require/return Persistent for all object ops\n"
    },
    {
      "commit": "8b1c0e940c996b6f0b2277a2ee356ce98961cfd8",
      "tree": "646e7b047cc648c3c2ad3185055934582810fcd7",
      "parents": [
        "d481ff8159edef3c84fbaa52e165a55f4ef276af"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 15:26:54 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 15:51:02 2026 -0400"
      },
      "message": "DataContext must own ObjectStore creation to set bi-directional ref\n"
    },
    {
      "commit": "d481ff8159edef3c84fbaa52e165a55f4ef276af",
      "tree": "9d223b0969a654e98e0fe390ddd3e78108a631d1",
      "parents": [
        "cbaff5475cba63b83ecbf92bb4399cbcc565fca7"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 15:41:51 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 15:41:51 2026 -0400"
      },
      "message": "fixing tests\n"
    },
    {
      "commit": "cbaff5475cba63b83ecbf92bb4399cbcc565fca7",
      "tree": "6f41b3364fc417802eade1dbcb01c8b27db57c02",
      "parents": [
        "3b4e5214c5425b4a325ba6236e40f6c40bb16ebd"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 15:26:54 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 15:39:33 2026 -0400"
      },
      "message": "DataContext must own ObjectStore creation to set bi-directional ref\n"
    },
    {
      "commit": "3b4e5214c5425b4a325ba6236e40f6c40bb16ebd",
      "tree": "9bd3f106ac2bf47e0b83aead2f37c150f68e4315",
      "parents": [
        "17a7a9a5f4e5a82e366d984b800f8c50f80a6bce"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 15:06:06 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 15:08:56 2026 -0400"
      },
      "message": "cleanup, missing tests\n"
    },
    {
      "commit": "17a7a9a5f4e5a82e366d984b800f8c50f80a6bce",
      "tree": "71e8ec6d6a80c317f2f23a5fe933535698b2d9ac",
      "parents": [
        "6064048226ef354d179fe9238e78795a8baa9fd0"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 11:49:33 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 14:55:17 2026 -0400"
      },
      "message": "CAY-3022 Cleanup ObjectContext / DataContext query API\n\n4. deprecating DataContext performXyzQuery methods\n"
    },
    {
      "commit": "6064048226ef354d179fe9238e78795a8baa9fd0",
      "tree": "ba2b6ea138397ec1908789fb79757ffbd1945d6b",
      "parents": [
        "8b5b8c5ec54653d5abedf7f01de6a26343ba4833"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 11:49:33 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 14:46:14 2026 -0400"
      },
      "message": "CAY-3022 Cleanup ObjectContext / DataContext query API\n\n3. replace \"performGenericQuery\" with \"execute\"\n"
    },
    {
      "commit": "8b5b8c5ec54653d5abedf7f01de6a26343ba4833",
      "tree": "528e9ea7c7923d8fa0c83e2785ce286ca0e7d9aa",
      "parents": [
        "379ed2e06e4fc65b8dd83a59e6173d1c9040e623"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 11:49:33 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 14:38:27 2026 -0400"
      },
      "message": "CAY-3022 Cleanup ObjectContext / DataContext query API\n\n1. deprecate \"ObjectContext.performQuery(Query query)\"\n2. deprecate \"Cayenne.objectForQuery(..)\"\n"
    },
    {
      "commit": "379ed2e06e4fc65b8dd83a59e6173d1c9040e623",
      "tree": "2055f1beacd43f5bb6f86b98cc742955af5cfbb3",
      "parents": [
        "4b3133f90eb5ab7146bfa7f196bc96a0f4ff6207"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 14:11:52 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 14:32:59 2026 -0400"
      },
      "message": "CAY-3024 Replace QueryResponse with List\u003cQueryResultItem\u003e\n\ncleanup\n"
    },
    {
      "commit": "4b3133f90eb5ab7146bfa7f196bc96a0f4ff6207",
      "tree": "515b5413ab5923aebc339b121e5ed96ac756bf68",
      "parents": [
        "b84f992050d9c8975903c3b1fc91afc2eda64678"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 14:11:52 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 14:13:48 2026 -0400"
      },
      "message": "CAY-3024 Replace QueryResponse with List\u003cQueryResultItem\u003e\n"
    },
    {
      "commit": "b84f992050d9c8975903c3b1fc91afc2eda64678",
      "tree": "acf45b9b1cef2c7a0a629118105030a532f83fd2",
      "parents": [
        "ee3a09f6695778f9e741f0697a20b05cd6175f03"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 14:13:25 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 14:13:25 2026 -0400"
      },
      "message": "unused former ROP class\n"
    },
    {
      "commit": "ee3a09f6695778f9e741f0697a20b05cd6175f03",
      "tree": "c1d3178fc5428090f81527987d5b2a7f85c5ca0e",
      "parents": [
        "b43d048abd4eb10a3c25d6d757e363629b4c232a"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 13:21:03 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 13:56:55 2026 -0400"
      },
      "message": "CAY-3023 Replace QueryResult with a List of redesigned QueryResultItems\n"
    },
    {
      "commit": "b43d048abd4eb10a3c25d6d757e363629b4c232a",
      "tree": "1b7335f7dcf566fa6e4ae88f0fd3eb66cb49b900",
      "parents": [
        "ceaf90f93c89378e835a74b410d0894fa0153c9d"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 11:26:46 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 13:11:21 2026 -0400"
      },
      "message": "refactoring, cleanup\n"
    },
    {
      "commit": "ceaf90f93c89378e835a74b410d0894fa0153c9d",
      "tree": "031feb0363641952e5615f28e6f06d3e2582fd76",
      "parents": [
        "144a774bde6b556b0c6db3a8574ddc36097400d0"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 11:24:41 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 13:11:11 2026 -0400"
      },
      "message": "CAY-3016 Get rid of RelationshipQuery\n\ncleanup\n"
    },
    {
      "commit": "144a774bde6b556b0c6db3a8574ddc36097400d0",
      "tree": "42183a14d302fc806eab17ddcabee25ef0210831",
      "parents": [
        "1397962f7bf951c0dc9fca7f1e3f9ac19e0a77ad"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 10:44:18 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 11:12:32 2026 -0400"
      },
      "message": "CAY-3021 Get rid of ObjectIdQuery\n"
    },
    {
      "commit": "1397962f7bf951c0dc9fca7f1e3f9ac19e0a77ad",
      "tree": "e04d65e0fe1834358b57523887e7c0b7869022df",
      "parents": [
        "8b5bfc48ceb304b11192343ddb5d32d42fe03555"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 10:44:18 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 10:45:55 2026 -0400"
      },
      "message": "CAY-3021 Get rid of ObjectIdQuery\n"
    },
    {
      "commit": "8b5bfc48ceb304b11192343ddb5d32d42fe03555",
      "tree": "52423989bd0ec589369a8235de7833a44b451a5a",
      "parents": [
        "2ddcb103e387bc39a9bb0f88316237f6cf28dd68"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 10:08:53 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 10:08:53 2026 -0400"
      },
      "message": "CAY-3017 ObjectContext should not be a DataChannel\n\n    smarter channel adapter\n"
    },
    {
      "commit": "2ddcb103e387bc39a9bb0f88316237f6cf28dd68",
      "tree": "9ef1455c97eabd650f026255ad3d18f0c7f18e38",
      "parents": [
        "3c62dfa04ebbfa139e56bc3120953ff703a475f3"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 09:08:08 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 09:56:29 2026 -0400"
      },
      "message": "CAY-3020 Remove serialization contracts\n\nremove attach to channel logic. DataContext is created attached\nother cleanup\n"
    },
    {
      "commit": "3c62dfa04ebbfa139e56bc3120953ff703a475f3",
      "tree": "ee6204424018cb2061b029cb58f2d0068b8c0a8d",
      "parents": [
        "8301f7fd344764424fd0bf54b0cf9ff3f63211c9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 09:08:08 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Sep 12 09:08:08 2026 -0400"
      },
      "message": "CAY-3020 Remove serialization contracts\n"
    },
    {
      "commit": "8301f7fd344764424fd0bf54b0cf9ff3f63211c9",
      "tree": "68df263000a5f147d3ac28c9bbea4985556f8867",
      "parents": [
        "a7190a9dc44b760e7d6460c9e2156925a99dd47c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Sep 11 19:07:08 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Sep 11 19:07:08 2026 -0400"
      },
      "message": "CAY-3019 Skip noop conditions in generated SQL\n"
    },
    {
      "commit": "a7190a9dc44b760e7d6460c9e2156925a99dd47c",
      "tree": "bec54b51612509eba3752d29f9633484cbc4e420",
      "parents": [
        "9454ad5f1d8efd3bb840c633b1b4426f06914b05"
      ],
      "author": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Sep 11 19:54:51 2026 +0300"
      },
      "committer": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Sep 11 19:54:51 2026 +0300"
      },
      "message": "CAY-3018 EJBQL: broken joins when selecting a vertically inherited entity\n"
    },
    {
      "commit": "9454ad5f1d8efd3bb840c633b1b4426f06914b05",
      "tree": "1eacfda74a750d0487a3f380af9383bbafe869aa",
      "parents": [
        "9e36902fd840b148ca2b9e8c71ef39d8faf7fafe"
      ],
      "author": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Sep 11 17:26:35 2026 +0300"
      },
      "committer": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Sep 11 17:26:35 2026 +0300"
      },
      "message": "Fix test\n"
    },
    {
      "commit": "9e36902fd840b148ca2b9e8c71ef39d8faf7fafe",
      "tree": "4cd9f07c7dae8aa0fb6094741dd56e8562a7e30c",
      "parents": [
        "be11ffd18d16507dd1fc8b7416420e67276d38e1"
      ],
      "author": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Sep 11 15:03:23 2026 +0300"
      },
      "committer": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Fri Sep 11 15:03:23 2026 +0300"
      },
      "message": "CAY-2911 Vertical Inheritance: Column Select Sometimes Null With Vertically Inherited Entity\n"
    },
    {
      "commit": "be11ffd18d16507dd1fc8b7416420e67276d38e1",
      "tree": "d51bd62646251d890c5b43938cf71e714c358c01",
      "parents": [
        "63297d231a1176a09def19646177c85a0db8a28a"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 09 17:18:18 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 09 19:37:32 2026 -0400"
      },
      "message": "CAY-3017 ObjectContext should not be a DataChannel\n\nsmarter channel adapter\n"
    },
    {
      "commit": "63297d231a1176a09def19646177c85a0db8a28a",
      "tree": "27073455352a4d2eb060912c751f8af72fdb73cc",
      "parents": [
        "b3aae7cf34125fda4bfde2a73ca747a8c07ce91b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 09 17:18:18 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 09 19:36:35 2026 -0400"
      },
      "message": "CAY-3017 ObjectContext should not be a DataChannel\n\nsmarter channel adapter\n"
    },
    {
      "commit": "b3aae7cf34125fda4bfde2a73ca747a8c07ce91b",
      "tree": "6b4849bca509b10c9c5e617036ff1d061af9be7c",
      "parents": [
        "405f05be44041060efc06f6753b81b84192780ac"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 09 17:18:18 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 09 18:46:14 2026 -0400"
      },
      "message": "CAY-3017 ObjectContext should not be a DataChannel\n\nsmarter channel adapter\n"
    },
    {
      "commit": "405f05be44041060efc06f6753b81b84192780ac",
      "tree": "eb2b24c19b78e71063e29b28a9423ce8e0ad90e0",
      "parents": [
        "dba80441623c4e3dc9c8eaee9d0b7201e2961de0"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 09 17:18:18 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Wed Sep 09 18:14:47 2026 -0400"
      },
      "message": "CAY-3017 ObjectContext should not be a DataChannel\n"
    },
    {
      "commit": "dba80441623c4e3dc9c8eaee9d0b7201e2961de0",
      "tree": "e4757195db16c1a45954c99d524a157c3a0f4c52",
      "parents": [
        "367884fe87710100aba34bf18f530c485ca2a374"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Sep 08 08:20:06 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Sep 08 16:38:23 2026 -0400"
      },
      "message": "CAY-3015\n\nproper invalidatoon delegateion between child and parent\n"
    },
    {
      "commit": "367884fe87710100aba34bf18f530c485ca2a374",
      "tree": "be4fb3fa322b1de2784a42478c7d990d5162ca04",
      "parents": [
        "b74c5a883d4373722cd3b535b49e13c6dfcc66d4"
      ],
      "author": {
        "name": "Mikhail Dzianishchyts",
        "email": "mikhail.dzianishchyts@gmail.com",
        "time": "Tue Sep 08 13:43:48 2026 +0300"
      },
      "committer": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Tue Sep 08 20:08:40 2026 +0300"
      },
      "message": "CAY-2875 Allow storing UUIDs in binary columns\n\nCloses #633\n"
    },
    {
      "commit": "b74c5a883d4373722cd3b535b49e13c6dfcc66d4",
      "tree": "bbbcf04eb5a08b0d09f8dd75dd4dd67c31bb1400",
      "parents": [
        "90e9bc50426c25bb61031ece8a75c47dd8773562"
      ],
      "author": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Mon Sep 07 22:37:10 2026 +0300"
      },
      "committer": {
        "name": "ntimofeev",
        "email": "stariy95@gmail.com",
        "time": "Mon Sep 07 22:37:10 2026 +0300"
      },
      "message": "Define release `tag` format\n"
    },
    {
      "commit": "90e9bc50426c25bb61031ece8a75c47dd8773562",
      "tree": "d5319a21f4b861a53325b9422628d2dfe63fc8ca",
      "parents": [
        "e582e15f1e18010285dd38cce7175f20f8f0069b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 14:21:50 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 14:21:50 2026 -0400"
      },
      "message": "removing unmaintained package docs\n"
    },
    {
      "commit": "e582e15f1e18010285dd38cce7175f20f8f0069b",
      "tree": "d3c5b6681195c2140f22dbee8b20fd286eb73501",
      "parents": [
        "518b5642a0f9186d4ea57aabc896b86b5c31b077"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 14:15:19 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 14:15:19 2026 -0400"
      },
      "message": "unused, removing\n"
    },
    {
      "commit": "518b5642a0f9186d4ea57aabc896b86b5c31b077",
      "tree": "38b9ced4e234674582a8548bc6b827c73adad9ae",
      "parents": [
        "0e72b80dccbce30955593a4eb046cf2116f80d52"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 10:56:02 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 11:16:47 2026 -0400"
      },
      "message": "CAY-3016 Get rid of RelationshipQuery\n"
    },
    {
      "commit": "0e72b80dccbce30955593a4eb046cf2116f80d52",
      "tree": "920b9d9d4e25b2d4149b0a2fa0b11f49afd1cf1b",
      "parents": [
        "5256096a409b1b82e722dde8310c6c60416bedbe"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 09:58:30 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 10:31:02 2026 -0400"
      },
      "message": "Relationship faults hierarchy cleanup\n\n1. removing intermediate classes and a number of noop methods that were used by ROP\n2. Removing ValueHolder abstraction\n"
    },
    {
      "commit": "5256096a409b1b82e722dde8310c6c60416bedbe",
      "tree": "0715e44d1be415d37c540df159ebc99fa94c307f",
      "parents": [
        "f40672d5ac697e1fe06fbc2d0c9117a7acb56ad3"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 09:49:21 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 09:49:21 2026 -0400"
      },
      "message": "removing dead code\n"
    },
    {
      "commit": "f40672d5ac697e1fe06fbc2d0c9117a7acb56ad3",
      "tree": "98ec6747c13fc132f924477e615b4940b5bf00f5",
      "parents": [
        "2b08c0c20e49ad29b0cb8dcb248c2ed091152e70"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 09:41:24 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Sep 07 09:41:24 2026 -0400"
      },
      "message": "ROP leftover: ValueHolder-based properties and test client objects\n"
    },
    {
      "commit": "2b08c0c20e49ad29b0cb8dcb248c2ed091152e70",
      "tree": "2f3ad8b1385fdc754eaff7d8c1a1f85ec7f5a468",
      "parents": [
        "f242955369c8492c9c5466dbea405ba488ede72d"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 20:44:50 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 20:44:50 2026 -0400"
      },
      "message": "simplify tetsts\n"
    },
    {
      "commit": "f242955369c8492c9c5466dbea405ba488ede72d",
      "tree": "ca43b8b03de195a4acd2171bb5cb05691b1ecaef",
      "parents": [
        "271e42d58bfee1e95c261117d6393aa7cb911018"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 18:05:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 20:28:56 2026 -0400"
      },
      "message": "Cleanup: removing IteratedQueryDecorator - a private query wrapper\n\nsome PG test failures\n"
    },
    {
      "commit": "271e42d58bfee1e95c261117d6393aa7cb911018",
      "tree": "982cc07bced3695c38aebab42a0881de865e376f",
      "parents": [
        "442b609d0e0f2d80a1daed933b85ffdcacff4a53"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 18:16:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 18:52:31 2026 -0400"
      },
      "message": "CAY-3015 Get rid of RefreshQuery\n"
    },
    {
      "commit": "442b609d0e0f2d80a1daed933b85ffdcacff4a53",
      "tree": "b463c9233e83b63da516228443317f2ee7a5330c",
      "parents": [
        "c6fa09518138cbc4735289c714486f899725a4dd"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 18:08:00 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 18:08:00 2026 -0400"
      },
      "message": "Cleanup -removing deprecated  BasedContext ... very little chance anyone is using it\n"
    },
    {
      "commit": "c6fa09518138cbc4735289c714486f899725a4dd",
      "tree": "4b231d25871a3f34112ebde105f92b0462a071b8",
      "parents": [
        "182f0ee77c80a0332bb285a148eda4ef61ad73a4"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 18:05:20 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 18:05:20 2026 -0400"
      },
      "message": "Cleanup: removing IteratedQueryDecorator - a private query wrapper\n"
    },
    {
      "commit": "182f0ee77c80a0332bb285a148eda4ef61ad73a4",
      "tree": "06f597f5de6a1ec71e147607f953900541435a22",
      "parents": [
        "a42075713d5b5cee490443a47e40ec00a74fba86"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 17:59:15 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 17:59:15 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "a42075713d5b5cee490443a47e40ec00a74fba86",
      "tree": "f6f0f62cd971ace1c107fa45814aa90eee25b22d",
      "parents": [
        "750f81acc38bec7b8d2bee8d3cd57a8cc987528e"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 17:50:31 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 17:50:31 2026 -0400"
      },
      "message": "Removing unused private CachedSnapshotQuery\n"
    },
    {
      "commit": "750f81acc38bec7b8d2bee8d3cd57a8cc987528e",
      "tree": "c729321b7433ce61282c43662a42c59e9fa905f8",
      "parents": [
        "eff9135f3094b627c7a65517a8602830bf1d6816"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 17:34:40 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Sep 06 17:47:58 2026 -0400"
      },
      "message": "getting rid of the ObjectsFromDataRowsQuery which wasn\u0027t really a query\n\nwith no ROP assumptions we can shorcircuit certain things\n"
    }
  ],
  "next": "eff9135f3094b627c7a65517a8602830bf1d6816"
}
