nssalian commented on code in PR #18344:
URL: https://github.com/apache/iceberg/pull/18344#discussion_r4162410334


##########
site/docs/blog/posts/2026-10-02-iceberg-1.12.0-release.md:
##########
@@ -0,0 +1,208 @@
+---
+date: 2026-10-02
+title: Apache Iceberg 1.12.0 Release
+slug: apache-iceberg-1.12.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 release of Apache 
Iceberg 1.12.0. This release is the result of **777 commits** from **142 
contributors** since 1.11.0. See the [release 
notes](https://iceberg.apache.org/releases/#1120-release) for the complete list 
of changes.
+
+<!-- more -->
+
+## Release Highlights
+
+### Data Types: Variant and Geospatial
+
+This release improves Variant read performance, extends shredded Variant 
writes beyond Spark, and adds read and write support for the geospatial types.
+
+**Variant.** Reading unshredded Variant data is now faster in Spark. On both 
Spark 4.0 and 4.1, unshredded Variant columns are [read through the vectorized 
Parquet path](https://github.com/apache/iceberg/pull/16292) instead of 
row-at-a-time decoding.
+
+Variant shredding also uses a stricter layout rule. Shredding now [requires 
type uniformity](https://github.com/apache/iceberg/pull/17424): a field is 
shredded into a typed column only when all of its values fall into a single 
type family (after numeric widening); fields that mix types stay in the untyped 
residual. Unlike the previous majority-based rule, which could shred a field 
while covering only a fraction of its rows, every typed column now fully covers 
its field. Single-type fields are unaffected.
+
+Shredded Variant writes are no longer Spark-only. Flink can now [write 
shredded Variant](https://github.com/apache/iceberg/pull/15596), and the [Kafka 
Connect sink and the generic record 
writer](https://github.com/apache/iceberg/pull/17520) can produce shredded 
Variant as well, so semi-structured data ingested through those paths benefits 
from the same read-time pushdown. Flink also gains [Variant support in Avro 
readers and writers](https://github.com/apache/iceberg/pull/17737).
+
+Several correctness and hardening fixes also landed for Variant:
+
+- Shredded-column string bounds are computed in [UTF-8 byte 
order](https://github.com/apache/iceberg/pull/17397) and binary upper bounds 
[truncate up](https://github.com/apache/iceberg/pull/16880) so pruning stays 
correct; bounds also honor the column's [configured truncation 
length](https://github.com/apache/iceberg/pull/17342)
+- A [crash computing metrics for a value column with no 
statistics](https://github.com/apache/iceberg/pull/16585) is fixed, and 
[large-decimal shredding (precision > 
18)](https://github.com/apache/iceberg/pull/17002) is corrected
+- The Variant classes are made 
[serializable](https://github.com/apache/iceberg/pull/17260), and binary 
parsing is [hardened against malformed 
input](https://github.com/apache/iceberg/pull/16568)
+- [ORC filter pushdown on tables with a Variant 
column](https://github.com/apache/iceberg/pull/17998) is fixed
+
+**Geospatial.** The `geometry` and `geography` types gain read and write 
support. Both are stored as Well-Known Binary (WKB) and can now be [read and 
written in Avro](https://github.com/apache/iceberg/pull/17119) and [in 
Parquet](https://github.com/apache/iceberg/pull/16982), where they map to the 
[Parquet geometry and geography logical 
types](https://github.com/apache/iceberg/pull/16765) so files are 
self-describing; [single-value binary 
serialization](https://github.com/apache/iceberg/pull/16607) is also in place 
for defaults and metadata.
+
+[Spark 4.1](https://github.com/apache/iceberg/pull/17073) is the first engine 
with an end-to-end geospatial path: it reads and writes both types in Parquet 
and supports row-level `DELETE`, `UPDATE`, and `MERGE` on tables with 
geospatial columns, including the merge-on-read, deletion-vector path on format 
version 3. Current limitations:
+
+- Support is limited to Spark 4.1 (not Spark 3.5 or 4.0, Flink, or ORC)
+- Reads use the row-based reader; there is no Arrow geospatial vector yet
+- There are no spatial predicates yet, so filters are expressed against 
non-geospatial columns
+
+### Deletion Vectors and Streaming Deletes

Review Comment:
   Will do.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to