Skip to content

0.4.0-incubating

Latest

Choose a tag to compare

@vinishjail97 vinishjail97 released this 24 Aug 18:47
· 29 commits to main since this release
0.4.0-incubating

Release Notes for release-0.4.0-incubating

Apache XTable™ (Incubating) is a cross-table converter for table formats that facilitates omni-directional interoperability across data processing systems and query engines. Currently, Apache XTable™ supports widely adopted open-source table formats such as Apache Hudi, Apache Iceberg, Delta Lake, and (as a source) Apache Paimon.

✨ What's Changed

🔄 Core Functionality Enhancements

  • New formats:
    • Added a Delta Kernel conversion target (#801, #729).
    • Added Apache Paimon source support, with incremental sync and column stats (#742, #780, #767).
    • Added Apache Parquet source support, with partition extraction and incremental sync (#728, #669, #768, #805).
  • Sync improvements:
    • Delta source: extract nested field statistics (#769).
    • Nested-column partition support in HudiPartitionValuesExtractor with hive-style partitioning (#738).
    • Fall back to parquet footers when metadata-table column stats are missing (#818).
    • Enable Delta checkpoint CRC exception throwing by default (#817).
    • Add additional properties when converting for Hudi (#714).
  • Bug fixes:
    • Delta: null partition value for composite generated-column partitions (#828), map-key path handling (#826), NPE for binary in map/array schemas (#795), column-mapping-enabled source tables (#766).
    • Hudi: batch INSERT_OVERWRITE replacecommits dropping adds (#816), empty EarliestCommitToRetain (#732).
    • Iceberg: nested comments with qualified name (#797), schema sync (#749), empty source table (#756).
    • Parquet: snapshot sync on multiple commits with partitions (#806), schema-conversion bugs (#805).

📦 Packaging & Distribution

  • Added xtable-spark-runtime, a thin drop-in Spark bundle for Spark 3.4 and 3.5 (#843).
  • Made the bundled xtable-utilities jar runnable again (#841, #736).
  • Fixed the scope of spark-catalyst in the utilities bundle (#790).

🧪 Testing & Quality

  • Added an initial integration test for the XTable REST service (#716).
  • Improved TestHudiInstantUtils with parameterization and more cases (#703).
  • Removed wildcard imports and enforced with Spotless (#809).
  • Removed redundant getSnapshotAt calls per commit (#791).

📘 Documentation & Community

  • Added a 0.3.0 release page (#725) and updated the community sync page (#734).

🧰 Infrastructure & Maintenance

  • Upgraded Apache Iceberg to 1.9.2 and Avro to 1.12.0 (#784).
  • Added a Maven wrapper for consistent builds (#788).
  • Automated license file generation and validation (#822); removed a duplicate javassist LICENSE entry (#745).
  • Restored the delombok execution so release builds generate javadoc jars (#853).
  • Added a Source Build Check workflow that builds the source release without any installed XTable artifacts (#868).
  • Added .sdkmanrc to .gitignore (#793); bumped GitHub Actions (checkout, setup-node, setup-java).

Detailed Change Log

New Contributors

Full Changelog: 0.3.0-incubating...0.4.0-incubating