This is an automated email from the ASF dual-hosted git repository.

kevinjqliu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg.git


The following commit(s) were added to refs/heads/main by this push:
     new 8bb3713878 Site: Add Iceberg C++ 0.4.0 release blog post (#18273)
8bb3713878 is described below

commit 8bb3713878e1df1d8d14906bc930b536e9377fee
Author: Manu Zhang <[email protected]>
AuthorDate: Wed Sep 30 04:25:20 2026 +0800

    Site: Add Iceberg C++ 0.4.0 release blog post (#18273)
    
    Generated-by: Claude Code
    
    Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
---
 .../posts/2026-09-26-iceberg-cpp-0.4.0-release.md  | 110 +++++++++++++++++++++
 1 file changed, 110 insertions(+)

diff --git a/site/docs/blog/posts/2026-09-26-iceberg-cpp-0.4.0-release.md 
b/site/docs/blog/posts/2026-09-26-iceberg-cpp-0.4.0-release.md
new file mode 100644
index 0000000000..14243f9cfb
--- /dev/null
+++ b/site/docs/blog/posts/2026-09-26-iceberg-cpp-0.4.0-release.md
@@ -0,0 +1,110 @@
+---
+date: 2026-09-26
+title: Apache Iceberg C++ 0.4.0 Release
+slug: apache-iceberg-cpp-0.4.0-release
+authors:
+  - iceberg-pmc
+categories:
+  - release
+---
+
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements.  See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+The Apache Iceberg community is pleased to announce the 0.4.0 release of 
Apache [Iceberg C++](https://github.com/apache/iceberg-cpp). This release 
includes [over 160 pull 
requests](https://github.com/apache/iceberg-cpp/compare/v0.3.0...v0.4.0) from 
26 contributors, including 12 first-time contributors.
+
+`iceberg-cpp` is a native C++ implementation of the Apache Iceberg table 
format, providing libraries for reading, writing, and managing Iceberg tables 
in C++ applications.
+
+<!-- more -->
+
+## Release Highlights
+
+### Iceberg v3 Support
+- [v3 type definitions](https://github.com/apache/iceberg-cpp/pull/752) and 
[v3 geometry and geography 
support](https://github.com/apache/iceberg-cpp/pull/880)
+- Column default values end to end: [representation, serialization, and 
validation](https://github.com/apache/iceberg-cpp/pull/746), [Parquet reads of 
missing fields](https://github.com/apache/iceberg-cpp/pull/792), [Avro reads of 
missing fields](https://github.com/apache/iceberg-cpp/pull/800), and 
[`UpdateSchema` support](https://github.com/apache/iceberg-cpp/pull/793)
+- Row lineage: [writing snapshot row lineage fields at the top 
level](https://github.com/apache/iceberg-cpp/pull/791), [reading row lineage 
metadata columns](https://github.com/apache/iceberg-cpp/pull/822), and 
[retrying stale row-lineage 
validation](https://github.com/apache/iceberg-cpp/pull/794)
+- Deletion vectors: [`deletion-vector-v1` blob read and 
write](https://github.com/apache/iceberg-cpp/pull/777), [merging multiple DVs 
in `MergingSnapshotUpdate`](https://github.com/apache/iceberg-cpp/pull/708), 
and [Puffin and DV support moved into the core 
library](https://github.com/apache/iceberg-cpp/pull/900)
+
+### Table Update APIs
+- New snapshot-producing operations: 
[`DeleteFiles`](https://github.com/apache/iceberg-cpp/pull/709), 
[`RowDelta`](https://github.com/apache/iceberg-cpp/pull/721), 
[`OverwriteFiles`](https://github.com/apache/iceberg-cpp/pull/741), 
[`RewriteFiles`](https://github.com/apache/iceberg-cpp/pull/751), 
[`ReplacePartitions`](https://github.com/apache/iceberg-cpp/pull/776) (now 
[exposed on `Table` and 
`Transaction`](https://github.com/apache/iceberg-cpp/pull/925)), and [merge 
append](https://git [...]
+- [Retryable and cleanup-safe table 
updates](https://github.com/apache/iceberg-cpp/pull/868), 
[`FileCleanupStrategy` hardened with retries and parallel 
deletes](https://github.com/apache/iceberg-cpp/pull/649), and [cleanup of 
delete files from expired 
manifests](https://github.com/apache/iceberg-cpp/pull/779)
+- Catalog operations including [`RenameTable` in 
`InMemoryCatalog`](https://github.com/apache/iceberg-cpp/pull/742) and [purge 
support in `DropTable` for the in-memory and SQL 
catalogs](https://github.com/apache/iceberg-cpp/pull/744)
+
+### Catalogs and FileIO
+- REST catalog gains [SigV4 
authentication](https://github.com/apache/iceberg-cpp/pull/616), a 
[session-aware catalog](https://github.com/apache/iceberg-cpp/pull/750), 
[OAuth2 token exchange 
sessions](https://github.com/apache/iceberg-cpp/pull/867), and [per-table 
FileIO bound from vended storage 
credentials](https://github.com/apache/iceberg-cpp/pull/719)
+- [`ResolvingFileIO`](https://github.com/apache/iceberg-cpp/pull/828) selects 
a FileIO by location scheme and forwards vended credentials, backed by a 
[registry-driven resolution](https://github.com/apache/iceberg-cpp/pull/889), 
with [S3-compatible schemes](https://github.com/apache/iceberg-cpp/pull/703) 
and the [`oss` scheme](https://github.com/apache/iceberg-cpp/pull/893) supported
+- Hive Metastore groundwork with [vendored HMS IDL and generated 
bindings](https://github.com/apache/iceberg-cpp/pull/749), an [`iceberg_hive` 
library](https://github.com/apache/iceberg-cpp/pull/753), and [`HmsClient` 
connection lifecycle and URI 
parsing](https://github.com/apache/iceberg-cpp/pull/796)
+- Closer alignment with the Java implementation for [REST table update 
serialization](https://github.com/apache/iceberg-cpp/pull/716) and [REST error 
handling](https://github.com/apache/iceberg-cpp/pull/763)
+
+### Scan Planning and Performance
+- [Lazy scan planning streams](https://github.com/apache/iceberg-cpp/pull/873) 
and a [fallible iterator 
utility](https://github.com/apache/iceberg-cpp/pull/905)
+- Parallelism for [reading 
manifests](https://github.com/apache/iceberg-cpp/pull/697), [writing 
manifests](https://github.com/apache/iceberg-cpp/pull/778), and [update and 
scan processing](https://github.com/apache/iceberg-cpp/pull/770), plus an [LRU 
cache](https://github.com/apache/iceberg-cpp/pull/891)
+- Metadata tables with a [base metadata table 
interface](https://github.com/apache/iceberg-cpp/pull/607) and [streaming 
`SnapshotsTable` scans](https://github.com/apache/iceberg-cpp/pull/801)
+- Arrow data access via 
[`ArrowRowBuilder`](https://github.com/apache/iceberg-cpp/pull/780) and 
[reading list columns as 
`large_list`](https://github.com/apache/iceberg-cpp/pull/714)
+- Metrics with [commit and scan reporting 
integration](https://github.com/apache/iceberg-cpp/pull/701), [Parquet NaN 
metrics collected during 
writes](https://github.com/apache/iceberg-cpp/pull/727), and a [unique-value 
optimization for 
`notEq`/`notIn`](https://github.com/apache/iceberg-cpp/pull/754)
+
+### Logging
+- A pluggable logging stack built up across the release: 
[`LogLevel`](https://github.com/apache/iceberg-cpp/pull/722), the [`Logger` 
interface and default logger](https://github.com/apache/iceberg-cpp/pull/723), 
a [`std::cerr` backend](https://github.com/apache/iceberg-cpp/pull/724), 
[logging macros](https://github.com/apache/iceberg-cpp/pull/725), an [optional 
spdlog backend behind 
`ICEBERG_SPDLOG`](https://github.com/apache/iceberg-cpp/pull/726), and a 
[`Loggers` registry](https://gith [...]
+- [Transaction commit lifecycle 
logging](https://github.com/apache/iceberg-cpp/pull/890) as the first consumer
+
+### Build Changes
+- [Meson build support has been 
removed](https://github.com/apache/iceberg-cpp/pull/935); CMake is now the only 
supported build system
+- Dependency upgrades to [Arrow 
25.0.0](https://github.com/apache/iceberg-cpp/pull/858) and [nanoarrow 
0.9.0](https://github.com/apache/iceberg-cpp/pull/871)
+
+## Contributors
+
+```
+$ git shortlog --perl-regexp --author='^((?!dependabot\[bot\]).*)$' -sn 
v0.3.0..v0.4.0
+    23  Junwang Zhao
+    14  Gang Wu
+    13  Manu Zhang
+    13  Zehua Zou
+    13  wzhuo
+    10  Abanoub Doss
+    10  Minh Vu
+     9  Xin Huang
+     8  kamcheungting-db
+     7  Jiajia Li
+     5  YangJie
+     3  Kevin Liu
+     3  Rahul Goel
+     3  Xinli Shang
+     3  lishuxu
+     3  liuxiaoyu
+     2  Anupam Yadav
+     2  Joey
+     2  Yuya Ebihara
+     1  Huangshi Tian
+     1  Innocent Djiofack
+     1  Rahul Shivu Mahadev
+     1  Sreesh Maheshwar
+     1  Timothy Wang
+     1  ZhaoXuan
+     1  kid
+```
+
+This release welcomes 12 first-time contributors to Apache Iceberg C++: 
@kamcheungting-db, @All-less, @goel-skd, @abnobdoss, @ebyhr, @huan233usc, 
@yadavay-amzn, @timothyw553, @LuciferYang, @Angelia-Wang, @rahulsmahadev, and 
@u70b3.
+
+We thank all contributors for their efforts in making this release possible!
+
+## Roadmap for 0.5.0
+
+The community is tracking the next release in 
[#959](https://github.com/apache/iceberg-cpp/issues/959), which focuses on the 
remaining Iceberg v3 feature support.
+
+## Getting Involved
+
+We welcome questions and contributions from all interested. Issues can be 
filed on [GitHub](https://github.com/apache/iceberg-cpp/issues), and questions 
can be directed to GitHub or the [Iceberg dev mailing 
list](https://iceberg.apache.org/community/#mailing-lists).

Reply via email to