Skip to content

Apache Iceberg C++ 0.2.0 Release

The Apache Iceberg community is pleased to announce the 0.2.0 release of Apache Iceberg C++. This release includes over 200 merged pull requests from 23 distinct contributors.

The release notes below are not exhaustive and only expose selected highlights of the release. Many other bugfixes and improvements have been made: we refer you to the complete changelog for details.

Release Highlights🔗

Table Scan and Data Access🔗

  • Support for v2 deletes and metadata column reads
  • Enhanced ManifestReader with projection and filtering
  • Implemented file scan task reader with Arrow C Stream integration

Table Operations🔗

  • Schema evolution: add, delete, update, and move columns
  • Table updates: properties, sort order, partition spec, location, and statistics
  • Transaction API with snapshot management (fast append)

REST Catalog🔗

  • Full REST Catalog client with namespace operations and table CRUD operations
  • Support for create, load, drop, list, update, and stage-create table operations
  • Integration test coverage

Expression System🔗

  • Complete expression framework with literal expressions, type casting, and binary serialization
  • Inclusive/strict metrics evaluators, manifest evaluator, and residual evaluator
  • Aggregate expressions and projection evaluators

Performance and I/O🔗

  • Optimized Avro reader/writer with direct encoding and multi-block support
  • Configurable Avro and Parquet readers/writers

Catalog and Metadata🔗

  • InMemoryCatalog implementation with table management
  • Location provider and partition path generation
  • Schema selection, projection, and table metadata builder

Miscellaneous🔗

  • Meson build system support
  • Initial documentation website and devcontainer
  • Improved code organization and type safety with validation

Contributors🔗

$ git shortlog --perl-regexp --author='^((?!dependabot\[bot\]).*)$' -sn v0.1.0..v0.2.0
    47  Feiyang Li
    47  Junwang Zhao
    41  Gang Wu
    17  Zhuo Wang
    15  Xinli Shang
    14  Zehua Zou
     9  Guotao Yu
     7  Xiao Dong
     6  Chao Liu
     3  Jiajia Li
     3  Shuxu Li
     2  Kevin Liu
     2  William Ayd
     2  Zhiyuan Liang
     1  Dipanshu Pandey
     1  Subham
     1  liuxiaoyu
     1  slfan1989

We thank all contributors for their efforts in making this release possible!

Roadmap for 0.3.0🔗

The community is actively working on the next release, see #523.

Getting Involved🔗

We welcome questions and contributions from all interested. Issues can be filed on GitHub, and questions can be directed to GitHub or the Iceberg dev mailing list.