Apache Iceberg v2.11 is out. Our team contributed partition-level column statistics — a small but load-bearing addition to the spec that makes certain partition pruning decisions meaningfully cheaper.
What the feature does
Before v2.11, Iceberg tracked column-level min/max/null statistics at the data file level. For a planner trying to prune a partition, that meant opening every data file manifest to make a decision. The new partition-level stats store aggregates at the partition layer, so the planner can prune entire partitions without opening file manifests at all.
{
"partition": { "dt": "2026-01-20" },
"record_count": 1842193,
"column_stats": {
"user_id": { "null_count": 0, "distinct_count_estimate": 412884 },
"event": { "null_count": 0, "distinct_count_estimate": 14 },
"latency": { "null_count": 211, "lower_bound": 2, "upper_bound": 9841 }
}
}How it got upstreamed
The Iceberg community process is a lot of conversation and a little code. Our proposal went through three rounds of spec review, two implementation PRs, and a v2-spec extension document. The whole cycle took about 14 weeks from first PR to merged release.
Written by
Noah Abrams
Open Source Lead at DXData.