)]}'
{
  "log": [
    {
      "commit": "f2ba892f718f654bf3831f0c35dfd406a74ab9cf",
      "tree": "e736b1dca7d3b1533bd1204b27f0a868f3340b9e",
      "parents": [
        "634bcb6bded6ec7b01fde5af0ecab3f11278e2b5"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Sun Apr 12 05:27:19 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 05:27:19 2026 +0530"
      },
      "message": "Fallback to parquet footers when metadata table col stats are missing (#818)"
    },
    {
      "commit": "634bcb6bded6ec7b01fde5af0ecab3f11278e2b5",
      "tree": "4ef01d5f007d75c795b67222d75fbb90a2a86a83",
      "parents": [
        "2ae964266d587e33d7e1b6bf8b22356afaac7341"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Sun Apr 12 05:26:53 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 05:26:53 2026 +0530"
      },
      "message": "[bug] Fix batch INSERT_OVERWRITE replacecommits dropping adds in HudiDataFileExtractor (#816)"
    },
    {
      "commit": "2ae964266d587e33d7e1b6bf8b22356afaac7341",
      "tree": "0868955c88094b2a8822a3f29ed79fc4bcd90663",
      "parents": [
        "62453c7e9d6d0fe771e45df975c4fe5ab93dc09f"
      ],
      "author": {
        "name": "Alex R",
        "email": "arheebikes@gmail.com",
        "time": "Wed Apr 08 09:57:03 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 22:27:03 2026 +0530"
      },
      "message": "Handle empty EarliestCommitToRetain (#732)\n\n* handle empty EarliestCommitToRetain\n\n* Fix build failures: qualify GREATER_THAN and fix test mocks\n\n* Use PathBasedPartitionSpecExtractor to align with main branch rename\n\n---------\n\nCo-authored-by: Vinish Reddy \u003cvinish@apache.org\u003e"
    },
    {
      "commit": "62453c7e9d6d0fe771e45df975c4fe5ab93dc09f",
      "tree": "d390755210ef213674b06bd7df72dbb6e42cbb48",
      "parents": [
        "c0205955967d0d859f2d4424e152885dbe203387"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Apr 08 06:08:46 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 06:08:46 2026 +0530"
      },
      "message": "Bump actions/setup-node from 5 to 6 (#753)\n\nBumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6.\n- [Release notes](https://github.com/actions/setup-node/releases)\n- [Commits](https://github.com/actions/setup-node/compare/v5...v6)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-node\n  dependency-version: \u00276\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "c0205955967d0d859f2d4424e152885dbe203387",
      "tree": "4b9f69b2880b85c88bd263aa419c214295a4767a",
      "parents": [
        "f991e315407b68f31324503fec465a95632ffc3b"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Sat Apr 04 02:56:17 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 04 02:56:17 2026 +0530"
      },
      "message": "Enable Delta checkpoint CRC exception throwing by default (#817)\n\nSet spark.databricks.delta.checkpoint.exceptionThrowing.enabled\u003dtrue in\nDeltaConversionUtils so that Delta CRC integrity failures surface as\nexceptions rather than being silently swallowed during checkpoint reads."
    },
    {
      "commit": "f991e315407b68f31324503fec465a95632ffc3b",
      "tree": "506f96642b82391d2b63eee0519e02005979c18e",
      "parents": [
        "430756556a24e3b3714477d33a74d1cc21b80f45"
      ],
      "author": {
        "name": "Tim Brown",
        "email": "tim@onehouse.ai",
        "time": "Mon Feb 23 11:40:07 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 14:40:07 2026 -0500"
      },
      "message": "[bug] Parquet Source: snapshot sync fails on multiple commits with partitions (#806)\n\n* make 2 commits, cleanup testing\n\n* fix imports\n\n* reduce diff\n\n* address comments"
    },
    {
      "commit": "430756556a24e3b3714477d33a74d1cc21b80f45",
      "tree": "354aa2fced519c2fb12d1df38932e58b283b04c9",
      "parents": [
        "5c25674bf5e622462a27c4198f0f51ba3e09f555"
      ],
      "author": {
        "name": "Tim Brown",
        "email": "tim@onehouse.ai",
        "time": "Mon Feb 23 10:55:29 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 13:55:29 2026 -0500"
      },
      "message": "Parquet source: Expand column stats support, fix bugs in schema conversion (#805)\n\n* fix stats extraction to be per file and handle more types\n\n* fix list and map handling\n\n* cleanup\n\n* spotless\n\n* address comments, set null count, handle null stats\n\n* remove more unused variables"
    },
    {
      "commit": "5c25674bf5e622462a27c4198f0f51ba3e09f555",
      "tree": "cb735bab1dd01bdd99aae57520977c82cfce0c5c",
      "parents": [
        "fe7215e26151cbd4608a577bd04f47719f34e21d"
      ],
      "author": {
        "name": "Tim Brown",
        "email": "tim@onehouse.ai",
        "time": "Mon Feb 23 09:59:36 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 12:59:36 2026 -0500"
      },
      "message": "Remove wildcard imports and enforce with spotless (#809)\n\n* remove wildcard imports and enforce\n\n* undo removal\n\n* fix import\n\n* update xtable-service module"
    },
    {
      "commit": "fe7215e26151cbd4608a577bd04f47719f34e21d",
      "tree": "12c7683a9c72493e2007eea57c6f6fadccd122c5",
      "parents": [
        "abbf4b72a0910719246de5f81a74777f43b53ecd"
      ],
      "author": {
        "name": "Kevin Liu",
        "email": "kevinjqliu@users.noreply.github.com",
        "time": "Sun Feb 22 16:18:03 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 22 16:18:03 2026 -0500"
      },
      "message": "add .sdkmanrc to .gitignore (#793)\n\n* add .sdkmanrc\n\n* Apply suggestion from @kevinjqliu"
    },
    {
      "commit": "abbf4b72a0910719246de5f81a74777f43b53ecd",
      "tree": "e130f6625dd8db2704fcbcfe31698a43c6afb334",
      "parents": [
        "8e583674151aa341010154b7cc7066f098e3cded"
      ],
      "author": {
        "name": "Nicolas Paris",
        "email": "nicolas.paris@riseup.net",
        "time": "Sat Feb 21 00:45:10 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 20 18:45:10 2026 -0500"
      },
      "message": "fix(iceberg): nested comments with qualified name (#797)\n\n* fix(iceberg): nested comments with qualified name\n\n* add ut"
    },
    {
      "commit": "8e583674151aa341010154b7cc7066f098e3cded",
      "tree": "fc4ea269d5321074b433a02512e3171d2f6a7850",
      "parents": [
        "8cab6a299b869b644beeb0ced5386627541e9f43"
      ],
      "author": {
        "name": "Rishi Reddy Bokka",
        "email": "brishi19791@gmail.com",
        "time": "Fri Feb 20 18:44:15 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 20 18:44:15 2026 -0500"
      },
      "message": "Remove redundant getSnapshotAt calls per commit (#791)\n\n* Removed redundant delta calls\n\n* remove redundant deltalog call\n\nCo-authored-by: Kevin Liu \u003ckevinjqliu@users.noreply.github.com\u003e\n\n* Add Javadoc and input validation to DeltaTableExtractor.table(Snapshot, String)\n\n---------\n\nCo-authored-by: Kevin Liu \u003ckevinjqliu@users.noreply.github.com\u003e"
    },
    {
      "commit": "8cab6a299b869b644beeb0ced5386627541e9f43",
      "tree": "6e8cb768879bc4abaa168695943a16401a3b51c3",
      "parents": [
        "559a951857bc5804a732e606b53c69b0dc2f8fca"
      ],
      "author": {
        "name": "Nicolas Paris",
        "email": "nicolas.paris@riseup.net",
        "time": "Thu Feb 12 05:02:40 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 11 23:02:40 2026 -0500"
      },
      "message": "fix(delta): avoid NPE for binary in map/array schemas (#795)\n\n* fix(delta): avoid NPE for binary in map/array schemas\n\n* add ut"
    },
    {
      "commit": "559a951857bc5804a732e606b53c69b0dc2f8fca",
      "tree": "e276709ba8801f57a4110863c0f00ef598cf5bdc",
      "parents": [
        "b8fce01b8cbed3cbc30525bf56718fbe58a52f2c"
      ],
      "author": {
        "name": "Kevin Liu",
        "email": "kevinjqliu@users.noreply.github.com",
        "time": "Sun Feb 01 10:26:57 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 01 10:26:57 2026 -0500"
      },
      "message": "Upgrade Iceberg to 1.9.2 and Avro to 1.12.0 (#784)\n\n* upgrade to iceberg 1.10.1\n\n* api changes\n\n* use best available iceberg-hive-runtime\n\n* upgrade avro version\n\n* to run with java 17\n\n* tests\n\n* fix avro\n\n* dont change notebook\n\n* fix tests\n\n* use iceberg 1.9.2\n\n* unnecessary changes\n\n* address ci issue\n\n* fix version in LICENSE\n\n* try revert\n\n* add back avro schema change\n\n* fix ci concurrency\n\n* mvn spotless:apply"
    },
    {
      "commit": "b8fce01b8cbed3cbc30525bf56718fbe58a52f2c",
      "tree": "0888687ddad20c8fb717c797aa7b48c5158c530b",
      "parents": [
        "7a1c5b1a1b1c834ff088465b08333f289b1d7cfa"
      ],
      "author": {
        "name": "Tim Brown",
        "email": "tim@onehouse.ai",
        "time": "Mon Jan 26 15:27:22 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 26 15:27:22 2026 -0500"
      },
      "message": "fix scope of spark catalyst in utilities bundle (#790)\n\n"
    },
    {
      "commit": "7a1c5b1a1b1c834ff088465b08333f289b1d7cfa",
      "tree": "2b4a83bffc2164244ee6cc5a33510eedadbdffb0",
      "parents": [
        "50ae6116788cb792db2997969076f0702e8a40ab"
      ],
      "author": {
        "name": "Mao",
        "email": "1684060+mao-liu@users.noreply.github.com",
        "time": "Tue Jan 20 05:54:05 2026 +1100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 19 13:54:05 2026 -0500"
      },
      "message": "[755] Support column stats for paimon (#767)\n\n* paimon: wip column stats\n\n* paimon column stats: fix tests\n\n* paimon: fixing some tests\n\n* paimon: fixing more tests\n\n* paimon: fix column stats column checks\n\n* paimon: stats: handling timestamp as long\n\n* paimon: add to xtable-utilities\n\n* paimon: lint\n\n* paimon: ticked version to 1.3.1\n\n* paimon: reducing logging\n\n* paimon: annotating assumptions with comments\n\n* paimon: expanded tests for stats extractor\n\n* paimon: stats extractor to its own class\n\n* paimon: handling deleted stats\n\n* paimon: spotless\n\n* paimon: fix tests\n\n* paimon: tests remove wildcard imports\n\n* paimon: assumptions validated\n\n* paimon: code review changes\n\n* paimon: added test case for lack of stats for complex fields\n\n* paimon: extended tests and updated test TODO with github issue reference\n\n* paimon: fix tests\n\n* pin catalyst version\n\n* paimon: fix tests in xtable-utilities\n\n---------\n\nCo-authored-by: Timothy Brown \u003ctim@onehouse.ai\u003e"
    },
    {
      "commit": "50ae6116788cb792db2997969076f0702e8a40ab",
      "tree": "f2592d4be6c23a02fbb8336823db3fb9b5c25318",
      "parents": [
        "f9ee9489592c37a60ebb3efd21f36b1f3b02f23e"
      ],
      "author": {
        "name": "Tim Brown",
        "email": "tim@onehouse.ai",
        "time": "Fri Jan 16 16:17:47 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 16 16:17:47 2026 -0500"
      },
      "message": "[787] Add maven wrapper for consistent builds (#788)\n\n* add a maven wrapper for consistent builds\n\n* update readme and docs to prefer mvnw for consistent builds\n\n* update more mvn usage\n\n* update deploy_staging_jars"
    },
    {
      "commit": "f9ee9489592c37a60ebb3efd21f36b1f3b02f23e",
      "tree": "9b9ce4381d8fc4fe2330f12ce1d559f05826f9a4",
      "parents": [
        "81af6e294041ec46cd30cd2796b8ab20647b541a"
      ],
      "author": {
        "name": "Mike Dias",
        "email": "mike.rodrigues.dias@gmail.com",
        "time": "Tue Jan 06 14:29:14 2026 +1100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 22:29:14 2026 -0500"
      },
      "message": "Implement Paimon Source Incremental Sync (#780)\n\n* Implement Paimon Incremental Sync\n\n* Spotless apply\n\n* Code review improvements\n\n* Spotless apply"
    },
    {
      "commit": "81af6e294041ec46cd30cd2796b8ab20647b541a",
      "tree": "d478814389ecc5b70a55073d45823b4dd466faa6",
      "parents": [
        "22f4026f00b05069e952d7bfbefee7dda10d79c3"
      ],
      "author": {
        "name": "Xingrong Chen",
        "email": "56777910+xr-chen@users.noreply.github.com",
        "time": "Mon Dec 29 07:58:49 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 29 10:58:49 2025 -0500"
      },
      "message": "Fix Delta to Iceberg not working on column mapping enabled Delta source table (#766)\n\n* Fix Iceberg duplicate field id in converted schema\n\n* Traverse the whole schema before converting, add test for the whole conversion process\n\n* update name mapping in the target Iceberg to read values from correct parquet columns\n\n* Add comments for physical field name and add more fields for schema extraction test\n\n* reset id to name mapping before extraction\n\n* Update name mapping in one place\n\n* update comments\n\n* Create schema extractor per conversion, add test cases for schema evolution\n\n* Add adding columns case for schema evolution test\n\n* recreate the name mapping when source schema contains field IDs\n\n* Wrap single line if statement, add default case for switch, update name mapping only when schema changed\n\n* update comments\n\n* add comments for setNameMapping\n\n* Update name mapping setting function name and comments"
    },
    {
      "commit": "22f4026f00b05069e952d7bfbefee7dda10d79c3",
      "tree": "7020d057673b95bd04a1c88fb42b06bb18bcfb3a",
      "parents": [
        "64f38b813291747a5aecff14664a19354ee02d60"
      ],
      "author": {
        "name": "Hanzhi Wang",
        "email": "hanzhi@apple.com",
        "time": "Wed Dec 17 06:49:13 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 09:49:13 2025 -0500"
      },
      "message": "Delta source: extract nested field\u0027s stats (#769)\n\nCo-authored-by: Hanzhi Wang \u003chanzhi_wang@apple.com\u003e"
    },
    {
      "commit": "64f38b813291747a5aecff14664a19354ee02d60",
      "tree": "1a0fd667582790abbfab9de1846a09e18b7c439e",
      "parents": [
        "04ae0d6f9ae1f2c6c77e36515bd8e792c78c20fe"
      ],
      "author": {
        "name": "vaibhavk1992",
        "email": "kumarvaibhav1992@ymail.com",
        "time": "Wed Dec 03 20:44:16 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 03 10:14:16 2025 -0500"
      },
      "message": "Delta Kernel Draft PR (#729)\n\n* single commit\n\n* adding delta kernel\n\n* adding the test file\n\n* adding workable code for iteration over data\n\n* adding Kernel 4.0 code\n\n* adding the working code with xtable that check getcurrenttable\n\n* adding the dependecies\n\n* adding getcurrentsnapshot code\n\n* spotless fix\n\n* spotless fix 2\n\n* spotless fix 2\n\n* fixed partitioned test case\n\n* setting junit parallel execution to true\n\n* testInsertsUpsertsAndDeletes test case addition,internal datatype additions,big fixes\n\n* added the fix for table basepath listing wrong paths\n\n* added the fix for table basepath listing wrong paths\n\n* adding all tests\n\n* adding refactored code\n\n* spotless fix\n\n* fix change extraction\n\n* adding the commitbacklog test cases changes\n\n* adding a test case testConvertFromDeltaPartitionFormat\n\n* adding a test case testConvertFromDeltaPartitionFormat\n\n* adding the KernelPartitionExtractor test under kernel\n\n* commiting schema extractor and stats extrator\n\n* adding unit test cases with the request changes on the PR\n\n* spotless fix\n\n* spotless fix\n\n* adding haddop common in xtable service POM\n\n* changed map type to java and removed print commands\n\n* changed map type to java and removed print commands\n\n* removing hadoop common from xtable service\n\n* fixing POM\n\n* resolving some minor comments from review\n\n* changing constructor for Datafile extractor\n\n* add exclusion hadoop-client-runtime in POM\n\n* removing unused code and string comparison method\n\n* removing while True condition\n\n---------\n\nCo-authored-by: Timothy Brown \u003ctim@onehouse.ai\u003e"
    },
    {
      "commit": "04ae0d6f9ae1f2c6c77e36515bd8e792c78c20fe",
      "tree": "46e3e39fd71f34c29a96c115df31b814901b6331",
      "parents": [
        "85220ece8ce87194d54f02f66c3dc6e8ac608b00"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Nov 23 18:21:43 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 23 18:21:43 2025 -0500"
      },
      "message": "Bump actions/checkout from 5 to 6 (#761)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v5...v6)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: \u00276\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "85220ece8ce87194d54f02f66c3dc6e8ac608b00",
      "tree": "f55e420ecd73af85f99b313af332b081179455c1",
      "parents": [
        "8cceec7169012ee2cde2b9f1a72dfb49dc51588c"
      ],
      "author": {
        "name": "Rishi Reddy Bokka",
        "email": "brishi19791@gmail.com",
        "time": "Wed Nov 19 14:52:51 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 19 14:52:51 2025 -0800"
      },
      "message": "Handle empty Iceberg table source in conversion (#756)\n\n* Handle empty Iceberg table source in conversion\n\n* applied spotless"
    },
    {
      "commit": "8cceec7169012ee2cde2b9f1a72dfb49dc51588c",
      "tree": "3e1df4fbf4c8e6ad7532cd80d98750a31f7125a7",
      "parents": [
        "93d4d27c9e508508400a8b7985dd3bf40c2488bd"
      ],
      "author": {
        "name": "Mike Dias",
        "email": "mike.rodrigues.dias@gmail.com",
        "time": "Thu Nov 06 09:30:23 2025 +1100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 05 16:30:23 2025 -0600"
      },
      "message": "Paimon Source Support (#742)\n\n* Paimon initial support\n\n# Conflicts:\n#\txtable-api/src/main/java/org/apache/xtable/model/storage/TableFormat.java\n#\txtable-core/src/test/java/org/apache/xtable/GenericTable.java\n#\txtable-core/src/test/java/org/apache/xtable/ITConversionController.java\n\n* Expanding imports and removing java 11 target\n\n* fix compilation issue\n\n* Add Paimon Unit Tests\n\n* Addressing review comments\n\n* Fix test\n\n* Parameterizing timestamp precison tests\n\n* Fix timestamp precision metadata\n\n* Fixing tests by removing the paimon catalog config in spark"
    },
    {
      "commit": "93d4d27c9e508508400a8b7985dd3bf40c2488bd",
      "tree": "38dc961294bf277ae803e96ca9ba40858bfb64dc",
      "parents": [
        "bb548f307e7a2ee9cb40fe728a8dd0f3f8d5084f"
      ],
      "author": {
        "name": "Tim Brown",
        "email": "tim@onehouse.ai",
        "time": "Wed Oct 08 15:16:39 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 08 15:16:39 2025 -0400"
      },
      "message": "[750] Fix schema sync for Iceberg tables (#749)\n\n* fix initial schema sync\n\n* update sync schema\n\n* spotless\n\n* update run sync to hit field ID case\n\n* add basic unit test, fix test expectation\n\n* style"
    },
    {
      "commit": "bb548f307e7a2ee9cb40fe728a8dd0f3f8d5084f",
      "tree": "90c5f93c0cefdc2ce0dcc9dd445d1b53c6f0c5e0",
      "parents": [
        "95e75f9d580e81f4611a88635735feee9023f660"
      ],
      "author": {
        "name": "Piyush Dubey",
        "email": "piyushdubey07@gmail.com",
        "time": "Tue Sep 23 16:22:07 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 24 01:52:07 2025 +0530"
      },
      "message": "[LICENSE] Remove duplicate entry for org.javassist:javassist:3.25.0-GA (#717) (#745)\n\n"
    },
    {
      "commit": "95e75f9d580e81f4611a88635735feee9023f660",
      "tree": "223eb28122f777e48d3643e0e6459abc4b8a0502",
      "parents": [
        "f43352b7fbcc483c3edddf7059c3eb855d08f58d"
      ],
      "author": {
        "name": "Selim Soufargi",
        "email": "80632333+unical1988@users.noreply.github.com",
        "time": "Mon Sep 15 03:02:04 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 14 21:02:04 2025 -0400"
      },
      "message": "[553] parquet source with partition extraction (#728)\n\n* First attempt at parquet source with partition extraction\n\n* refactored conversion source for reading parquetFiles once to getCurrentSnapshot()\n\n* file changes + refactoring of conversion source\n\n* cleanup\n\n* implement get commit identifier\n\n* Hudi Source Config uses PartitionFieldSpec.java\n\n* Hudi Source Config uses PartitionFieldSpec.java bug fix\n\n* refactoring for PartitionValueExtractor to use Hudi based related code\n\n* aligning ConversionSource tests to include Parquet\n\n* implemented remaining parquetSource methods + refactoring, TODO tests\n\n* default case as an exception for finding parquet files + javadocs for PartitionFieldSpec + no file diffs removed files\n\n* refactoring for specExtractor\n\n* table changes update does not check if table exists already\n\n* added test for conversion source\n\n* adjusted test for Hudi after update of HudiSourceConfig\n\n* fixed test bug for parquet and added partitionValues for statsExtractor\n\n* fixed test bug for stats extractor by defining instance obj instead of using static function\n\n* now using a string for the partition format input\n\n* conversion source const for the test using specExtractor\n\n* adjusted conversionSourceProvider for partition init\n\n* adjusted table creation with Spark for Parquet\n\n* fix tests for CI to pass\n\n* fix tests for CI to pass (reverted)\n\n* cleanups\n\n* parquet files collected in a stream now for memory issue\n\n* fixing CI error on partition config in tests\n\n* seperate test class for parquet source\n\n* adjusting pom config for Actions\n\n* tests hitting the source, needs to create the parquet files locally in the test through Spark\n\n* creating parquet files before Testing\n\n* test bug fix\n\n* cleanups\n\n* TODO implement class for test\n\n* TODO check why sync fails to all 3 formats\n\n* sourceField bug not null OK, sync failing on stat generation from InternalType\n\n* highlighting sync errors related to stats and partition fields\n\n* partition config read from the test class + cleanups\n\n* augmenting InternalSchema with the partitionField to get SourceField non-null\n\n* HudiSourceConfig const param type fix\n\n* duplicate col for partitions\n\n* delta stats serialization from parquet data bug fixed\n\n* removed old code and mvn spotless apply\n\n* fixed partitioning by year in tests\n\n* timestamp col is of type timestamp not string (todo schemaExtractor logicalTypes for INT96)\n\n* Delta sync OK, stat conversion issue for Iceberg, metadata issue for Hudi\n\n* Stat conversion patch for string (ICEBERG)\n\n* Parsing Date Values from Partition Path, ICEBERG \u0026 DELTA Sync OK\n\n* fix for Binary Stats conversion in Hudi + upgraded Parquet Version\n\n* set recordKey Fields for Hudi Metadata + spotless:apply\n\n* write data in a data path for proper reading of sourceTable after sync (Tests)\n\n* set parquet schema for reading the dataset (Tests)\n\n* bug fix of dataPath (Tests)\n\n* different metadata path than the parquet file\u0027s to prevent reading confusion related to paths (Tests)\n\n* read parquet sparksession for tests\n\n* read parquet sparksession for tests\n\n* update\n\n* reading part col from path disabled\n\n* spotless apply and CI pass error fixed\n\n* CI pass error fixed\n\n* CI pass error fixed\n\n* CI pass error fixed\n\n* CI pass error fixed\n\n* CI pass error fixed\n\n* refactored parquetSource + cleanups\n\n* fix schemaExtractor bug\n\n* fix Parquet related partition values extraction from path\n\n* fix for Iceberg sync tests for CI to pass\n\n* binary stats are converted into string stats in parquet stats extractor\n\n* binary stats converted per logical type case: STRING....\n\n* testing dataset equivalence differently for Hudi (partition column removed)\n\n* set source identifier for current snapshot as the last modif time\n\n* set spark config for CI\n\n* reformatting + cleanups\n\n* iceberg CI error fix\n\n* delta CI error fix\n\n* delta CI error fix\n\n* refactoring for the statsExtractor\n\n* refactoring for the statsExtractor\n\n* refactoring for the statsExtractor\n\n* many partitions as input for parquet\n\n* many partitions as input for parquet\n\n* revert change in hudi spec extractor\n\n* fix for isNullable records\n\n* fix for isNullable records\n\n* cleanups\n\n* cleanups\n\n* revert hudi version to 0.14.0\n\n* spotless:apply\n\n* added test for non partitioned data + adjusted for cases of Month, Day partitions\n\n* resolving the merge conflict1\n\n* resolving the merge conflict1\n\n* resolving the merge conflict2\n\n* fix for Iceberg for (same key) partition values merge conflict\n\n* fix for reading the datasets in the test class + disable equivalence test for Hudi do to difference in parttition values\n\n* spotless:apply\n\n* added boolean type to the testing dataset\n\n* reformatting\n\n* cleanups\n\n* refactoring + reformatting\n\n* more data types in the testing dataset + refactoring\n\n* refactor test to seperate partitioned and non-partitioned cases\n\n* refactor test to seperate partitioned and non-partitioned cases\n\n* refactor test to seperate partitioned and non-partitioned cases\n\n* refactor test to seperate partitioned and non-partitioned cases\n\n* refactor test to seperate partitioned and non-partitioned cases\n\n* refactor test to seperate partitioned and non-partitioned cases\n\n* refactor test to seperate partitioned and non-partitioned cases\n\n* reformatting\n\n* re-read partitioned data -\u003e create new data with additional rows -\u003e partition again -\u003esync again\n\n* fix writing second dataset bug\n\n* fix writing second dataset bug\n\n* fix datasets equivalence bug\n\n* reformatting\n\n* reformatting\n\n* add more data than append to partitioned file then sync again test added\n\n* add more data than append to partitioned file then sync again test added\n\n* reformatting\n\n* cleanups\n\n* add test for Hudi format for non-partitioned data\n\n* bug fix iceberg partition values\n\n* bug fix iceberg partition values: revert Iceberg code\n\n* parse partition values fix\n\n* fix values parsing by lowering case the partitioning config\n\n* fix values parsing by lowering case the partitioning config 2\n\n* isIncrementalSafe returns false + cleanups + formatting\n\n* address remaining feedback, remove unnecessary changes, cleanup\n\n---------\n\nCo-authored-by: Selim Soufargi \u003cssoufargi.idealab.unical@gmail.com~\u003e\nCo-authored-by: Timothy Brown \u003ctim@onehouse.ai\u003e"
    },
    {
      "commit": "f43352b7fbcc483c3edddf7059c3eb855d08f58d",
      "tree": "29f62de97653985887f1a7d3c8a8d95bc96e9f45",
      "parents": [
        "483175b1ce4595dcd6b222a31fc3d4803255c81d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 08 10:08:14 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 08 10:08:14 2025 -0400"
      },
      "message": "Bump actions/checkout from 4 to 5 (#737)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v4...v5)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: \u00275\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "483175b1ce4595dcd6b222a31fc3d4803255c81d",
      "tree": "83c07e943839ce380602aadd08bcb577c022384a",
      "parents": [
        "51cec294b7fb64e6aebc12e934f7643295435ed6"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 08 10:04:45 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 08 10:04:45 2025 -0400"
      },
      "message": "Bump actions/setup-node from 4 to 5 (#741)\n\nBumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.\n- [Release notes](https://github.com/actions/setup-node/releases)\n- [Commits](https://github.com/actions/setup-node/compare/v4...v5)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-node\n  dependency-version: \u00275\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "51cec294b7fb64e6aebc12e934f7643295435ed6",
      "tree": "d5583d9ff4f6cccabf26607d9ab4ae36c37aff60",
      "parents": [
        "0adb8d39fa772f49ce66a75ba7c5dc926b55db40"
      ],
      "author": {
        "name": "Roushan Kumar",
        "email": "roushankumar.nit@gmail.com",
        "time": "Mon Sep 08 19:07:35 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 08 09:37:35 2025 -0400"
      },
      "message": "Nested column partition support in HudiPartitionValuesExtractor when hive style partitioning is enabled (#738)\n\n"
    },
    {
      "commit": "0adb8d39fa772f49ce66a75ba7c5dc926b55db40",
      "tree": "d3f3485fd504cc360b11f076d43b4a28f74db0af",
      "parents": [
        "9f989bf1988bf9ce29f66bd2a9fe04bb4db73c6a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 08 09:08:31 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 08 09:08:31 2025 -0400"
      },
      "message": "Bump actions/setup-java from 4 to 5 (#740)\n\nBumps [actions/setup-java](https://github.com/actions/setup-java) from 4 to 5.\n- [Release notes](https://github.com/actions/setup-java/releases)\n- [Commits](https://github.com/actions/setup-java/compare/v4...v5)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-java\n  dependency-version: \u00275\u0027\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "9f989bf1988bf9ce29f66bd2a9fe04bb4db73c6a",
      "tree": "db57323c1c1e9e72e9123656a0c346a4a35b1ae5",
      "parents": [
        "19cbda42cca1504fcfbaf130dabce8b1f7b24399"
      ],
      "author": {
        "name": "Pratyaksh Sharma",
        "email": "pratyaksh13@gmail.com",
        "time": "Wed Aug 13 07:04:52 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 12 21:34:52 2025 -0400"
      },
      "message": "Update sync.md page (#734)\n\n"
    },
    {
      "commit": "19cbda42cca1504fcfbaf130dabce8b1f7b24399",
      "tree": "1ab47bf29c21ab6e929d027c52f783a308b69a16",
      "parents": [
        "fe37d1d77f5766cb236f0482b41045213d165b36"
      ],
      "author": {
        "name": "Rahil C",
        "email": "32500120+rahil-c@users.noreply.github.com",
        "time": "Tue Jun 24 20:55:27 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 25 09:25:27 2025 +0530"
      },
      "message": "Add intial IT for XTable REST Service (#716)\n\n* Intial integration tests for xtable rest service\n\n* add hoodie read client\n\n* it fix\n\n* spotless"
    },
    {
      "commit": "fe37d1d77f5766cb236f0482b41045213d165b36",
      "tree": "8cbaa2e3350da0c2e25141644fb6f26d708cf9ce",
      "parents": [
        "d478d2e3355b5c6ba6562aaff48b0c3b0e0a76d1"
      ],
      "author": {
        "name": "Sagar Lakshmipathy",
        "email": "18vidhyasagar@gmail.com",
        "time": "Sat Jun 07 02:34:26 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 07 02:34:26 2025 +0530"
      },
      "message": "[DOCS] Add a new 0.3.0 release page (#725)\n\n* Update downloads.mdx\n\n* Update release-0.2.0-incubating.mdx\n\n* Create release-0.3.0-incubating.mdx\n\n* Update release-0.3.0-incubating.mdx"
    },
    {
      "commit": "d478d2e3355b5c6ba6562aaff48b0c3b0e0a76d1",
      "tree": "d61f9e3ee962afe881eddf1d6e196e5ad2ceb56b",
      "parents": [
        "3dd2f4b4df25f43ad032035f1719f9d8e459f3da"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Sat May 31 23:52:44 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 31 23:52:44 2025 +0530"
      },
      "message": "Fix typo in InternalTable (#720)\n\n"
    },
    {
      "commit": "3dd2f4b4df25f43ad032035f1719f9d8e459f3da",
      "tree": "270c9c767a04369f1da7ff6da1824a26f296f937",
      "parents": [
        "aa31ae8492f3651470afec78eb713cd410f2bf0b"
      ],
      "author": {
        "name": "Monil",
        "email": "moniln@uci.edu",
        "time": "Fri May 30 14:07:49 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 30 16:07:49 2025 -0500"
      },
      "message": "Improved all tests in TestHudiInstantUtils by parameterising and adding more test cases (#703)\n\n* imprved 2 tests in TestHudiInstantUtils by parameterizing and adding more test cases\n\n* fixed style issues"
    },
    {
      "commit": "aa31ae8492f3651470afec78eb713cd410f2bf0b",
      "tree": "963a063705d39e390eb5c216f1ce61a47f7d806d",
      "parents": [
        "108ec6473c6419a6b93ad0ffe2d39e46d9290f07"
      ],
      "author": {
        "name": "Rahil C",
        "email": "32500120+rahil-c@users.noreply.github.com",
        "time": "Fri May 30 11:31:00 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 31 00:01:00 2025 +0530"
      },
      "message": "Add additional properties when doing conversion for hudi (#714)\n\n* Add additional properties when doing conversion for hudi\n\n* fix other issue with hudi partitiong when iceberg is source, and fix UT\n\n* spotless apply"
    },
    {
      "commit": "108ec6473c6419a6b93ad0ffe2d39e46d9290f07",
      "tree": "2a0972ef6834df787a392148eca8d348e8db54e5",
      "parents": [
        "fc4d6e8960eb47b722ee2f319496e11fc7d33cfc"
      ],
      "author": {
        "name": "Selim Soufargi",
        "email": "80632333+unical1988@users.noreply.github.com",
        "time": "Sat May 17 21:00:13 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 17 14:00:13 2025 -0500"
      },
      "message": "[553] Parquet Schema and Column Stats Converters (#669)\n\n* smaller PR for parquet\n\n* read parquet file for metadataExtractor: compiling, not testd\n\n* cleanups for statsExtractor: compiling, not testd\n\n* refactoring for statsExtractor: compiling, not testd\n\n* added avro dependency\n\n* added tests for SchemaExtractor: int and string primitiveTypes test passes\n\n* fixed some minor bugs in SchemaExtractor\n\n* close fileReader and handle exception\n\n* adjusted fromInternalSchema()\n\n* added a test and adjusted SchemaExtractor\n\n* added a testing code\n\n* bug fix for Schema extractor: groupType\n\n* bug fix for Schema extractor\n\n* bug fix for tests\n\n* bug fix for SchemaExtractor and added tests for nested lists support\n\n* bug fix for tests for nested lists support\n\n* bug fix for complex test which now passes!\n\n* added test for Map\n\n* schemaExtractor refactored\n\n* bug fixed isNullable() schema\n\n* fromInternalSchema : list and map types\n\n* decimal primitive test added\n\n* float primitive + list and map tests for fromInternalSchema\n\n* added tests for primitive type (date and timestamp)\n\n* refactoring for partitionValues extractor\n\n* git build error fixed\n\n* cleanups for schemaExtractor + refactoring for schemaExtractorTests + added test code for statsExtractor\n\n* added assertsEqual test for stats + removed partitionFields from the test,  TODO check if field is needed in ColumnStats\n\n* bug fixed for stats tests: columnStats + tests data are read using FileReader\n\n* bug fixed for stats tests, TODO equality test for two objects\n\n* added compareFiles() in InternDataFile for the statsExtractor tests to pass: OK\n\n* added custom comparison test for ColumnStat and InternDataFile, test passes, TODO: other stat types and other schema types testing\n\n* added custom comparison test for ColumnStat (field) and exec spotless apply\n\n* tempDir for parquet stats testing\n\n* binaryStatistics test passes\n\n* added int32 file schema test for statsExtractor\n\n* cleanups + added fields comparison for InternalDataFile\n\n* cleanups + added fixed_len_byte_array primitive type schema file test\n\n* use of genericGetMax instead for stats extraction + cleanups\n\n* boolean schema file test for statsExtractor added\n\n* removed hard coded path in statsExtractor test\n\n* cleanups + imports\n\n* separate tests for int and binary for stats\n\n* custom equals() not needed for InternalDataFile and ColumnStat\n\n* removed parquet version from core sub-project pom\n\n* statsExtractor tests as a suite, removed comments + run spotless apply\n\n* removed uncessary classes\n\n* removed uncessary classes: undo\n\n* undo irrelevant changes\n\n* fixed formatting issues with spotless:apply cmd\n\n* cleanups for test class and fixes for failed build\n\n* tmp file name fixed for failed build\n\n* cleanups\n\n* splotless apply run + assertion internalDataFile equality changed to display errors\n\n* fixes for build, PhysicalPath and BinaryStats\n\n* fixes for build, PhysicalPath and BinaryStats + synced fork\n\n* fixes for build, PhysicalPath and BinaryStats + synced fork\n\n* fixes for build and cleanups\n\n* fixes for build and cleanups\n\n* Parquet dep set as provided to use Spark\u0027s\n\n* parquet dep version back to 1.15.1\n\n* parquet-avro moved from core to project\u0027s pom\n\n* parquet-avro moved after hadoop-common\n\n* parquet dep scope removed\n\n* run spotless:apply\n\n---------\n\nCo-authored-by: Selim Soufargi \u003cssoufargi.idealab.unical@gmail.com~\u003e"
    },
    {
      "commit": "fc4d6e8960eb47b722ee2f319496e11fc7d33cfc",
      "tree": "6d9ed002ce4d2bc7a9db340bb563d019a58d52bc",
      "parents": [
        "81e8364538acc1bb98de09f95c7e9644c268aac8"
      ],
      "author": {
        "name": "Rahil C",
        "email": "32500120+rahil-c@users.noreply.github.com",
        "time": "Fri May 09 22:20:02 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 10 10:50:02 2025 +0530"
      },
      "message": "Add implementation for XTable REST Service (#704)\n\n* Add module for xtable rest service\n\n* Use builder pattern, spotless fix\n\n* Add unit test for conversion resource\n\n* Refactor code for easier testing, add unit test for service\n\n* Fix other failing modules tests by moving quarkus bom into xtable service\n\n* Add metadata helper utils, test other formats\n\n* Address Vinish intial set of comments\n\n* add unit test for util\n\n* minor fix for other unit test\n\n* spotless\n\n* fix dependency conflict to make unit tests run in ci\n\n* minor mvn fix\n\n* Address Vinish remaining comments\n\n* Address Vinish comments\n\n* Make sourceProviders private final\n\n---------\n\nCo-authored-by: Vinish Reddy \u003cvinish@apache.org\u003e"
    },
    {
      "commit": "81e8364538acc1bb98de09f95c7e9644c268aac8",
      "tree": "86d5fcd3b3b6f2af5dbcbdf5f643db49ea4c238e",
      "parents": [
        "5ec6b8d0443ca43945303b2dca40eb14d1439513"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Sat May 10 10:26:41 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 10 10:26:41 2025 +0530"
      },
      "message": "Update NOTICE file for bundled jars (#709)\n\n"
    },
    {
      "commit": "5ec6b8d0443ca43945303b2dca40eb14d1439513",
      "tree": "a97e0047d0cea02c99e113a455f58b29481e3bef",
      "parents": [
        "af60ab4f411bc93c6d976b1266dc451efb833c25"
      ],
      "author": {
        "name": "Rahil C",
        "email": "32500120+rahil-c@users.noreply.github.com",
        "time": "Fri May 09 13:26:30 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 10 01:56:30 2025 +0530"
      },
      "message": "Add latest metadata path field in InternalTable (#710)\n\n* Add latest metadata path field\n\n* ensure field is asserted"
    },
    {
      "commit": "af60ab4f411bc93c6d976b1266dc451efb833c25",
      "tree": "f455a49d023e78175ae715dfd57995ac05259dd1",
      "parents": [
        "0f0d30c620bab7f4e7acf624b597d1327774ea87"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Thu May 08 11:17:21 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 08 11:17:21 2025 +0530"
      },
      "message": "Update license files for bundled jars (#707)\n\n"
    },
    {
      "commit": "0f0d30c620bab7f4e7acf624b597d1327774ea87",
      "tree": "76870e4fbc974d15a1811010e73ff8d7f6826cb7",
      "parents": [
        "d60e0469a2e85a34fe6803df21e106f111a8bb19"
      ],
      "author": {
        "name": "Dipankar Mazumdar",
        "email": "103004148+dipankarmazumdar@users.noreply.github.com",
        "time": "Wed May 07 17:06:01 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 08 02:36:01 2025 +0530"
      },
      "message": "catalog sync blog (#708)\n\n"
    },
    {
      "commit": "d60e0469a2e85a34fe6803df21e106f111a8bb19",
      "tree": "7f8537ab43740fc00650c920a5213c102c092fd4",
      "parents": [
        "18956f6081024e61124ba2665ce286a46c134510"
      ],
      "author": {
        "name": "Rahil C",
        "email": "32500120+rahil-c@users.noreply.github.com",
        "time": "Wed Apr 30 21:39:58 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 01 10:09:58 2025 +0530"
      },
      "message": "Add open api REST spec for XTable Service (#705)\n\n"
    },
    {
      "commit": "18956f6081024e61124ba2665ce286a46c134510",
      "tree": "eaed140ba21cfadff9e43e7e0f6e07dcc58efdfc",
      "parents": [
        "a39988e369dd4936a331d9f30ab8e199539dde17"
      ],
      "author": {
        "name": "Dipankar Mazumdar",
        "email": "103004148+dipankarmazumdar@users.noreply.github.com",
        "time": "Wed Apr 30 15:48:29 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 01 01:18:29 2025 +0530"
      },
      "message": "[DOCS]: Add 3 New Community Blogs (#706)\n\n* Ignore my_config_catalog.yaml\n\n* Add 3 community blogs"
    },
    {
      "commit": "a39988e369dd4936a331d9f30ab8e199539dde17",
      "tree": "f45fbc06b6e175c17935cf07183c8d611876655a",
      "parents": [
        "62814422118d807ad829be5d0aae44b879d20c72"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Thu Apr 17 09:19:40 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 17 09:19:40 2025 +0530"
      },
      "message": "Ensure LICENSE content is different for bundled jars (#699)\n\n"
    },
    {
      "commit": "62814422118d807ad829be5d0aae44b879d20c72",
      "tree": "69fd6ef7cf3747a6e47355bdef62631abf55f1f7",
      "parents": [
        "50b33c4fb142e2dadbbd01934a9059b5263a6a83"
      ],
      "author": {
        "name": "Roushan Kumar",
        "email": "roushankumar.nit@gmail.com",
        "time": "Thu Apr 17 02:48:39 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 17 02:48:39 2025 +0530"
      },
      "message": "Remove parameters from Glue partition columns (#697)\n\n* Remove parameters from partition columns in Glue\n\n* fix tests"
    },
    {
      "commit": "50b33c4fb142e2dadbbd01934a9059b5263a6a83",
      "tree": "ca0cbe44c4b475bcf13d475a9acca56f2e65e5ae",
      "parents": [
        "5d88fadaf1c50bf378d68c5629ec97cffcf6dcdb"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Wed Apr 16 07:39:13 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 16 07:39:13 2025 +0530"
      },
      "message": "[692] Exclude jol-core in xtable bundled dependencies (#696)\n\n* Exclude jol-core in xtable bundled dependencies\n\n* Fix build\n\n* Exclude jol from hudi-common and include it as test deps\n\n* Tidying up\n\n* Fix build\n\n* Fix build for xtable-utilities"
    },
    {
      "commit": "5d88fadaf1c50bf378d68c5629ec97cffcf6dcdb",
      "tree": "3a664726fcea663a690f9405fb13f2df73db7f0e",
      "parents": [
        "4f8cc6b977857a9fd46931f8d06df8ce80899c92"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Tue Apr 15 09:22:08 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 15 09:22:08 2025 +0530"
      },
      "message": "Include 2025 in NOTICE file (#695)\n\n"
    },
    {
      "commit": "4f8cc6b977857a9fd46931f8d06df8ce80899c92",
      "tree": "03733932315391872b1d91d3c142ea7a289fc5e8",
      "parents": [
        "f41f740180bcc10265981567ef9ffdad6240ba98"
      ],
      "author": {
        "name": "Om Kenge",
        "email": "88768848+omkenge@users.noreply.github.com",
        "time": "Mon Apr 14 23:38:14 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 14 13:08:14 2025 -0500"
      },
      "message": "Docs: Update Footer Copyright Year (#654)\n\n* Update index.html\n\n* Update NOTICE"
    },
    {
      "commit": "f41f740180bcc10265981567ef9ffdad6240ba98",
      "tree": "e5daec3c591987a77582c19f811d20203768cdc8",
      "parents": [
        "9d19db3f0c2e7a104ddeb37337e0fcf523eea65c"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Wed Apr 09 08:15:03 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 09 08:15:03 2025 +0530"
      },
      "message": "Add LICENSE for xtable-hive-metastore module (#691)\n\n"
    },
    {
      "commit": "9d19db3f0c2e7a104ddeb37337e0fcf523eea65c",
      "tree": "7371cc18070572e97d9de41fa815c869ce0b2727",
      "parents": [
        "d4ffce6a787983d460e0cd5050348a3a550e7b35"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Wed Apr 09 08:14:36 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 09 08:14:36 2025 +0530"
      },
      "message": "Add LICENSE for xtable-aws module (#690)\n\n"
    },
    {
      "commit": "d4ffce6a787983d460e0cd5050348a3a550e7b35",
      "tree": "b7999bf9267dfcf34c0a67fe2570b473baac4f9d",
      "parents": [
        "25b41208966587f63f81f10117c163fc50fd2c31"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinish@apache.org",
        "time": "Mon Apr 07 21:16:17 2025 -0700"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Tue Apr 08 21:59:37 2025 +0530"
      },
      "message": "Enable squash and merge in .asf.yaml for xtable\n"
    },
    {
      "commit": "25b41208966587f63f81f10117c163fc50fd2c31",
      "tree": "97e0f422663bbb547241a647a4dcf5be7265ccae",
      "parents": [
        "495319578f2bc60c9370071cf10b28b1aa4cdf00"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinish@apache.org",
        "time": "Mon Apr 07 21:05:30 2025 -0700"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Tue Apr 08 09:55:03 2025 +0530"
      },
      "message": "Bump org.apache.parquet:parquet-avro from 1.12.3 to 1.15.1\n"
    },
    {
      "commit": "495319578f2bc60c9370071cf10b28b1aa4cdf00",
      "tree": "c40e279a2093d84d71e46860fcb4b62ef78786f8",
      "parents": [
        "d6ea384444a3b3bcc35d669579cd4bd6114c0f6e"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Mon Apr 07 15:08:59 2025 -0700"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Tue Apr 08 03:56:52 2025 +0530"
      },
      "message": "Introduce maturity-level in xtable-api and Refactor SyncStatusCode into separate class\n"
    },
    {
      "commit": "d6ea384444a3b3bcc35d669579cd4bd6114c0f6e",
      "tree": "49bd21956bddf9a89883dc44f39d2dc37a0507e0",
      "parents": [
        "c64e94d62a1b3fe0981c21690849a39c603828b0"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Mon Apr 07 00:54:54 2025 -0700"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Mon Apr 07 21:04:40 2025 +0530"
      },
      "message": "Avoid skipping xtable-aws and xtable-hive-metastore in mvn deploy\n"
    },
    {
      "commit": "c64e94d62a1b3fe0981c21690849a39c603828b0",
      "tree": "ee58e50f96e66d3ec47413ab2f194b5418a21b76",
      "parents": [
        "c2a22803f1828991854f8b931c000743b25ee831"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Mon Apr 07 02:46:46 2025 -0700"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Mon Apr 07 07:26:27 2025 -0500"
      },
      "message": "Add contribution guidelines to reflect stale PR\u0027s guidelines\n"
    },
    {
      "commit": "c2a22803f1828991854f8b931c000743b25ee831",
      "tree": "95d27822984c181eb20f7ba3c7cbc9ebca0abae1",
      "parents": [
        "3a5ea7289c330d887c4746d36b5dfd0dccbdd1b9"
      ],
      "author": {
        "name": "Timothy Brown",
        "email": "tim@onehouse.ai",
        "time": "Sun Apr 06 20:17:44 2025 -0500"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Sun Apr 06 21:04:18 2025 -0500"
      },
      "message": "move to commit mailing list, issues does not exist\n"
    },
    {
      "commit": "3a5ea7289c330d887c4746d36b5dfd0dccbdd1b9",
      "tree": "5519d58070c099da7b5912cead433e2400890e00",
      "parents": [
        "e1b27c7a6190d079d2452ce02cbe6df56d21942a"
      ],
      "author": {
        "name": "Timothy Brown",
        "email": "tim@onehouse.ai",
        "time": "Sun Apr 06 12:08:38 2025 -0500"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Sun Apr 06 12:43:43 2025 -0500"
      },
      "message": "add mailing list for discussions, update issues list\n"
    },
    {
      "commit": "e1b27c7a6190d079d2452ce02cbe6df56d21942a",
      "tree": "97a6b0db763178d45f7325458066976f72a4bc9f",
      "parents": [
        "5f25adc8ebe4a6f7c0c307aafda42e9273f580d1"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Wed Apr 02 09:06:48 2025 -0700"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Wed Apr 02 22:11:21 2025 +0530"
      },
      "message": "Add how-to docs for catalog sync\n"
    },
    {
      "commit": "5f25adc8ebe4a6f7c0c307aafda42e9273f580d1",
      "tree": "3dd73e4cd8ae12d02a384cc8d679dd086575a1a8",
      "parents": [
        "ffe898a574bdd63e75e8c2ae89524957f512a4aa"
      ],
      "author": {
        "name": "vaibhavk1992",
        "email": "kumarvaibhav1992@ymail.com",
        "time": "Tue Mar 25 23:13:29 2025 +0530"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Wed Apr 02 13:29:35 2025 +0530"
      },
      "message": "Refactor RunSync Class for Improved Modularity and Reusability\n\nremoving extra spaces\n\nmoving config file to resources\n\nadding spotless apply\n"
    },
    {
      "commit": "ffe898a574bdd63e75e8c2ae89524957f512a4aa",
      "tree": "5b600dd525d82c3d73b96bf22f1f029e11ba1d00",
      "parents": [
        "680cf9c170982f1471b88a02cb2ed4021c4b3272"
      ],
      "author": {
        "name": "Timothy Brown",
        "email": "tim@onehouse.ai",
        "time": "Tue Apr 01 22:14:16 2025 -0500"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Wed Apr 02 10:00:25 2025 +0530"
      },
      "message": "fix docker file syntax issue\n"
    },
    {
      "commit": "680cf9c170982f1471b88a02cb2ed4021c4b3272",
      "tree": "d59fb3547dfc344f206ebd40f620f3d67e99c66d",
      "parents": [
        "dafe24a86c38bf32ce93464d14ce66c0029ca724"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Tue Apr 01 14:48:46 2025 -0700"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Wed Apr 02 03:37:37 2025 +0530"
      },
      "message": "Handle timestamp_ntz in delta and iceberg\n"
    },
    {
      "commit": "dafe24a86c38bf32ce93464d14ce66c0029ca724",
      "tree": "316024c4b207e2112244dde884e69efd2a0eac8d",
      "parents": [
        "23d870ede0ef54a28c0cfdc65908bc74fcffe3ff"
      ],
      "author": {
        "name": "Timothy Brown",
        "email": "tim@onehouse.ai",
        "time": "Mon Mar 31 20:11:38 2025 -0500"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Mon Mar 31 20:32:53 2025 -0500"
      },
      "message": "Add support for bucket partition transform, ignore void partition in iceberg source\n"
    },
    {
      "commit": "23d870ede0ef54a28c0cfdc65908bc74fcffe3ff",
      "tree": "7e91b0762f9a783fd2be92e8fd655177cdb3ebd2",
      "parents": [
        "50e518147468e878b3b64c30aa606cedc5ae230f"
      ],
      "author": {
        "name": "rbokka",
        "email": "rbokka@microsoft.com",
        "time": "Fri Mar 07 08:55:42 2025 -0500"
      },
      "committer": {
        "name": "Ashvin",
        "email": "ashvina@users.noreply.github.com",
        "time": "Tue Mar 11 13:05:03 2025 -0700"
      },
      "message": "Modified incremental safe check which does not depend on snapshots list order\nCo-authored-by: Timothy Brown \u003ctim@onehouse.ai\u003e\n"
    },
    {
      "commit": "50e518147468e878b3b64c30aa606cedc5ae230f",
      "tree": "5c29657ba08977026350d7dec74a11fdae987981",
      "parents": [
        "546edaa377f56358f77e7a6395909c617caf5750"
      ],
      "author": {
        "name": "Timothy Brown",
        "email": "tim@onehouse.ai",
        "time": "Sun Mar 09 10:26:48 2025 -0500"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Tue Mar 11 08:21:47 2025 -0500"
      },
      "message": "minor fixes recommended from static analysis tooling\n"
    },
    {
      "commit": "546edaa377f56358f77e7a6395909c617caf5750",
      "tree": "2c5df04a6a28808700270d388c1aeb3796c21b08",
      "parents": [
        "fc1ba78a3c1836d7eebeaafed23c9bbc2f108a74"
      ],
      "author": {
        "name": "Timothy Brown",
        "email": "tim@onehouse.ai",
        "time": "Mon Mar 10 13:09:52 2025 -0500"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Mon Mar 10 13:28:54 2025 -0500"
      },
      "message": "Add continous sync mode for utilities bundle, add additional testing\n"
    },
    {
      "commit": "fc1ba78a3c1836d7eebeaafed23c9bbc2f108a74",
      "tree": "56e9c79b46d1d851daa8ba2008378bffdb4cc418",
      "parents": [
        "c76692b85a646adb449a263652747c1c87de37b8"
      ],
      "author": {
        "name": "Ashvin Agrawal",
        "email": "ashvin@apache.org",
        "time": "Wed Mar 05 16:21:19 2025 -0800"
      },
      "committer": {
        "name": "Ashvin",
        "email": "ashvina@users.noreply.github.com",
        "time": "Thu Mar 06 15:18:26 2025 -0800"
      },
      "message": "Fix flaky test, ignore order of elements in list validation\n"
    },
    {
      "commit": "c76692b85a646adb449a263652747c1c87de37b8",
      "tree": "ba99282f860f5860899a5870b00eb2f2679ab55c",
      "parents": [
        "dc209962c8f255be3b2afa5e213e5ca7735a3a14"
      ],
      "author": {
        "name": "Ashvin Agrawal",
        "email": "ashvin@apache.org",
        "time": "Sun Feb 16 12:48:22 2025 -0800"
      },
      "committer": {
        "name": "Ashvin",
        "email": "ashvina@users.noreply.github.com",
        "time": "Wed Mar 05 14:34:49 2025 -0800"
      },
      "message": "Add base representation of storage files\n"
    },
    {
      "commit": "dc209962c8f255be3b2afa5e213e5ca7735a3a14",
      "tree": "2a73eb1e8d9ef1eede9a66d0ab07c9e18fc41e4f",
      "parents": [
        "03e5b02239db0008bd96b1b9f757e469a7b668d0"
      ],
      "author": {
        "name": "Ashvin Agrawal",
        "email": "ashvin@apache.org",
        "time": "Tue Jan 28 09:15:12 2025 -0800"
      },
      "committer": {
        "name": "Ashvin",
        "email": "ashvina@users.noreply.github.com",
        "time": "Mon Mar 03 13:37:29 2025 -0800"
      },
      "message": "Add change proposal for conversion of deletion vectors\n"
    },
    {
      "commit": "03e5b02239db0008bd96b1b9f757e469a7b668d0",
      "tree": "279525f2c0f15033ea01221f8fd013734c9c7feb",
      "parents": [
        "f194f4cbc8a54a2cfd49c18b14d656abb046baf2"
      ],
      "author": {
        "name": "Vamsi",
        "email": "vamsi@onehouse.ai",
        "time": "Thu Feb 13 17:14:34 2025 +0530"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Mon Feb 24 13:24:43 2025 +0530"
      },
      "message": "[590] Add Hudi Glue Catalog Sync Implementation\n"
    },
    {
      "commit": "f194f4cbc8a54a2cfd49c18b14d656abb046baf2",
      "tree": "901cdd9f20997a1a516275ed07e2732a2deb35ce",
      "parents": [
        "b3e03e5522af9e1dc08133b849f7e802b755dbab"
      ],
      "author": {
        "name": "Vamsi",
        "email": "vamsi@onehouse.ai",
        "time": "Tue Feb 11 20:00:00 2025 +0530"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Wed Feb 19 15:06:09 2025 +0530"
      },
      "message": "[590] Add Hudi HMS Catalog Sync Implementation\n"
    },
    {
      "commit": "b3e03e5522af9e1dc08133b849f7e802b755dbab",
      "tree": "ef20346d42776d431847c6aa30e668ef56da93b4",
      "parents": [
        "67946b98f45a722a2d277677f23c11aaeec734ce"
      ],
      "author": {
        "name": "Daniel Tu",
        "email": "danieltu.life@gmail.com",
        "time": "Sat Oct 26 18:01:16 2024 -0700"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Tue Feb 18 09:14:05 2025 -0600"
      },
      "message": "[40] Add commit-level metadata and source-target id mapping\n"
    },
    {
      "commit": "67946b98f45a722a2d277677f23c11aaeec734ce",
      "tree": "e7a825476910a81be1cc5e97d0fc0941321d213c",
      "parents": [
        "2e71e156667f9304442e834410e95abd03837fc6"
      ],
      "author": {
        "name": "Emmanuel Ferdman",
        "email": "emmanuelferdman@gmail.com",
        "time": "Sat Feb 15 12:50:13 2025 -0800"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Sun Feb 16 13:14:06 2025 -0600"
      },
      "message": "Update conversion sources\n\nSigned-off-by: Emmanuel Ferdman \u003cemmanuelferdman@gmail.com\u003e\n"
    },
    {
      "commit": "2e71e156667f9304442e834410e95abd03837fc6",
      "tree": "cdab033b8c92b078caac6e568ff8387b355319f7",
      "parents": [
        "e79a2d34e78f6dd5c179813630912c086903aed2"
      ],
      "author": {
        "name": "Vamsi",
        "email": "vamsi@onehouse.ai",
        "time": "Tue Feb 11 20:00:00 2025 +0530"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Thu Feb 13 14:01:59 2025 +0530"
      },
      "message": "[590] Changes in xtable-core for Hudi Catalog Sync\n"
    },
    {
      "commit": "e79a2d34e78f6dd5c179813630912c086903aed2",
      "tree": "34f0b6961168e1461a4ee71613ea8805989e74b0",
      "parents": [
        "f2045be951fa1af4c1c736ac524e6a3e50acb870"
      ],
      "author": {
        "name": "Roushan Kumar",
        "email": "roushankumar.nit@gmail.com",
        "time": "Fri Feb 07 00:15:14 2025 +0530"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Thu Feb 06 11:10:23 2025 -0800"
      },
      "message": "[590] Add Delta HMS Catalog Sync implementation\n"
    },
    {
      "commit": "f2045be951fa1af4c1c736ac524e6a3e50acb870",
      "tree": "88a48bee8da13ec48be97d252605b7301b9d9f5c",
      "parents": [
        "30f3e544158aad880e0ab094da15d303f90cd3d7"
      ],
      "author": {
        "name": "Roushan Kumar",
        "email": "roushankumar.nit@gmail.com",
        "time": "Fri Feb 07 00:07:23 2025 +0530"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Thu Feb 06 11:08:36 2025 -0800"
      },
      "message": "[590] Add Delta Glue Catalog Sync implementation\n"
    },
    {
      "commit": "30f3e544158aad880e0ab094da15d303f90cd3d7",
      "tree": "49be4712ecc7d0974f499e4843c74445331eaea5",
      "parents": [
        "8b0b5eafa03c745313de324a50e92d40ad88119d"
      ],
      "author": {
        "name": "Roushan Kumar",
        "email": "roushankumar.nit@gmail.com",
        "time": "Wed Feb 05 00:05:42 2025 +0530"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Tue Feb 04 13:09:10 2025 -0800"
      },
      "message": "[590] Add Iceberg HMS Catalog Sync implementation\n"
    },
    {
      "commit": "8b0b5eafa03c745313de324a50e92d40ad88119d",
      "tree": "423a6627cbeaa7c0358b670b168e7e76f3af9573",
      "parents": [
        "79c68def760db554eab7eacd418e81e08788f65a"
      ],
      "author": {
        "name": "Roushan Kumar",
        "email": "roushankumar.nit@gmail.com",
        "time": "Tue Feb 04 22:35:16 2025 +0530"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Tue Feb 04 09:36:21 2025 -0800"
      },
      "message": "[590] Add Iceberg Glue Catalog Sync implementation\n"
    },
    {
      "commit": "79c68def760db554eab7eacd418e81e08788f65a",
      "tree": "8202f76546538f56c57a1a571fb14cc4aa30766e",
      "parents": [
        "d3bbe5febb6facd7b9dc7aa0994e37125cac91eb"
      ],
      "author": {
        "name": "Bhavani Sudha Saktheeswaran",
        "email": "2179254+bhasudha@users.noreply.github.com",
        "time": "Sun Feb 02 07:45:22 2025 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Tue Feb 04 01:08:56 2025 +0530"
      },
      "message": "[site] Update blogs\n"
    },
    {
      "commit": "d3bbe5febb6facd7b9dc7aa0994e37125cac91eb",
      "tree": "33a6287d94fcc51a634eca9c36358d51c5d00c49",
      "parents": [
        "9fa812e32df3bba25cfa27398c10a7c9eb24e2e2"
      ],
      "author": {
        "name": "Hanzhi Wang",
        "email": "hanzhi_wang@apple.com",
        "time": "Wed Jan 15 23:12:49 2025 -0800"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Fri Jan 31 14:04:30 2025 -0600"
      },
      "message": "Delta source: add record count for DataFile\n\nThe change improved how to get the number of records from Delta source and fixed the edge case when columnStats list is empty, the number of records is 0.\nA wrapper called FileStats is added to wrap the list of ColumnStat and num of records per file.\n"
    },
    {
      "commit": "9fa812e32df3bba25cfa27398c10a7c9eb24e2e2",
      "tree": "f5f0cacdd075948fbfd195ed62a433f0fd337bc0",
      "parents": [
        "c9deec1acc96d0662fb57c9036df90461f082a79"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Mon Jan 27 11:15:03 2025 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Tue Jan 28 01:02:48 2025 +0530"
      },
      "message": "[590] Add RunCatalogSync utility for synchronizing tables across catalogs\n"
    },
    {
      "commit": "c9deec1acc96d0662fb57c9036df90461f082a79",
      "tree": "4aed77c205600c295f6b0bb8a857dc69a13974fa",
      "parents": [
        "b463ae6ebea3e3c6f2c6513d803cfa8dece1a75b"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Mon Jan 27 10:50:57 2025 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Tue Jan 28 00:44:01 2025 +0530"
      },
      "message": "[590] Add RFC for XCatalogSync - Synchronize tables across catalogs\n"
    },
    {
      "commit": "b463ae6ebea3e3c6f2c6513d803cfa8dece1a75b",
      "tree": "5cf1c048a0023f56100977dc4ab171ce5abb8e96",
      "parents": [
        "14967dd610cb013e4c90718a2974e091b0ec4bf7"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Mon Jan 27 10:17:39 2025 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Tue Jan 28 00:04:26 2025 +0530"
      },
      "message": "Update GMeet link and add today\u0027s recording\n"
    },
    {
      "commit": "14967dd610cb013e4c90718a2974e091b0ec4bf7",
      "tree": "a0f282e58de9223fec7a6f91242c04da07494f69",
      "parents": [
        "4db9bb868655eea3dcc15c4692323f68fef4f454"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Wed Jan 22 14:51:12 2025 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Thu Jan 23 04:37:42 2025 +0530"
      },
      "message": "Add community sync page for XTable\n"
    },
    {
      "commit": "4db9bb868655eea3dcc15c4692323f68fef4f454",
      "tree": "a0a1b1a0d23fd4431fb09d3b62322008bbfb33ec",
      "parents": [
        "8c143a7e839bb0b14e4a21cff654be777e6353c7"
      ],
      "author": {
        "name": "Timothy Brown",
        "email": "tim@onehouse.ai",
        "time": "Thu Jan 02 16:58:10 2025 -0800"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Tue Jan 07 11:02:00 2025 -0600"
      },
      "message": "add iceberg stats when reading snapshot\n"
    },
    {
      "commit": "8c143a7e839bb0b14e4a21cff654be777e6353c7",
      "tree": "d91ff9a8d5d6a459bfca3d85f0a08244906d479d",
      "parents": [
        "2b01cc0c4dd8c5c75deaf7737e234bdaf927b1bd"
      ],
      "author": {
        "name": "Timothy Brown",
        "email": "tim@onehouse.ai",
        "time": "Tue Jan 07 09:22:17 2025 -0600"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Tue Jan 07 10:19:08 2025 -0600"
      },
      "message": "scale BigDecimal col stats correctly\n"
    },
    {
      "commit": "2b01cc0c4dd8c5c75deaf7737e234bdaf927b1bd",
      "tree": "605fc35664c18494733453ac511cc758df2dcbed",
      "parents": [
        "7563aaaaf6c0e84091ba0a2858130515c6b7e762"
      ],
      "author": {
        "name": "Timothy Brown",
        "email": "tim@onehouse.ai",
        "time": "Mon Jan 06 14:55:50 2025 -0600"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Mon Jan 06 16:34:06 2025 -0600"
      },
      "message": "update dependencies, fix test class names\n"
    },
    {
      "commit": "7563aaaaf6c0e84091ba0a2858130515c6b7e762",
      "tree": "2a794b23efed0d07d525bb447222a59db579a768",
      "parents": [
        "d80c957e86fc2372857062def93b729eddef0331"
      ],
      "author": {
        "name": "Roushan Kumar",
        "email": "roushankumar.nit@gmail.com",
        "time": "Tue Dec 31 22:42:14 2024 +0530"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Tue Dec 31 11:56:24 2024 -0800"
      },
      "message": "Hadoop and AWS sdk version upgrade\n"
    },
    {
      "commit": "d80c957e86fc2372857062def93b729eddef0331",
      "tree": "7647dcd13bd553d37523d757143cbc608e2a9340",
      "parents": [
        "fb724f0c8989c684259c24ebad3cefbefdc43432"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Sun Dec 29 23:57:16 2024 -0800"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Mon Dec 30 07:16:53 2024 -0800"
      },
      "message": "[590] Add RFC template for XTable\n"
    },
    {
      "commit": "fb724f0c8989c684259c24ebad3cefbefdc43432",
      "tree": "678bcc8b2fa424bb6d882f8b43172c619b9298a6",
      "parents": [
        "a08ca242fc9e06ebc1334301518749b5fd553a38"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Thu Dec 26 11:10:59 2024 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Fri Dec 27 00:57:30 2024 +0530"
      },
      "message": "[590] Add interfaces for CatalogSyncClient and CatalogSync\n"
    },
    {
      "commit": "a08ca242fc9e06ebc1334301518749b5fd553a38",
      "tree": "f0b29ba5ed5d864f8aace699f46140c5bbbe3060",
      "parents": [
        "6a5f2b4e736ec2fbda6be2ce192a79d01a6a9d12"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Thu Dec 19 17:37:03 2024 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Sat Dec 21 04:56:00 2024 +0530"
      },
      "message": "[590] Add RFC template for XTable\n"
    },
    {
      "commit": "6a5f2b4e736ec2fbda6be2ce192a79d01a6a9d12",
      "tree": "a67d2dbb084b6c336bd0a3bb2c5368268d4d2eb4",
      "parents": [
        "f6767883f8c27c4ad39e4bb54352fcdae964c11d"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Fri Dec 13 18:50:13 2024 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Thu Dec 19 03:13:35 2024 +0530"
      },
      "message": "Normalize basePath in targetTables in ConversionController\n"
    },
    {
      "commit": "f6767883f8c27c4ad39e4bb54352fcdae964c11d",
      "tree": "dbe6baa1ecdf100fc2b28639211ade4e49308e6a",
      "parents": [
        "a360affcac22a12e1a44abd1e3ff29ea0c1d8696"
      ],
      "author": {
        "name": "Ashvin Agrawal",
        "email": "ashvin@apache.org",
        "time": "Sun Dec 08 21:00:09 2024 -0800"
      },
      "committer": {
        "name": "Ashvin",
        "email": "ashvina@users.noreply.github.com",
        "time": "Wed Dec 18 10:54:05 2024 -0800"
      },
      "message": "Fix commit log parsing of Delta tables with delete vector\n\n- Correct handling of delete vectors to avoid adding data file paths to both new and removed file\n  sets in `FileDiff`\n- Detect new file stats in logs that are not supported by XTable and log them. New stats do not\n  break parsing of the stats json. For e.g. `tightBounds` property in Delta stats if deletion\n  vectors are enabled\n"
    },
    {
      "commit": "a360affcac22a12e1a44abd1e3ff29ea0c1d8696",
      "tree": "f52ce60131df3274efaa0b3c9d91fc34f7d65a7a",
      "parents": [
        "843204ef45cc55eee88e0e7f4b95122a4f2a4c14"
      ],
      "author": {
        "name": "Ashvin Agrawal",
        "email": "ashvin@apache.org",
        "time": "Wed Dec 04 14:25:45 2024 -0800"
      },
      "committer": {
        "name": "Ashvin",
        "email": "ashvina@users.noreply.github.com",
        "time": "Wed Dec 11 20:37:23 2024 -0800"
      },
      "message": "Execute correct delete operation in delta tests\n\nThis change use the correct table row deletion operation in the deleteRows method, which previosly\nperformed merge-with-delete operation instead of a true delete. Since most test tables do not have\ndelete vectors enabled, this change does not break existing tests.\nTo validate the change, a new test has been added with deletion vector property set for the test\ntable. However, the actual XTable conversion test is not part of this change, as it requires more\nchanges in the DeltaSource to correctly handle the deletion files. This will be addressed in future\nupdate.\n"
    },
    {
      "commit": "843204ef45cc55eee88e0e7f4b95122a4f2a4c14",
      "tree": "d67d91d6a7dacdf87bc732b1392d3d45d9d68a69",
      "parents": [
        "30414f4b1515f09387c9ce2e27e1652591745d00"
      ],
      "author": {
        "name": "Stamatis Zampetakis",
        "email": "zabetak@gmail.com",
        "time": "Wed Dec 04 12:22:54 2024 +0100"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Wed Dec 04 08:22:40 2024 -0600"
      },
      "message": "Site content is not deployed due to missing .asf.yaml file\n"
    },
    {
      "commit": "30414f4b1515f09387c9ce2e27e1652591745d00",
      "tree": "a320fbd2514f4f38a28abf3cb9216f8db91f3350",
      "parents": [
        "5ab5c5a9e14f7f8317990144e42b6d54df8546dd"
      ],
      "author": {
        "name": "dipankarmazumdar",
        "email": "dp976894@dal.ca",
        "time": "Tue Nov 26 13:21:22 2024 -0500"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Thu Nov 28 01:00:11 2024 +0530"
      },
      "message": "2 new blogs\n\nRemove my_config.yaml from repository\n\nIgnore my_config.yaml\n"
    },
    {
      "commit": "5ab5c5a9e14f7f8317990144e42b6d54df8546dd",
      "tree": "60859fdbafec119bc449ba28e46a32c2e261ad12",
      "parents": [
        "63357f287bf432340fbe273c30acfbd29ca1eef3"
      ],
      "author": {
        "name": "Sagar Lakshmipathy",
        "email": "18vidhyasagar@gmail.com",
        "time": "Mon Nov 18 19:37:41 2024 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Tue Nov 19 09:41:44 2024 +0530"
      },
      "message": "remove info on snowflake pp\n"
    },
    {
      "commit": "63357f287bf432340fbe273c30acfbd29ca1eef3",
      "tree": "8842847db89a78de330faae6bb2d736c6e4e9a54",
      "parents": [
        "f3e114683be723674caa7d5ad68dab7cea48fa57"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinishreddygunner17@gmail.com",
        "time": "Fri Nov 08 17:15:22 2024 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Sat Nov 09 10:23:22 2024 +0530"
      },
      "message": "Try enabling keep_files as false in GH action for downloads\n"
    },
    {
      "commit": "f3e114683be723674caa7d5ad68dab7cea48fa57",
      "tree": "9f840ff27d0321d19bc8e9406ef28433cdee95d4",
      "parents": [
        "ced9223033d3efe64cf475556f3def4b1b1b85d3"
      ],
      "author": {
        "name": "Vinish Reddy",
        "email": "vinish@apache.org",
        "time": "Fri Nov 08 14:57:47 2024 -0800"
      },
      "committer": {
        "name": "Vinish Reddy",
        "email": "vinishreddypannala@gmail.com",
        "time": "Sat Nov 09 06:08:01 2024 +0530"
      },
      "message": "Add downloads page for 0.2.0-incubating\n"
    },
    {
      "commit": "ced9223033d3efe64cf475556f3def4b1b1b85d3",
      "tree": "8de2f36ec54a10d59abcc5ebb6e4dfcf81308105",
      "parents": [
        "fb08e2d65daee93c299d65e4ece9819fc1452e4b"
      ],
      "author": {
        "name": "Hanzhi Wang",
        "email": "hanzhi_wang@apple.com",
        "time": "Fri Nov 01 22:03:00 2024 -0700"
      },
      "committer": {
        "name": "Tim Brown",
        "email": "tim.brown126@gmail.com",
        "time": "Mon Nov 04 13:16:41 2024 -0600"
      },
      "message": "Iceberg and Delta target: sync schema field comments\n\nIt fixed the issue that the comments are not synced correctly when the target table is Iceberg or Delta.\nFor Delta target, extract the comment from internal schema and add to Spark schema representative.\nFor Iceberg target, make sure any difference of comments is captured during syncSchema() and the schema is updated with new comments.\n"
    }
  ],
  "next": "fb08e2d65daee93c299d65e4ece9819fc1452e4b"
}
