Skip to content

Apache Iceberg Rust 0.9.0 Release

The Apache Iceberg community is pleased to announce version 0.9.0 of iceberg-rust.

This release covers development work from early January through early March 2026 and is the result of merging 109 PRs from 28 contributors, including 8 new contributors. See the changelog for the complete list of changes.

iceberg-rust is a native Rust implementation of the Apache Iceberg specification, providing high-performance libraries for reading, writing, and managing Iceberg tables in Rust applications and through Python bindings (pyiceberg-core).

Release Highlights🔗

Trait-Based Storage Architecture🔗

The most significant change in this release is a new trait-based storage architecture that decouples iceberg-rust from any single storage backend. The new Storage trait provides a clean abstraction for file I/O, with integration into FileIO to make it the primary extension point for adding new storage backends.

This release includes two native storage implementations built on this trait:

The existing OpenDAL-based storage was moved to its own crate (iceberg-storage-opendal), keeping the core library lightweight while preserving full OpenDAL support as an optional dependency. See the Storage trait RFC for the design rationale.

Enhanced DataFusion Integration🔗

DataFusion integration continues to expand with DDL and query optimization improvements:

Reader Performance Improvements🔗

The Arrow reader received several performance optimizations as part of an ongoing effort to reduce I/O overhead during reads:

38-Digit Decimal Precision🔗

The rust_decimal crate was replaced with fastnum, enabling full 38-digit decimal precision as required by the Iceberg specification. This also includes a fix for decimal byte representation used in hashing.

Bug Fixes🔗

Breaking Changes🔗

This release includes several breaking changes:

Dependency Updates🔗

Infrastructure Improvements🔗

What's Next🔗

Work is already underway on several features for upcoming releases:

  • Storage trait expansion: With the new trait-based storage architecture landed in 0.9.0, the community is looking to integrate additional storage backends, such as object_store, making it easy for users to opt into alternative storage implementations.
  • Table encryption: AES-GCM encryption support is in progress, bringing Iceberg's table-level encryption spec to Rust with Java-compatible ciphertext formats. See the table encryption RFC for the full design, including envelope encryption with a chained key hierarchy and KMS integration.

Getting Involved🔗

The iceberg-rust project welcomes contributions. We use GitHub issues for tracking work and the Apache Iceberg Community Slack for discussions.

The easiest way to get started is to:

  1. Try iceberg-rust with your workloads and report any issues you encounter
  2. Review the contributor guide
  3. Look for good first issues

For more information, visit the iceberg-rust repository.