)]}'
{
  "log": [
    {
      "commit": "e7f01b8181b6bd6abfe1c8343835fbdac82c9e29",
      "tree": "c1bd12b8da25a4119116bf81842b177762e9c26f",
      "parents": [
        "238037138f7195a53a6815780d301dbe7925b406"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 17:58:06 2026 +0300"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 19:25:56 2026 +0300"
      },
      "message": "CAY-2985 DataDomain init and structure cleanup\n\ncleanup\n"
    },
    {
      "commit": "238037138f7195a53a6815780d301dbe7925b406",
      "tree": "683eeea8af1bb87f66ec55c7f57d69513cd56bfe",
      "parents": [
        "cbbe84a19f0544ee38c5d101624c5a1a43539741"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 19:12:00 2026 +0300"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 19:12:00 2026 +0300"
      },
      "message": "removing annoying serialVersionUID from Cayenne exceptions\n"
    },
    {
      "commit": "cbbe84a19f0544ee38c5d101624c5a1a43539741",
      "tree": "7132a6fb3930955542cc669c76d41a82000eb921",
      "parents": [
        "482e800b85d1e33098a5a8bc235307fcc35829b2"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 19:03:31 2026 +0300"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 19:06:11 2026 +0300"
      },
      "message": "DataDomainProvider stack exception signatire cleanup\n"
    },
    {
      "commit": "482e800b85d1e33098a5a8bc235307fcc35829b2",
      "tree": "93f21f7b3d0d2065315762f2a5db50b492190d37",
      "parents": [
        "e965ee2d551ec60ff2020c4e1f504d7129b5c88e"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 17:58:06 2026 +0300"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 18:57:59 2026 +0300"
      },
      "message": "CAY-2985 DataDomain init and structure cleanup\n"
    },
    {
      "commit": "e965ee2d551ec60ff2020c4e1f504d7129b5c88e",
      "tree": "f132eeb552c250a688fb2f555d5e7ecae23ae286",
      "parents": [
        "bfd1a0b50cc407c5bf5d5cb6d84d900c453daafa"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 18:13:44 2026 +0300"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 18:49:53 2026 +0300"
      },
      "message": "DataRowStore init cleanup\n"
    },
    {
      "commit": "bfd1a0b50cc407c5bf5d5cb6d84d900c453daafa",
      "tree": "34c8912a8de5f236e313254f00e8b0e9f9e2dfc5",
      "parents": [
        "25dbec28a7cc1aebe6da77fc4fa0663f260a768d"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 17:58:06 2026 +0300"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 18:49:53 2026 +0300"
      },
      "message": "CAY-2985 DataDomain init and structure cleanup\n"
    },
    {
      "commit": "25dbec28a7cc1aebe6da77fc4fa0663f260a768d",
      "tree": "c1b700f80580ae331086597637be37ec043f54fd",
      "parents": [
        "4926422fcd5db784bb43ff08e02c988558095a50"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 17:11:44 2026 +0300"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 18:49:53 2026 +0300"
      },
      "message": "EntitySorter refactoring:\n\n1. Created via a factory explicitly. I would rather we have all services as singletons in CoreModule\n2. No more lazy reindex. Just do it explicitly\n3. EntityResolver should not hold EntitySorter (circlula relationship). Let the DataNode own it instead\n"
    },
    {
      "commit": "4926422fcd5db784bb43ff08e02c988558095a50",
      "tree": "e66190a4faac60097db4edc612076b71eee7d8ca",
      "parents": [
        "e874765c9397d5db7ce9b920a863faa7027e681c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 17:04:19 2026 +0300"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 26 18:49:45 2026 +0300"
      },
      "message": "CAY-2985 DataDomain init and structure cleanup\n"
    },
    {
      "commit": "e874765c9397d5db7ce9b920a863faa7027e681c",
      "tree": "289d5e01d9e6c2699e80eb74aa482dc74bd0c0d2",
      "parents": [
        "42ec961d222dedc2433851b1b1188d0c6c3d8dc6"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 25 10:14:01 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 25 10:15:58 2026 +0200"
      },
      "message": "adressing Ant/Maven assertions regressions, flipping to v12\n"
    },
    {
      "commit": "42ec961d222dedc2433851b1b1188d0c6c3d8dc6",
      "tree": "eea24a052f4285d0e8edcd9a78c02c0a90eec927",
      "parents": [
        "396b2c11da46fdf999cb6d2025e384c3a2b18dd1"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 21:48:28 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 21:48:28 2026 +0200"
      },
      "message": "CAY-2982 Modeler: when upgrading projects allow upgraders to send outcome messages\n\nattempt at layout\n"
    },
    {
      "commit": "396b2c11da46fdf999cb6d2025e384c3a2b18dd1",
      "tree": "0ca5d762fa3ca7e62dc59f70e5e785d746944e4b",
      "parents": [
        "8dd66bba0bb3cfb8cd82d8eca26bb2d76f1fdde4"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 18:05:18 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 18:31:20 2026 +0200"
      },
      "message": "CAY-2984 Remove \"DataChannel\" injectable dependency\n"
    },
    {
      "commit": "8dd66bba0bb3cfb8cd82d8eca26bb2d76f1fdde4",
      "tree": "cde1b5b08db40a7dea56d806b5fd8789af76888d",
      "parents": [
        "8a30442013171e1e884928a092d8051a6c503a57"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 18:05:18 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 18:14:05 2026 +0200"
      },
      "message": "API cleanup\n"
    },
    {
      "commit": "8a30442013171e1e884928a092d8051a6c503a57",
      "tree": "394dc74d01f2687b7db573bf00a0e941156d491d",
      "parents": [
        "a7c1fcf86983d497c0afbe3cb09fd4efa2baf5ee"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 18:05:18 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 18:05:18 2026 +0200"
      },
      "message": "API cleanup\n"
    },
    {
      "commit": "a7c1fcf86983d497c0afbe3cb09fd4efa2baf5ee",
      "tree": "a42c3ee31c6be04355a96a2357a2b2b70fc7bed6",
      "parents": [
        "4b5af7b924fe8ab3bb3b46d7ee262a3c39d64c35"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 18:05:02 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 18:05:02 2026 +0200"
      },
      "message": "API cleanup\n"
    },
    {
      "commit": "4b5af7b924fe8ab3bb3b46d7ee262a3c39d64c35",
      "tree": "a37dc1c4d8e8a40b169508b1ab072a4b004277a1",
      "parents": [
        "a8b87fd8317be2a04bf5cc42e430e703540c24d9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 18:03:42 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 18:03:42 2026 +0200"
      },
      "message": "API cleanup\n"
    },
    {
      "commit": "a8b87fd8317be2a04bf5cc42e430e703540c24d9",
      "tree": "411907a778c72811f31fa39e54157b4cff05a173",
      "parents": [
        "4a3aadd12563186a1262c299a4cde197127d68ea"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 17:33:51 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 17:59:50 2026 +0200"
      },
      "message": "Internal DataSource impl cleanup\n"
    },
    {
      "commit": "4a3aadd12563186a1262c299a4cde197127d68ea",
      "tree": "eaa44710428054201e44ee3e3407776abd359c46",
      "parents": [
        "1f90bd9711524559755f343314d4a3fd3362ea7c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 15:41:31 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 17:28:12 2026 +0200"
      },
      "message": "CAY-2983 CayenneDataSource: Public-facing DataSource builder\n"
    },
    {
      "commit": "1f90bd9711524559755f343314d4a3fd3362ea7c",
      "tree": "095a0d91eefd576553dee5b61209945095dcc282",
      "parents": [
        "b86128b1740172bf2bc60ce11d968590b06d3694"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 11:42:13 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 12:08:42 2026 +0200"
      },
      "message": "CAY-2982 Modeler: when upgrading projects allow upgraders to send outcome messages\n"
    },
    {
      "commit": "b86128b1740172bf2bc60ce11d968590b06d3694",
      "tree": "c8527260b247380d2d0652a5b196679fc14f942b",
      "parents": [
        "6f0cafcaff9aa9ad2a8d9df6598d5725dcaa8838"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 11:40:11 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 21 11:40:11 2026 +0200"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "6f0cafcaff9aa9ad2a8d9df6598d5725dcaa8838",
      "tree": "9954a5596884b1ced48e27dbca280bdc2d6757e0",
      "parents": [
        "516de7900f143b3f229a12fe2f336302147a33f0"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 18:31:10 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 18:38:49 2026 +0200"
      },
      "message": "Fixing missed validations\n"
    },
    {
      "commit": "516de7900f143b3f229a12fe2f336302147a33f0",
      "tree": "a21b8a1d682ecfb4b8b910c00afa8be8a736e8b8",
      "parents": [
        "e33e741ec3291337ddb686f4c8bfa562d0c9c587"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 18:31:10 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 18:35:02 2026 +0200"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "e33e741ec3291337ddb686f4c8bfa562d0c9c587",
      "tree": "44e278ccc36f8305093e230f781207ea3c263453",
      "parents": [
        "56959de5dbde0658ffa4ebc99cc9fa391be0a0cd"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 15:52:21 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 18:25:46 2026 +0200"
      },
      "message": "CAY-2980 Improve model name generation\n\nauto-renaming properties conflicting with Persistent object\n"
    },
    {
      "commit": "56959de5dbde0658ffa4ebc99cc9fa391be0a0cd",
      "tree": "8393b19cb799c9a9365b22316ef97566e2c181e0",
      "parents": [
        "67a22bd1587ffb930216c9bafb32e6d3a8070242"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 18:17:52 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 18:17:52 2026 +0200"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "67a22bd1587ffb930216c9bafb32e6d3a8070242",
      "tree": "3aa546b6d5f02c8ef6d07467b443c3c2ebf22fff",
      "parents": [
        "882677e351a535d811bc8d417810240162b417b9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 15:52:21 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 18:07:41 2026 +0200"
      },
      "message": "CAY-2980 Improve model name generation\n\nclarifying special identifiers rules\n"
    },
    {
      "commit": "882677e351a535d811bc8d417810240162b417b9",
      "tree": "6ebcaf746eb8c9bcaea7f88d9998d861b3982cf9",
      "parents": [
        "84ad32f69d605a75c3c6f03f2bf429abe3e98a72"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 15:52:21 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 17:53:44 2026 +0200"
      },
      "message": "CAY-2980 Improve model name generation\n\nfixing more cases of pluralization\n"
    },
    {
      "commit": "84ad32f69d605a75c3c6f03f2bf429abe3e98a72",
      "tree": "d4d9e9f0adb863bc3d08a64eb0706161c1440b67",
      "parents": [
        "22786ace2f0a20456685507422ae52f331388802"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 15:52:21 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 17:45:41 2026 +0200"
      },
      "message": "CAY-2980 Improve model name generation\n\nto-many generated names should attempt to strip shared prefix between entity names\n"
    },
    {
      "commit": "22786ace2f0a20456685507422ae52f331388802",
      "tree": "145338695ca996eeacbc0543d46fd064f94d2fff",
      "parents": [
        "5e9b009f0ad9ec02224db9f297c644448fb51d68"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 17:00:49 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 17:00:49 2026 +0200"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "5e9b009f0ad9ec02224db9f297c644448fb51d68",
      "tree": "4186a9534189696fa41b195d0389b4a632fce1de",
      "parents": [
        "8fc21319fdc8071f9088324da0790a134aa37e01"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 15:52:21 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 15:58:05 2026 +0200"
      },
      "message": "CAY-2980 Improve model name generation\n\nname relashionships based on FK even when it does not end with _ID\n"
    },
    {
      "commit": "8fc21319fdc8071f9088324da0790a134aa37e01",
      "tree": "f3a74c22121e5d5f52c057cf720366553a993d95",
      "parents": [
        "9568147ac382c3feed4e0461ce727ced3b6d96a8"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 14:57:56 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 15:34:23 2026 +0200"
      },
      "message": "ObjectNameGenerator - ObjRelationship name is always derived from DbRelationship name\n\nno more join analysis for the Obj layer naming\n"
    },
    {
      "commit": "9568147ac382c3feed4e0461ce727ced3b6d96a8",
      "tree": "9c8bddd76e577c8c69294edfee748b10fcb8d536",
      "parents": [
        "c83a76e1f12302c652debe5e6daf7c3edd98102b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 14:57:56 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 14:57:56 2026 +0200"
      },
      "message": "formatting\n"
    },
    {
      "commit": "c83a76e1f12302c652debe5e6daf7c3edd98102b",
      "tree": "f2cedec2fc5cd8d719f66cb640e17fe05f87c6f2",
      "parents": [
        "ca02f9a358113e784ff7d490fcc46d73ecddeba6"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 08:59:08 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 09:14:21 2026 +0200"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "ca02f9a358113e784ff7d490fcc46d73ecddeba6",
      "tree": "0527247bb4037165f85a771986a1296088161205",
      "parents": [
        "1384d2b719422645ed65bd894e570a8f9419b664"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 08:59:08 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 09:09:38 2026 +0200"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "1384d2b719422645ed65bd894e570a8f9419b664",
      "tree": "09b706759a0ecae14a5260b5a5ff542cc868d8ce",
      "parents": [
        "0ef59bb2fefbe444e40c96ab3282c1af6b1418c6"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 22:27:43 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 20 08:05:50 2026 +0200"
      },
      "message": "CAY-2980 Improve model name generation\n\n* guess reverse relationship name based on FK\n"
    },
    {
      "commit": "0ef59bb2fefbe444e40c96ab3282c1af6b1418c6",
      "tree": "659136b734c3845501e8459c517ceb727eeb5ec6",
      "parents": [
        "ee36584ac72eb256fe087f4a1e8719bbcfe5fdac"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 21:40:02 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 21:56:26 2026 +0200"
      },
      "message": "ObjectNameGenerator cleanup\n\nmoving \"stemmer\" into a subclass hierarchy... While composition is usually\ncleaner, here we are dealing with constyructor based instantiation and pre-existing\ninhgeritance... So minimizing generator optionality\n"
    },
    {
      "commit": "ee36584ac72eb256fe087f4a1e8719bbcfe5fdac",
      "tree": "75579e469fa64059abd99268a9a84b69940b3855",
      "parents": [
        "c8df80cf533507404f960e77a937b5cdd55ff1e6"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 21:20:23 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 21:20:23 2026 +0200"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "c8df80cf533507404f960e77a937b5cdd55ff1e6",
      "tree": "bee50ba4e4062951d55d1055868baa93283ab4d5",
      "parents": [
        "4662ae16ae3c816a4026c670d6e9adac0039728c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 18:30:32 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 19:32:05 2026 +0200"
      },
      "message": "NameBuilder cleanup\n\n\"preferredName\"\n\"build\"\n"
    },
    {
      "commit": "4662ae16ae3c816a4026c670d6e9adac0039728c",
      "tree": "710bf2c93ccbd8063f1a025c04f6f937e672713a",
      "parents": [
        "0c5819521803598dd4f985aa66944f6cbcef2968"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 19:24:19 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 19:26:42 2026 +0200"
      },
      "message": "ObjectNameGenerator cleanup\n\nsplitting cases of Obj and Db relationship names generation\n"
    },
    {
      "commit": "0c5819521803598dd4f985aa66944f6cbcef2968",
      "tree": "65f13a4685dc7dcb8fa5c7c9d708d6bab73bfc50",
      "parents": [
        "4adbc49a7fcd170e569b39fe3b42bedeacd61bb8"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 18:30:32 2026 +0200"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 19:10:05 2026 +0200"
      },
      "message": "NameBuilder cleanup\n\nswitch instead of visitor for main operations\nalways passing parent to the factory\n"
    },
    {
      "commit": "4adbc49a7fcd170e569b39fe3b42bedeacd61bb8",
      "tree": "3634a5b96cac9fafaca166bf2ebe36b9fa1b6801",
      "parents": [
        "b2319d53113afe2f49b202afcf3501874315d884"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 20:03:32 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 19 18:04:04 2026 +0200"
      },
      "message": "cleanup, refactoring\n"
    },
    {
      "commit": "b2319d53113afe2f49b202afcf3501874315d884",
      "tree": "aa9e2de9cfe3ff0403eeaf5bca2506acb6a4efa7",
      "parents": [
        "5ff66ff33ea89bb92de7fd72420952560f96edf7"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 16:17:41 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 16:20:53 2026 -0400"
      },
      "message": "CAY-2978 AI skill: \"cayenne-model-naming\"\n\ninclude DbRelationship in scope\n"
    },
    {
      "commit": "5ff66ff33ea89bb92de7fd72420952560f96edf7",
      "tree": "26b1b47e97340f6c09eeefbd80ae50f7cbabd0ca",
      "parents": [
        "9fdd87b8d3705b5c9063343083a38f8d531281f3"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 15:37:29 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 16:03:46 2026 -0400"
      },
      "message": "CAY-2980 Improve model name generation\n"
    },
    {
      "commit": "9fdd87b8d3705b5c9063343083a38f8d531281f3",
      "tree": "d9c76522918e0ebc17355d2c271399bea1c82d09",
      "parents": [
        "56fe3bc4c23f26fa1ffd8893a386cc7ab1f8a767"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 14:52:35 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 14:52:35 2026 -0400"
      },
      "message": "Bumping up plugin version to 5.0.1\n\nto enable recent cayenne-full-db-sync and cayenne-model-naming skills distribution\n"
    },
    {
      "commit": "56fe3bc4c23f26fa1ffd8893a386cc7ab1f8a767",
      "tree": "36c6021ef215ccfa27f405f4bbc74ae21d430f84",
      "parents": [
        "1797ede2a4595816df0ce4423cef4a55a1ce07a6"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 14:49:50 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 14:49:50 2026 -0400"
      },
      "message": "CAY-2979 AI skill: \"cayenne-full-db-sync\"\n"
    },
    {
      "commit": "1797ede2a4595816df0ce4423cef4a55a1ce07a6",
      "tree": "0067bd64ec6490baa4ac76fc69bdab88e8d81c96",
      "parents": [
        "b4e28e6f83df07580194628c716891d114be2609"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 12:19:15 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 18 13:05:44 2026 -0400"
      },
      "message": "CAY-2978 AI skill: \"cayenne-model-naming\"\n"
    },
    {
      "commit": "b4e28e6f83df07580194628c716891d114be2609",
      "tree": "38985a9edc2f1432034ff060dbc1de7f312485f6",
      "parents": [
        "d135026ad97e294828d7132decf51f6760606808"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 14 08:03:24 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 14 08:04:34 2026 -0400"
      },
      "message": "removing cryptic MCP warning\n"
    },
    {
      "commit": "d135026ad97e294828d7132decf51f6760606808",
      "tree": "2f392619f1743a385fbfe30e178425f3b2cca223",
      "parents": [
        "edfb0625e307504627137ac44597ff3835154be8"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 14 08:03:24 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Tue Jul 14 08:03:24 2026 -0400"
      },
      "message": "removing cryptic MCP warning\n"
    },
    {
      "commit": "edfb0625e307504627137ac44597ff3835154be8",
      "tree": "2a72747db59e5f7ec7440bc765a687256e320de8",
      "parents": [
        "01e905c40392bb1344fee85f6dc58156f718e59f"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 13 19:47:10 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 13 19:47:10 2026 -0400"
      },
      "message": "undoing the meaningless \"fix\"\n\nit was trying to \"reduce the number of Maven Central calls\"\n"
    },
    {
      "commit": "01e905c40392bb1344fee85f6dc58156f718e59f",
      "tree": "1f0c0b74348ce839e8ae1f41da0f566c8aa1425d",
      "parents": [
        "9461ba5d1c97a77df895efe586396d15d79d3f62"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 13 19:42:00 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 13 19:42:00 2026 -0400"
      },
      "message": "presumably, this would stabilize Gradle :-?\n"
    },
    {
      "commit": "9461ba5d1c97a77df895efe586396d15d79d3f62",
      "tree": "2a72747db59e5f7ec7440bc765a687256e320de8",
      "parents": [
        "76d8e97b6113f136b629e108a366099c467c5b4f"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 13 18:42:42 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 13 19:33:00 2026 -0400"
      },
      "message": "CAY-2977 DBImport confused by multi-key relationships\n\nok, apparently we had Gradle DB laoder tests\n"
    },
    {
      "commit": "76d8e97b6113f136b629e108a366099c467c5b4f",
      "tree": "43c81603c9173da6e6bf255f6bc0f0e288ac9e4b",
      "parents": [
        "1fa29ca1eba950b36ee1c93ad70659b46f6a8278"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 13 18:42:42 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 13 19:16:28 2026 -0400"
      },
      "message": "CAY-2977 DBImport confused by multi-key relationships\n\npost-cleanup\n"
    },
    {
      "commit": "1fa29ca1eba950b36ee1c93ad70659b46f6a8278",
      "tree": "46b027f2ed3e6f64b0abe108e207141ae75ba791",
      "parents": [
        "9252154d367f72591a6373694d16d75d86f3e7ec"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 13 18:42:42 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 13 18:50:42 2026 -0400"
      },
      "message": "CAY-2977 DBImport confused by multi-key relationships\n"
    },
    {
      "commit": "9252154d367f72591a6373694d16d75d86f3e7ec",
      "tree": "23ae1176317333244de73d24739fbc26b6775fd2",
      "parents": [
        "e0cf8cec23c7e27c006de1250925f97996d9aa6f"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 11 16:36:28 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 11 16:40:04 2026 -0400"
      },
      "message": "CAY-2976 Exception creating a relationship for an Incomplete ObjEntity\n"
    },
    {
      "commit": "e0cf8cec23c7e27c006de1250925f97996d9aa6f",
      "tree": "52d81708ef1594f976c8a7911a94233233d2f583",
      "parents": [
        "554bbdc775a9dcdf1945a6109e6d5598fff8e3d4"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 11 15:30:50 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 11 16:29:12 2026 -0400"
      },
      "message": "Modeler labels tweaking\n"
    },
    {
      "commit": "554bbdc775a9dcdf1945a6109e6d5598fff8e3d4",
      "tree": "8e2bad9ee9bf02420a84454fc71c2832b9ed5d83",
      "parents": [
        "93654b48689bc0b126e94bfc8307cefd4f85be98"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 10 18:15:28 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 10 18:15:53 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "93654b48689bc0b126e94bfc8307cefd4f85be98",
      "tree": "6dbbbe73f4d06552d4988b9e651499a6d160bf34",
      "parents": [
        "855e560ead6cfd566c9bc426de38b2942ec2c7b9"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Jul 08 16:39:01 2026 +0400"
      },
      "committer": {
        "name": "Nikita Timofeev",
        "email": "stariy95@gmail.com",
        "time": "Wed Jul 08 16:39:01 2026 +0400"
      },
      "message": "fix issues order\n"
    },
    {
      "commit": "855e560ead6cfd566c9bc426de38b2942ec2c7b9",
      "tree": "1995fb8651c7716523a5493be5cafed62ad1a39b",
      "parents": [
        "3505d42b3b59ff1753a02396090825e8c2a57953",
        "3268a0cb228773b5896418e488f2af1cf875fb79"
      ],
      "author": {
        "name": "Nikita Timofeev",
        "email": "stariy95@users.noreply.github.com",
        "time": "Wed Jul 08 16:35:24 2026 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 08 16:35:24 2026 +0400"
      },
      "message": "Merge pull request #645 from swarmbox/CAY-2968\n\nCAY-2968 Vertical Inheritance: INSERT instead of UPDATE after updatin…"
    },
    {
      "commit": "3268a0cb228773b5896418e488f2af1cf875fb79",
      "tree": "1995fb8651c7716523a5493be5cafed62ad1a39b",
      "parents": [
        "3505d42b3b59ff1753a02396090825e8c2a57953"
      ],
      "author": {
        "name": "Jadon Hansell",
        "email": "jadon@swarmbox.com",
        "time": "Tue Jun 30 13:58:46 2026 -0700"
      },
      "committer": {
        "name": "Jadon Hansell",
        "email": "jadon@swarmbox.com",
        "time": "Tue Jul 07 11:01:42 2026 -0700"
      },
      "message": "CAY-2968 Vertical Inheritance: INSERT instead of UPDATE after updating flattened attribute\n"
    },
    {
      "commit": "3505d42b3b59ff1753a02396090825e8c2a57953",
      "tree": "f90743cbc8bee536a75c99a3766ef161e5771b4a",
      "parents": [
        "35675565d9aa3ff53168587fa946851b99353f9b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 06 08:56:39 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 06 09:15:29 2026 -0400"
      },
      "message": "refactoring - unifying logging of array values\n\nalso, don\u0027t enclose array parameters in \u003c..\u003e\n"
    },
    {
      "commit": "35675565d9aa3ff53168587fa946851b99353f9b",
      "tree": "2781f0a27d704fc52eea91b154b6460c0cf27302",
      "parents": [
        "4fa8698e3b51905ec7696f159ab0bc2ef610a9fc"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 06 08:50:19 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 06 08:50:19 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\nproper byte[] param logging\n"
    },
    {
      "commit": "4fa8698e3b51905ec7696f159ab0bc2ef610a9fc",
      "tree": "97fbe838d32100ab3a2ca109f21f076b673b24db",
      "parents": [
        "35b34978d3d5d7d4af42fe7b5684c3f7e0bee686"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 06 08:44:49 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 06 08:44:49 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "35b34978d3d5d7d4af42fe7b5684c3f7e0bee686",
      "tree": "6a038d93e721aff8ad8fdf7e72c8b33c74715782",
      "parents": [
        "0ece00976133d3740e943c83e081c654b0f77e70"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 06 08:36:49 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Mon Jul 06 08:36:49 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\nlogging tx at INFO level. Now that selects have no tx,\nthis actually makes sense vs DEBUG\n"
    },
    {
      "commit": "0ece00976133d3740e943c83e081c654b0f77e70",
      "tree": "c49f8fbe6f2286a6aa705e0363e16b74ed86e94d",
      "parents": [
        "aa4485606b0bdbb18dfaf2809ab08a8840b2f99e"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 05 19:55:16 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 05 20:00:35 2026 -0400"
      },
      "message": "CAY-2971 Remove extra spaces within SQL parenthesis\n\nhandling \"- 1\"\n"
    },
    {
      "commit": "aa4485606b0bdbb18dfaf2809ab08a8840b2f99e",
      "tree": "9a7b779d946dd7469139d36190d6531820c368c6",
      "parents": [
        "5ccf99721d2dd0f8f2942b8bfb1ad9b2377080c5"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 05 19:51:37 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 05 19:51:37 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\nconsistent logger class name capitalization\n"
    },
    {
      "commit": "5ccf99721d2dd0f8f2942b8bfb1ad9b2377080c5",
      "tree": "552182578c13bb8a21697cac62f5ce5126fde217",
      "parents": [
        "e476fc63f1889877cb6ab31760508197225674c7"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 05 19:36:50 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 05 19:36:50 2026 -0400"
      },
      "message": "CAY-2975 Mnemonic table aliases in generated SQL\n\n(also required a great deal of refactoring between SQLAppendable and SQLGenerationContext)\n"
    },
    {
      "commit": "e476fc63f1889877cb6ab31760508197225674c7",
      "tree": "ed61efc20b813a35dc40e2bebd0ccf234ac67776",
      "parents": [
        "c69fd67632d478a9ef0dc2affe19ca4d6e3a7543"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 05 16:37:58 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sun Jul 05 19:17:41 2026 -0400"
      },
      "message": "UnescapedColumnNode seems unused\n"
    },
    {
      "commit": "c69fd67632d478a9ef0dc2affe19ca4d6e3a7543",
      "tree": "477f2c4ec59b4fbff37f3e1edd41a0f86786fe05",
      "parents": [
        "5ea1eae1425afa669c0fa3e44be1f79b13959b52"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 18:20:46 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 19:29:20 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\ntrying a new format\n"
    },
    {
      "commit": "5ea1eae1425afa669c0fa3e44be1f79b13959b52",
      "tree": "fee0359e4da41b1467744c7934c6b466da201328",
      "parents": [
        "17d1154ff02510a0853d6ce47ab4241374466682"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 18:20:46 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 18:26:11 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\nadding a timer\nadding error log\n"
    },
    {
      "commit": "17d1154ff02510a0853d6ce47ab4241374466682",
      "tree": "7248109ed0fb62e927402cc1c6f8ac69dc0dbe44",
      "parents": [
        "a45dc7acee0b0b6b1f51a18f9671eab94044100f"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 17:46:25 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 17:52:09 2026 -0400"
      },
      "message": "Aligning OptimisticLockException with CayenneSqlException\n\nit can have access to TranslatedStatement\n"
    },
    {
      "commit": "a45dc7acee0b0b6b1f51a18f9671eab94044100f",
      "tree": "6edf30a1410b889052f5d68a7a140da2b6def2ab",
      "parents": [
        "f0eec8562621faa1623f0b8beefc8c67f561296c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 17:33:27 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 17:33:27 2026 -0400"
      },
      "message": "CAY-2969 Extender API for \"soft\" delete\n\nshortner config method name\n"
    },
    {
      "commit": "f0eec8562621faa1623f0b8beefc8c67f561296c",
      "tree": "764bcce7a2755c704e989524e84ba79f1245434d",
      "parents": [
        "e208d54e6b2ec0b4503734b0dcc190653cbd8e28"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 16:23:28 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 17:22:40 2026 -0400"
      },
      "message": "CAY-2974 CayenneSqlException with a reference to translated query\n"
    },
    {
      "commit": "e208d54e6b2ec0b4503734b0dcc190653cbd8e28",
      "tree": "8915acae884c2ef86e38cac6a9b4acdb0b9e54f8",
      "parents": [
        "20d3d83e530386387c4dbfb7072faa5ed180c630"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 16:08:15 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 16:10:16 2026 -0400"
      },
      "message": "minor cleanup\n"
    },
    {
      "commit": "20d3d83e530386387c4dbfb7072faa5ed180c630",
      "tree": "70783471052fd37dcf6745848a253c1c1bba0f8e",
      "parents": [
        "c79bcd3743ae6a5c5ec32529311e9255376490f7"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 16:00:24 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 16:00:24 2026 -0400"
      },
      "message": "CAY-2973 Exception trying to copy/paste a callback\n"
    },
    {
      "commit": "c79bcd3743ae6a5c5ec32529311e9255376490f7",
      "tree": "418056a89379c3142d7fcbec4e77cf3c0b80f98c",
      "parents": [
        "e616fc6dfea1652762db199b7b12b9ae852799a9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 15:56:24 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 15:56:24 2026 -0400"
      },
      "message": "CAY-2892 Modeler: Exception when deleting a callback\n"
    },
    {
      "commit": "e616fc6dfea1652762db199b7b12b9ae852799a9",
      "tree": "2274647c6c208d100115b3f099af6e5c99b14b77",
      "parents": [
        "9b0d8dcf09ba74c0704598e44ec3f23b98f82cc2"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 15:32:16 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 15:43:42 2026 -0400"
      },
      "message": "CAY-2972 Fewer parentheses in generated SQL\n"
    },
    {
      "commit": "9b0d8dcf09ba74c0704598e44ec3f23b98f82cc2",
      "tree": "8f56d3114491db539f0f868a152ac672695a4ff0",
      "parents": [
        "ac01c70b88f8eca347f527803baed2f8d8f4f14b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 13:38:05 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 14:20:22 2026 -0400"
      },
      "message": "CAY-2971 Remove extra spaces within SQL parenthesis\n"
    },
    {
      "commit": "ac01c70b88f8eca347f527803baed2f8d8f4f14b",
      "tree": "cd92fe908c61bfb22dce738f76d333e7257ca276",
      "parents": [
        "2b4b617c49c3aec9d421013d58ff3956c98be062"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 18:07:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 13:13:11 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\ncleanup\n"
    },
    {
      "commit": "2b4b617c49c3aec9d421013d58ff3956c98be062",
      "tree": "68a88c1cd4f2c4fcd96e958375bc7280ff9e5926",
      "parents": [
        "8ae00984fc8b74353dc7da706e2084c23ec725b4"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 18:07:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 13:11:25 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\nproper batch param truncation\n"
    },
    {
      "commit": "8ae00984fc8b74353dc7da706e2084c23ec725b4",
      "tree": "3a3300101b2297a21b25f4d68a2e4d9bd61f697d",
      "parents": [
        "410e8ebcfe86a316fd40f07e18f02ad75e607828"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 18:07:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 12:53:54 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\nbatching generated keys logging\n"
    },
    {
      "commit": "410e8ebcfe86a316fd40f07e18f02ad75e607828",
      "tree": "f5e8ecc5f6f9b754c173da488491f3d75e54070a",
      "parents": [
        "9db4d14834aac8683e8915e371fc8184869f6b6a"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 18:07:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Sat Jul 04 08:05:08 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\ncleanup\n"
    },
    {
      "commit": "9db4d14834aac8683e8915e371fc8184869f6b6a",
      "tree": "37aaa1905e915d158c23948de7d7acafedd0827c",
      "parents": [
        "24dfb1b0ac5639a39a7837625a709116b280942e"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 18:07:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 20:31:52 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\ncleanup\n"
    },
    {
      "commit": "24dfb1b0ac5639a39a7837625a709116b280942e",
      "tree": "3c20d738855a04f4159452b983ee94d1e963fc99",
      "parents": [
        "fcc7a158dfcf7ed8e0e143c0d22b02417e97c3da"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 18:07:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 20:02:28 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\ncleanup\n"
    },
    {
      "commit": "fcc7a158dfcf7ed8e0e143c0d22b02417e97c3da",
      "tree": "440076c73ae9dcada15288c2e40cbb78e1621033",
      "parents": [
        "3660f381bacd41f77de6d96cfd874df5917aa3b2"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 18:07:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 19:53:17 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\ncleanup\n"
    },
    {
      "commit": "3660f381bacd41f77de6d96cfd874df5917aa3b2",
      "tree": "015ce84856e02f3cbe4c18e46cca15342b4a810b",
      "parents": [
        "1c07f1c0d0e16e0963add30c196b97255b2e4461"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 18:07:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 19:09:23 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\ncleanup\n"
    },
    {
      "commit": "1c07f1c0d0e16e0963add30c196b97255b2e4461",
      "tree": "4178deabac9cb17643d55d7fccd17d070113a452",
      "parents": [
        "ccb11bd3bc35e8bad44faa5b24a9eafeae73036b"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 19:02:43 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 19:02:43 2026 -0400"
      },
      "message": "shortening test sql logger label\n"
    },
    {
      "commit": "ccb11bd3bc35e8bad44faa5b24a9eafeae73036b",
      "tree": "ddcf1cd4888c2449e2bf0720c8738e93b15a50cb",
      "parents": [
        "fd930a7600bd6d5326333e2e2de84c456b0d8025"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 18:07:55 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 18:58:19 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n"
    },
    {
      "commit": "fd930a7600bd6d5326333e2e2de84c456b0d8025",
      "tree": "e316a367e382408b2bccf8745c17010db27d3618",
      "parents": [
        "811226b15440d663b2d952a854cf40a263ec79db"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 17:10:00 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 17:10:00 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "811226b15440d663b2d952a854cf40a263ec79db",
      "tree": "32d15bc0eac04f9300425cb2578183a4c8f25f33",
      "parents": [
        "178cd4b1e79cacf8cc5f9e007eab2075f228576e"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 17:03:22 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 17:04:41 2026 -0400"
      },
      "message": "translator package reorg\n"
    },
    {
      "commit": "178cd4b1e79cacf8cc5f9e007eab2075f228576e",
      "tree": "ba127afd1a89cd55175598a8666cab7d227e3da4",
      "parents": [
        "5dce1f2d8c6d3f3df96c0c1fe686c44db3ba6edd"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:55:05 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:58:03 2026 -0400"
      },
      "message": "Introducing CSParameter for translated stored procedures\n"
    },
    {
      "commit": "5dce1f2d8c6d3f3df96c0c1fe686c44db3ba6edd",
      "tree": "59e8298691c12cd0308ce5b92c29cc6ae051afc0",
      "parents": [
        "957af6f27e8bfd83b6537fe08a039f2878898029"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:41:10 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:41:10 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "957af6f27e8bfd83b6537fe08a039f2878898029",
      "tree": "19cb35bf6648709e1e741db1bff1e5aa1f6d3f0f",
      "parents": [
        "8c12c10f59c92d0892520d236ecb029275b32a9c"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:23:49 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:36:21 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\nremoving FormattedSlf4jJdbcEventLogger ... ongoing refactoring should go smoother without it in the picture\n"
    },
    {
      "commit": "8c12c10f59c92d0892520d236ecb029275b32a9c",
      "tree": "ff7f1c5212a8d6896cc4b623a5be4e13574f69e5",
      "parents": [
        "23cfc8696174275e50c7a811a68f95c1e18279db"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:27:38 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:33:30 2026 -0400"
      },
      "message": "Exploring FormattedSlf4jJdbcEventLogger behavior\n"
    },
    {
      "commit": "23cfc8696174275e50c7a811a68f95c1e18279db",
      "tree": "692fd7c004f93e2701b9b9145571cd67ae5099c2",
      "parents": [
        "f209c3da9795a6be88c561d770ceb51905e780f6"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:23:49 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:23:49 2026 -0400"
      },
      "message": "CAY-2912 Compact SQL logger\n\nremoving CompactSlf4jJdbcEventLogger ... ongoing refactoring should go msoother without it in the picture\n"
    },
    {
      "commit": "f209c3da9795a6be88c561d770ceb51905e780f6",
      "tree": "04c10504f6d72ee868db7ffbc4ea02f09c09ab45",
      "parents": [
        "5756c1871f1cd3aa2eb03e5ce5a6a1a9f7e223b9"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 15:52:25 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 16:18:34 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "5756c1871f1cd3aa2eb03e5ce5a6a1a9f7e223b9",
      "tree": "56c69b195429b451ac662f79bb0c872d09829267",
      "parents": [
        "acb9ed4548b4ed49351a3eceb26e54b3fb01470d"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 15:47:34 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 15:49:04 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "acb9ed4548b4ed49351a3eceb26e54b3fb01470d",
      "tree": "75cea766523380bc94e81883c47615f7cb153a5f",
      "parents": [
        "a3ce1e77df1bbe72ab340756471fe113d618350d"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 15:32:02 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 15:45:33 2026 -0400"
      },
      "message": "CAY-2970 Tighten deferred value resolution contract on commit\n"
    },
    {
      "commit": "a3ce1e77df1bbe72ab340756471fe113d618350d",
      "tree": "9b87f84b4587cef649c7dade5668c235d636d0ba",
      "parents": [
        "6eefb6e29bf243e1bb4414a106a619d754e0a8c2"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 14:21:12 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 15:22:37 2026 -0400"
      },
      "message": "Refactor TranslatedBatch\n\nsupport for deferred values resolution\n"
    },
    {
      "commit": "6eefb6e29bf243e1bb4414a106a619d754e0a8c2",
      "tree": "2d8a4e3f792e1362278cab9e39d2de8bb5fbdc8e",
      "parents": [
        "7e88b4f31a069e1c3d8f802e7e12364db729fb47"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 14:02:58 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 14:02:58 2026 -0400"
      },
      "message": "refactoring  PSBatchParameter\n\nit can capture PreparedStatement position. It is the same for each row in a batch\n"
    },
    {
      "commit": "7e88b4f31a069e1c3d8f802e7e12364db729fb47",
      "tree": "24c059887c85fdff76cfaf18fe0aad97bcd6e2b3",
      "parents": [
        "c45d98842966313b364b1d9353ec1a412a93d5fb"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 12:21:14 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 13:40:39 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "c45d98842966313b364b1d9353ec1a412a93d5fb",
      "tree": "d71af7e03e342a8c88159e4052b00e4ec85f7218",
      "parents": [
        "e08691b901026e050f7089e7288525554f54e6f0"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 12:21:14 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 13:38:00 2026 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "e08691b901026e050f7089e7288525554f54e6f0",
      "tree": "32b68fa4adcb140c2b0beb68bfda4aa7984cdaf6",
      "parents": [
        "c2bb731fde8967eda4cf5e148698e808289bd42d"
      ],
      "author": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 11:43:08 2026 -0400"
      },
      "committer": {
        "name": "Andrus Adamchik",
        "email": "andrus@objectstyle.com",
        "time": "Fri Jul 03 12:20:36 2026 -0400"
      },
      "message": "CAY-2969 Extender API for \"soft\" delete\n\nimplementing soft delete in the stack instead of intercepting\n"
    }
  ],
  "next": "c2bb731fde8967eda4cf5e148698e808289bd42d"
}
