What's Changed
- Add
format/
to site-ci by @Fokko in #12869 - update links to daft docs by @ccmao1130 in #12860
- Spark3.4: BackPort Add Parallelism Parameter Validation to AddFilesProcedure. by @slfan1989 in #12872
- Core: Add test when listing namespaces with a non-existing namespace by @nastra in #12873
- Flink: Add support for Flink 2.0 by @mxm in #12527
- Core: Fix Kryo ser/de with StorageCredential config by @nastra in #12882
- Add timestamp_ns, time and UUID types for Variant by @aihuaxu in #12682
- Spec: Avoid struct field conflicts in default values by @rdblue in #12841
- Core: Ensure reactivated view version uses correct timestamp by @lliangyu-lin in #12821
- Parquet: Add variant array reader in Parquet by @aihuaxu in #12512
- Build: Bump nessie from 0.103.3 to 0.103.5 by @dependabot[bot] in #12902
- Build: Bump testcontainers from 1.20.6 to 1.21.0 by @dependabot[bot] in #12904
- Build: Bump mkdocs-material from 9.6.11 to 9.6.12 by @dependabot[bot] in #12848
- Build: upgrade to Gradle 8.14 by @jbonofre in #12898
- Spark: Use newArrayListWithExpectedSize instead of newArrayList for NDVSketchUtil by @jackylee-ch in #12907
- Build: Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.3 to 5.4.4 by @dependabot[bot] in #12906
- Docs: Release notes for 1.9.0 by @ajantha-bhat in #12911
- Infra: Add 1.9.0 to issue template by @ajantha-bhat in #12913
- Infra: Update doap.rdf file by @ajantha-bhat in #12918
- Core: Increase wait time of flaky test by @manuzhang in #12714
- Flink: Backport add StreamingStartingStrategy.INCREMENTAL_FROM_LATEST_SNAPSHOT_EXCLUSIVE to Flink 1.19 by @morhidi in #12899
- Docs: Site updates for 1.9.0 by @ajantha-bhat in #12921
- Spark 3.5: Update MERGE and UPDATE for row lineage by @amogh-jahagirdar in #12736
- Flink: Add lockFactory open in LockRemover for table maintenance by @Guosmilesmile in #12900
- Docs: Fix version doc release step by @ajantha-bhat in #12922
- Parquet variant array write by @aihuaxu in #12847
- Build: Bump software.amazon.awssdk:bom from 2.29.52 to 2.31.30 by @dependabot[bot] in #12905
- Build: Bump jackson-bom from 2.18.3 to 2.19.0 by @dependabot[bot] in #12903
- Spark 3.4: Migrate tests in sql by @tomtongue in #12934
- Flink: Backport Add lockFactory open in LockRemover for table maintenance to Flink 1.20 and 1.19 by @Guosmilesmile in #12929
- Docs: Add DuckDB by @szarnyasg in #12932
- Spark 3.4: Migrate Spark Partition Transform tests by @tomtongue in #12941
- Flink: Fix typo in JdbcLockFactory by @Guosmilesmile in #12940
- Spark: Update RewriteDataFilesSparkAction and RewritePositionDeleteFilesSparkAction to use the new APIs by @pvary in #12692
- Flink: Change Preconditions import from flink util to guava by @Guosmilesmile in #12939
- Update Spark Parquet vectorized read tests to uses Iceberg Record instead of Avro GenericRecord by @amogh-jahagirdar in #12925
- Follow up to address comments in variant array writer by @aihuaxu in #12933
- OpenAPI: Use more clear language in recommending error responses by @sungwy in #12376
- Core: Broaden exception handling in writer clean up logic by @xiaoxuandev in #12863
- Spec: Remove misleading statement about source-ids by @wypoon in #12948
- API, Build: Explicitly pass version into Git Properties Plugin by @RussellSpitzer in #12949
- Build: Bump parquet from 1.15.1 to 1.15.2 by @dependabot[bot] in #12964
- Build: Bump org.openapitools:openapi-generator-gradle-plugin from 7.12.0 to 7.13.0 by @dependabot[bot] in #12966
- Build: Bump software.amazon.awssdk:bom from 2.31.30 to 2.31.35 by @dependabot[bot] in #12967
- Build: Bump nessie from 0.103.5 to 0.103.6 by @dependabot[bot] in #12963
- Spark 3.4: Migrate other sql tests by @tomtongue in #12945
- Build: Bump datamodel-code-generator from 0.28.5 to 0.30.1 by @dependabot[bot] in #12961
- Docs: Incorrect property in CREATE CATALOG for Flink by @mrsubhash in #12894
- Spark: Add flag to handle missing files for
importSparkTable
by @jshmchenxi in #12212 - Spec additions for encryption by @ggershinsky in #12162
- Spec: Update partition stats for V3 by @aokolnychyi in #12098
- AWS, GCP: Deprecate passing FileIO properties through constructor by @nastra in #12972
- Flink: Maintenance - RewriteDataFiles by @pvary in #11497
- Build: Bump net.snowflake:snowflake-jdbc from 3.23.2 to 3.24.0 by @dependabot[bot] in #12965
- API, Core: Add deleteFile to RowDelta API by @RussellSpitzer in #12861
- API, Core: Add table metadata keys for encryption by @rdblue in #12927
- Enable HTTP proxy support for the client used by REST Catalog by @akhilputhiry in #12406
- Flink: Backport Maintenance - RewriteDataFiles to Flink 1.19, 1.20 by @gyfora in #12991
- Build: Bump Comet from 0.5.0 to 0.8.1 by @huaxingao in #12974
- Core: Disallow creation of invalid PartitionSpec by @devinrsmith in #12887
- REST spec: Remove update to enable row lineage by @rdblue in #12986
- Spec: Update v3 summary, add row lineage by @rdblue in #12982
- Docs: Mark Spark 3.3 as End-of-Life since 1.9 by @manuzhang in #12989
- Spark 3.4: Update RewriteDataFilesSparkAction and RewritePositionDeleteFilesSparkAction to use the new APIs by @gaborkaszab in #12980
- Build, Core: Let RevAPI compare against 1.9.0 / Fix API breakage around StorageCredential by @nastra in #12930
- GCP: Support multiple storage credential prefixes by @nastra in #12881
- AWS, Core, Flink, Parquet: Remove deprecations for 1.10.0 by @manuzhang in #12909
- Spark 4.0 integration by @huaxingao in #12494
- Spark 3.4: Migrate source and spark tests by @tomtongue in #12998
- ORC: Upgrade ORC to 1.9.6 by @dongjoon-hyun in #13003
- Spark 3.4: Migrate the remaining
SparkCatalogTestBase
related tests and removeSparkCatalogTestBase
by @tomtongue in #13007 - Core: Refactor and use InternalData for partition stats by @ajantha-bhat in #12946
- Add databend & iceberg docuement url by @sundy-li in #13002
- Revert "Spark 4.0 integration" by @huaxingao in #13006
- Update ADLS implementation status by @mrcnc in #13020
- Spec: Clarify behavior of special geo objects for lower/upper bounds by @szehon-ho in #12956
- Spark: Migrate Spark 3.4 SparkTestBaseWithCatalog related tests including refactoring Spark 3.5 tests by @tomtongue in #13015
- Spark: Migrate Spark 3.4 SparkTestBase related tests including refactoring Spark 3.5 tests by @tomtongue in #13031
- Docs: Add Spark SQL Configurations by @guykhazma in #12931
- Parquet: Fix to ensure that last updated sequence numbers for V2 and earlier tables are null by @amogh-jahagirdar in #13001
- Build: Bump mkdocs-material from 9.6.12 to 9.6.13 by @dependabot[bot] in #13029
- REST spec: Add encryption keys by @rdblue in #12987
- Add table property to disable/enable parquet column statistics #12770 by @huaxiangsun in #12771
- Docs: Fix links to javadoc by @manuzhang in #12880
- OpenAPI: Add retries when finding free port for REST server by @manuzhang in #13017
- Spark 3.4: Migrate tests in spark.data including refactoring Spark 3.5 tests by @tomtongue in #13038
- Catalog: Add BigQuery Metastore Catalog Support by @talatuyarer in #12808
- Spark 3.4: Migrate tests in spark.source including refactoring Spark 3.5 tests by @tomtongue in #13040
- Spec: Note position delete files are only deprecated in v3 by @manuzhang in #12983
- Nessie: Throw a NoSuchNamespaceException when listing a non-existing namespace by @coderfender in #12901
- Docs: Add Delete Granularity option to write configuration by @tomtongue in #13046
- Spark 3.4: Migrate other JUnit 4 dependant tests to JUnit 5 by @tomtongue in #13044
- Arrow: Avoid deprecated ArrowType.Decimal constructor by @ebyhr in #13051
- Core: Support incremental compute for partition stats by @ajantha-bhat in #12629
- Build: Bump com.google.cloud:libraries-bom from 26.59.0 to 26.60.0 by @dependabot[bot] in #13026
- Build: Bump io.netty:netty-buffer from 4.2.0.Final to 4.2.1.Final by @dependabot[bot] in #13028
- Flink: Add DynamicRecord / DynamicRecordInternal / DynamicRecordInternalSerializer by @mxm in #12996
- Common: Reduce visibility of deprecated method since 1.7.0 by @ajantha-bhat in #13053
- Spark4.0 rc6 integration with Iceberg by @huaxingao in #13059
- Build: Remove JUnit4 dependency by @nastra in #12938
- Flink: Support zookeeper lock in TableMaintenance by @Guosmilesmile in #12810
- [SPARK] Fix add_files type conversion exception and incorrect partition value when handling null partitions by @hariuserx in #12886
- CatalogTests: Fixing Table Location with baseTableLocation function by @talatuyarer in #13071
- Flink: Backport support zookeeper lock in TableMaintenance to Flink 1.19 and 2.0 by @Guosmilesmile in #13063
- Kafka Connect: Add BigQuery Metastore catalog by @juldrixx in #13041
- Flink: Fix watermark not passing in TaskResultAggregator by @Guosmilesmile in #13069
- [Core] Add max files rewrite option for RewriteAction by @coderfender in #12824
- Build: Bump mkdocs-material from 9.6.13 to 9.6.14 by @dependabot[bot] in #13090
- Spec: Clarify writer requirements to prevent orphan DVs by @aokolnychyi in #13042
- API, Tests: Reorder as calls by @RussellSpitzer in #13083
- Build: Bump software.amazon.awssdk:bom from 2.31.35 to 2.31.45 by @dependabot[bot] in #13088
- Build: Bump nessie from 0.103.6 to 0.104.1 by @dependabot[bot] in #13025
- Flink:Backport fix watermark no pass in TaskResultAggregator to Flink 1.19 and 1.20 by @Guosmilesmile in #13085
- Core: Deep copy Record values for equality deletes by @hsingh574 in #12855
- Spark 4.0: Reapply changes removed during the Spark 4.0 reversion by @tomtongue in #13096
- add_docs_and_backport_max_files_rewrite_option by @coderfender in #13082
- Spark 3.5: Structured Streaming read limit support follow-up by @wypoon in #12260
- Parquet: Fix redundant type conversion in parquet schema by @lliangyu-lin in #13114
- Spark 3.4: Structured Streaming read limit support follow-up by @wypoon in #13099
- Build: increase gradle jvm heap size from 1 GB to 1.5 GB. by @stevenzwu in #13110
- Spark 4.0: Structured Streaming read limit support follow-up by @wypoon in #13095
- CORE: [PARQUET] Log corrupted parquet filenames to trace bad nodes that may have written them. by @dhruv-pratap in #13108
- AWS: Support multiple storage credential prefixes by @nastra in #12799
- Spec: Add details on GZIP compressed metadata files by @emkornfield in #12598
- Flink: Remove the MiniClusterWithClientResource dependency by @JeonDaehong in #13021
- Docs: Update spec version for write modes by @ajantha-bhat in #13138
- AWS: Skip cleanup of analytics accelerator when disabled by @devinrsmith in #13134
- Flink: Fix npe in TaskResultAggregator when job recovery by @Guosmilesmile in #13086
- Spark4.0: RC -> official release by @huaxingao in #13121
- Flink: Backport fix npe in TaskResultAggregator when job recovery to Flink 1.19 and 1.20 by @Guosmilesmile in #13140
- AWS: Close the S3SeekableInputStreamFactory before removing from cache by @SanjayMarreddi in #12891
- Docs: add Tinybird to the list of vendors and blog posts by @futurepastori in #13128
- Build: Upgrade to Gradle 8.14.1 by @jbonofre in #13149
- Build: Bump com.palantir.gradle.gitversion:gradle-git-version from 3.2.0 to 3.3.0 by @dependabot[bot] in #13144
- Build: Bump software.amazon.awssdk:bom from 2.31.45 to 2.31.50 by @dependabot[bot] in #13148
- Build: Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.4 to 5.5 by @dependabot[bot] in #13147
- Build: Bump com.google.cloud:libraries-bom from 26.60.0 to 26.61.0 by @dependabot[bot] in #13146
- Core, AWS, Spark: use loopback address explicitly in tests to work in more restrictive firewall env on dev machines by @stevenzwu in #13101
- REST Spec: Add row lineage fields by @singhpk234 in #13010
- Flink 1.19, 1.20: Remove the MiniClusterWithClientResource dependency by @JeonDaehong in #13165
- Docs, Flink: Fix equality fields requirement in upsert mode by @manuzhang in #13127
- Spark 3.4: streaming-skip-overwrite-snapshots fix by @wypoon in #13168
- Infra: Set 1.9.1 to Latest Release by @RussellSpitzer in #13177
- Site: Updates for 1.9.1 Release by @RussellSpitzer in #13176
- Core: Fix incremental compute of partition stats for various edge cases by @ajantha-bhat in #13163
- Core: Avoid table corruption from 409 on self conflicts after 5xx retries by throwing CommitStateUnknown by @singhpk234 in #12818
- Spec: Mark version 3 as completed by @ajantha-bhat in #13175
- Build: Bump kafka from 3.9.0 to 3.9.1 by @dependabot[bot] in #13145
- Add Variant toString for time/nano-timestamps type by @aihuaxu in #13151
- AWS: Configure Default s3Async credentials the same as s3 by @devinrsmith in #13132
- Make PartitionSpec.Builder::identity public by @sfc-gh-bhannel in #12975
- Spark 3.5: Update to Spark 3.5.6 by @drexler-sky in #13142
- Spark: clean up obsoleted/unused writer classes by @stevenzwu in #13193
- chore: Update status.md by @zeroshade in #13182
- Docs: Reorganize Spark Time Travel Doc by @Bhargavkonidena in #13113
- AWS: update test cases to verify credentials for the prefixed S3 client by @plusplusjiajia in #13118
- API, Core: Rename RowDelta deleteFile to removeRows by @RussellSpitzer in #13184
- Build: Bump testcontainers from 1.21.0 to 1.21.1 by @dependabot[bot] in #13199
- Build: Bump guava from 33.4.7-jre to 33.4.8-jre by @dependabot[bot] in #12851
- Build: Bump com.google.errorprone:error_prone_annotations from 2.37.0 to 2.38.0 by @dependabot[bot] in #12852
- Build, Core: Move assertions to AssertJ / Fix checkstyle rules by @singhpk234 in #13213
- Core: Catch IAE when decoding JWT by @nika-qubit in #13192
- Hive: Throw exception for when listing a non-existing namespace by @jmelinav in #13130
- Docs: add column descriptions for entries metadata table by @elphastori in #13104
- Reduce code duplication in VectorizedParquetDefinitionLevelReader by @wypoon in #11661
- Docs: Add custom table location description for Flink by @tomtongue in #13214
- SPARK: Remove dependency on hadoop's filesystem class from remove orphan files by @liziyan-lzy in #12254
- Core: Improve pagination logic to handle null pageToken by @elphastori in #13129
- Build: Bump org.apache.hadoop.thirdparty:hadoop-shaded-guava from 1.3.0 to 1.4.0 by @dependabot[bot] in #12684
- Flink: port range distribution to v2 iceberg sink by @rodmeneses in #12071
- Flink: Dynamic Iceberg Sink: Add table update code for schema comparison and evolution by @mxm in #13032
- Core: Add basic classes for writing table format-version 4 by @nastra in #13123
- Spark: Fix flaky testParallelPartialProgressWithMaxFailedCommitsLargerThanTotalFileGroup by @manuzhang in #13208
- Flink: Backport IcerbegSink RANGE distribution to Flink 1.19 and 2.0 by @rodmeneses in #13228
- Flink: Dynamic Iceberg Sink: Add dynamic writer and committer by @mxm in #13080
- [REST] Add option to configure TLS settings in REST client by @bryanck in #13190
- Docs: Document DataFrame API support for MERGE INTO in Spark 4.0 by @wypoon in #13231
- Docs: Add Redpanda to vendor-related documentation by @lf-rep in #13242
- Flink: Support compact in iceberg sink v2 by @Guosmilesmile in #12979
- Flink: Backport #12996 to Flink 1.19 / 1.20 by @mxm in #13246
- Flink: Backport #13032 to Flink 1.19 / 1.20 by @mxm in #13247
- Flink: Backport #13080 to Flink 1.19 / 1.20 by @mxm in #13248
- AWS, GCS: Fix issue with Kryo and empty immutable collections by @nastra in #13216
- Spark 3.5, Arrow: Support for Row lineage when using the Parquet Vectorized reader by @amogh-jahagirdar in #12928
- Spark 4.0: Add a test for DataFrame API support for MERGE INTO by @wypoon in #13230
- Flink: Backport support compaction in sink v2 to 1.19 and 2.0 by @Guosmilesmile in #13250
- API, AWS, Azure, Core, GCP: Use parametrized tests for Kryo/Java serialization verification by @nandorKollar in #13244
- Docs: Remove obsolete version attribute in quick start docker-compose.yml by @omkenge in #13139
- Docs: use latest minio client command configuration parameters by @jerry153fish in #13221
- Build: Upgrade to Gradle 8.14.2 by @jbonofre in #13259
- Build: Bump openapi-spec-validator from 0.7.1 to 0.7.2 by @dependabot[bot] in #13275
- Build: Bump datamodel-code-generator from 0.30.1 to 0.30.2 by @dependabot[bot] in #13274
- Backport ThreadPools introduce newExitingWorkerPool and newFixedThreadPool to Flink 1.19 and Spark 3.4 by @Guosmilesmile in #13265
- SPARK: Port prefix listing option in remove orphan files to Spark 3.4 and Spark 4.0 by @liziyan-lzy in #13264
- Flink: Dynamic Iceberg Sink: Add HashKeyGenerator / RowDataEvolver / TableUpdateOperator by @mxm in #13277
- Docs: Fix engine-version key in the JSON example by @hsiang-c in #13292
- Build: Bump io.netty:netty-buffer from 4.2.1.Final to 4.2.2.Final by @dependabot[bot] in #13273
- Flink: Backport #13277 to Flink 1.19 / 1.20 by @mxm in #13303
- Docs: Fix list rendering and typos (#13075) by @yelianevich in #13267
- Docs: Fix broken links in Flink Configuration documentation by @KyleLin0927 in #13288
- Spark: RewriteTablePath: filter content files by snapshotId by @dramaticlly in #12885
- REST: Add property for configuring user agent in http client by @singhpk234 in #13234
- Build: Bump software.amazon.awssdk:bom from 2.31.50 to 2.31.63 by @dependabot[bot] in #13316
- Build: Bump datamodel-code-generator from 0.30.2 to 0.31.0 by @dependabot[bot] in #13319
- Build: Bump org.xerial:sqlite-jdbc from 3.49.1.0 to 3.50.1.0 by @dependabot[bot] in #13318
- Build: Bump jackson-bom from 2.19.0 to 2.19.1 by @dependabot[bot] in #13315
- Build: Bump io.delta:delta-spark_2.12 from 3.3.1 to 3.3.2 by @dependabot[bot] in #13205
- Build: Bump com.google.cloud:libraries-bom from 26.61.0 to 26.62.0 by @dependabot[bot] in #13317
- Build: Bump io.delta:delta-standalone_2.12 from 3.3.1 to 3.3.2 by @dependabot[bot] in #13202
- Build: Bump net.snowflake:snowflake-jdbc from 3.24.0 to 3.24.2 by @dependabot[bot] in #13200
- Flink: If IcebergSink writeParallelism is not specified, defaults to the input source parallelism by @rodmeneses in #13260
- docs: Fix typo in
rewrite_manifests
output table in spark-procedures.md by @zschumacher in #13325 - Flink: Backports #13260 to Flink 1.19 and 1.20 by @rodmeneses in #13326
- Flink: Dynamic Iceberg Sink: Add sink / core processing logic / benchmarking by @mxm in #13304
- AWS, GCP: Fix double-checked-locking pattern in S3FileIO, GCSFileIO. by @ChaladiMohanVamsi in #13276
- [CORE][REST]: Add context aware response parsing by @singhpk234 in #13191
- Flink: Backport #13304 to Flink 1.19 / 1.20 by @mxm in #13341
- Flink: Dynamic Iceberg Sink: Rename method in DynamicRecordGenerator by @mxm in #13342
- Core: PartitionsTable#partitions returns incomplete list in case of partition evolution and NULL partition values by @deniskuzZ in #12528
- Flink: Backport #13342 to Flink 1.19 / 1.20 by @mxm in #13346
- Core: Clean expired metadata even if there is no snapshot to expire by @lirui-apache in #13322
- Docs: Add Firebolt to list of vendors and blog posts by @jingtao-firebolt in #13350
- Spark 3.4: Backport #12836 for row lineage support in spark parquet reader by @geruh in #13353
- GCP: Add Google Authentication Support by @talatuyarer in #13212
- spark 4.0: SPJ: add bucket reducer using gcd by @himadripal in #13167
- Spark 3.4: Backport UPDATE/MERGE logic for row lineage by @geruh in #13344
- Bump
AzuriteContainer
to 3.34.0 by @Fokko in #13321 - Docs: Fix description of min-input-files option of Spark rewrite_data_files procedure by @manuzhang in #13355
- Build: Bump datamodel-code-generator from 0.31.0 to 0.31.1 by @dependabot[bot] in #13362
- Build: Bump testcontainers from 1.21.1 to 1.21.2 by @dependabot[bot] in #13363
- Flink: Revise the display of the task name in TableMaintenance to show the specific task name. by @Guosmilesmile in #13024
- Flink:Backport Revise the display of the task name in TableMaintenance to show the specific task name by @Guosmilesmile in #13372
- Spark-3.5, 4.0: Add unit tests for ColumnarBatchUtil by @anuragmantri in #12275
- Core: Fix filed ids of partition stats file by @ajantha-bhat in #13329
- Flink: Migrate Flink
TableSchema
toSchema
/ResolvedSchema
by @liamzwbao in #13072 - Remove JSpecify annotations from bundled-guava by @electrum in #13379
- Build: Use Java 17 to publish snapshot to Maven by @pan3793 in #13369
- Build: Require JDK 17 / 21 for Spark 4.0 support by @zhztheplayer in #13381
- Build: Bump calcite from 1.39.0 to 1.40.0 by @dependabot[bot] in #13203
- Build: Run CI actions with JDK 17 by @nastra in #13385
- Core: Fix API breakage introduced by #13191 by @nastra in #13386
- Further refactor Parquet readers for v2 support by @eric-maynard in #13290
- Core, REST: properly close resources when catalog initialization fails by @adutra in #13384
- Flink: Backports TableSchema migration to Flink 1.19 and 1.20 by @liamzwbao in #13392
- Flink: Dynamic Iceberg Sink: Optimise RowData evolution by @aiborodin in #13340
- Build: Fix errorprone warnings by @CuteChuanChuan in #13217
- Spark: Fix row lineage inheritance for distributed planning by @amogh-jahagirdar in #13061
- Flink: Backport optimised RowData evolution to Flink 1.19 / 1.20 by @aiborodin in #13401
- Docs: improve structure for manifest entry fields by @elphastori in #13333
- Spark: Make maxRecordPerMicrobatch a soft limit by @singhpk234 in #12988
- ICEBERG-13343: fix race condition in JdbcCatalog by @Claudenw in #13345
- Build: Bump com.google.errorprone:error_prone_annotations from 2.38.0 to 2.39.0 by @dependabot[bot] in #13423
- Build: Bump com.palantir.gradle.gitversion:gradle-git-version from 3.3.0 to 3.4.0 by @dependabot[bot] in #13422
- Build: Bump testcontainers from 1.21.2 to 1.21.3 by @dependabot[bot] in #13416
- Build: Bump datamodel-code-generator from 0.31.1 to 0.31.2 by @dependabot[bot] in #13413
- Build: Bump org.openapitools:openapi-generator-gradle-plugin from 7.13.0 to 7.14.0 by @dependabot[bot] in #13421
- Build: Bump org.immutables:value from 2.10.1 to 2.11.0 by @dependabot[bot] in #13420
- Build: Bump com.gradleup.shadow:shadow-gradle-plugin from 8.3.6 to 8.3.7 by @dependabot[bot] in #13414
- Docs: Correct typo in spec.md by @CuteChuanChuan in #13427
- AWS: Refactor S3FileIOProperties to use common builder interface by @devinrsmith in #13183
- Build: Bump com.azure:azure-sdk-bom from 1.2.31 to 1.2.35 by @dependabot[bot] in #13201
- spark 4.0 : SPJ : add hour to day reducer by @himadripal in #13166
- Spark 3.4: Backport #13061 fix for row lineage inheritance in distributed planning by @amogh-jahagirdar in #13436
- GCS: Add Iceberg version to UserAgent in GCS requests by @shubham-diwakar in #13428
- [iceberg-rest-fixture] fix sqlite error under high concurrent load by @kevinjqliu in #13367
- Flink 2.0: Replace Caffeine maxSize cache with LRUCache by @aiborodin in #13382
- Spark, Avro: Add support for row lineage in Avro reader by @amogh-jahagirdar in #13070
- Core: Maintain passed in ordering of files in Manifest Lists by @RussellSpitzer in #13411
- REST: Revert #12818 and additionally stop retrying on 502/504 by @singhpk234 in #13352
- Spark 3.4: Backport tests from #13070 to 3.4 by @amogh-jahagirdar in #13440
- CheeryPick 12988 to all Spark version by @singhpk234 in #13412
- Spark 3.5, 4.0: Prevent unnecessary failure when executing DML queries with identifier fields by @szehon-ho in #13435
- Flink: Backport LRUCache usage to Flink 1.19/1.20 by @aiborodin in #13441
- Arrow, AWS, Azure, Core, GCP, Hive, Kafka, Snowflake: Rename test classes to use Test as prefix instead of suffix by @nastra in #12879
- Ignore partition fields that are dropped from the current-schema by @Fokko in #11868
- Build: Bump software.amazon.awssdk:bom from 2.31.63 to 2.31.73 by @dependabot[bot] in #13424
- Build: Fix error-prone warning by @CuteChuanChuan in #13447
- Spark 3.4: Prevent unnecessary failure when executing DML queries with identifier fields by @szehon-ho in #13448
- Core, Spark: Propagate orphaned delete files when rewriting data files by @nastra in #13245
- Docs: Describe testcontainer failure workaround by @Claudenw in #13454
- Spark-3.5: Add spark action to compute partition stats by @ajantha-bhat in #12450
- site: update daft docs by @ccmao1130 in #13463
- S3: Add LegacyMd5Plugin to S3 client builder by @ebyhr in #12264
- Build: Upgrade to Gradle 8.14.3 by @jbonofre in #13465
- docs: Mark Rust ADLS FileIO as implemented in the status page by @DerGut in #13258
- Spark-4.0: Add spark action to compute partition stats by @ajantha-bhat in #13478
- Build: Bump com.gradleup.shadow:shadow-gradle-plugin from 8.3.7 to 8.3.8 by @dependabot[bot] in #13476
- Build: Bump software.amazon.awssdk:bom from 2.31.73 to 2.31.77 by @dependabot[bot] in #13475
- Build: Bump org.xerial:sqlite-jdbc from 3.50.1.0 to 3.50.2.0 by @dependabot[bot] in #13468
- Build: Bump com.azure:azure-sdk-bom from 1.2.35 to 1.2.36 by @dependabot[bot] in #13474
- Core: Support DV for partition stats by @ajantha-bhat in #13425
- Spark: Throw unsupported for ADD COLUMN with default value by @amogh-jahagirdar in #13464
- Spark 4.0: Migrate Iceberg Stored Procedures to Spark built-in implementations by @pan3793 in #13106
- Core: Keep track of data files to be removed for orphaned DV detection by @nastra in #13222
- Add BigQuery Dependencies for Iceberg GCP Bundle by @talatuyarer in #13111
- Spec: Add DV information in overview by @ajantha-bhat in #13189
- AWS: Prevent excessive creation of auth sessions in S3V4RestSignerClient by @adutra in #13215
- Spark 4.0: Port Avro lineage reader test changes from #13070 by @amogh-jahagirdar in #13496
- Build: Bump nessie to 0.104.2 skipping tests in JDK 11 by @manuzhang in #13490
- Spark: Use native table FileIO instead of Hadoop to save file list in RewriteTablePath by @NikitaMatskevich in #13459
- API, Flink: fix typos in javadoc by @laurentgo in #13503
- Spark: Support Parquet dictionary encoded UUIDs by @Fokko in #13324
- Docs: Add Ryft to list of vendors and blog posts by @yogevyuval in #13504
- Spark-3.5: Add procedure to compute partition stats by @ajantha-bhat in #13480
- Core: Fix a cast that is too narrow by @angelo-DNAStack in #12743
- Build: Bump JUnit5 from 5.12.2 to 5.13.2 by @raveendra11 in #13280
- Spark 4.0: Add procedure to compute partition stats by @ajantha-bhat in #13523
- Make metrics reporting asynchronous by @anoopj in #13507
- API, Spark 4.0: Expose cleanExpiredMetadata in expire_snapshots Spark procedure by @gaborkaszab in #13509
- Core: Implement close() method in CompositeMetricsReporter by @anoopj in #13535
- Fix Spark DDL Doc bug by @davidyuan1223 in #13539
- Build: Bump nessie from 0.104.2 to 0.104.3 by @dependabot[bot] in #13541
- Build: Bump com.google.errorprone:error_prone_annotations from 2.39.0 to 2.40.0 by @dependabot[bot] in #13542
- Build: Bump software.amazon.awssdk:bom from 2.31.77 to 2.31.78 by @dependabot[bot] in #13543
- Build: Bump com.gorylenko.gradle-git-properties:gradle-git-properties from 2.5.0 to 2.5.2 by @dependabot[bot] in #13544
- Docs: Document clean_expired_metadata parameter in expire_snapshots Spark procedure by @gaborkaszab in #13516
- Spark 3.4, 3.5: Expose cleanExpiredMetadata in expire_snapshots Spark procedure by @gaborkaszab in #13553
- Spark 4.0: Row Lineage support by @amogh-jahagirdar in #13310
- Docs: Add BladePipe to list of vendors and blog posts by @ChocZoe in #13510
- Enforce that test classes start with "Test" instead of suffix by @CuteChuanChuan in #13466
- [docs] Add two Iceberg blogs by @rmoff in #13493
- Docs: Hardcode BSD sed if running on MacOS (Closes #13499) by @rmoff in #13501
- [docs] Remove Tabular from Vendors page by @rmoff in #13511
- fix a typo in TestDataFileIndexStatsFilters by @hussein-awala in #13540
- [docs] Add Confluent to vendors page by @rmoff in #13512
- Core: Add Schema evolution test with initial defaults by @anoopj in #13537
- Site: Updates for 1.9.2 Release by @singhpk234 in #13578
- Spark 4: Support Parquet dictionary encoded UUIDs by @Fokko in #13573
- INFRA: Add 1.9.2 to latest by @singhpk234 in #13577
- Core: Add Schema evolution test with partition transform on a field with default values by @anoopj in #13570
- Docs: Fix indentation of 1.9.2 release note by @ebyhr in #13583
- kafka-connect: resolve CVE-2025-48734 by @liko9 in #13561
- Docs: Document compute_partition_stats procedure by @ajantha-bhat in #13532
- API, Core: Avoid boxing of integer in evaluators / simplify ManifestReader by @nastra in #13589
- Docs: Fix the default value of use_caching to false in the rewrite_manifests and add where parameter to rewrite_position_delete_files by @tomtongue in #13549
- Core: Add 'google' auth type to auth manager by @ebyhr in #13564
- Docs: Add creating release from passed RC tag by @singhpk234 in #13595
- [docs] Tidy up left-hand navigation by @rmoff in #13491
- AWS: KeyManagementClient implementation that works with AWS KMS by @szlta in #13136
- Build: Bump io.netty:netty-buffer from 4.2.2.Final to 4.2.3.Final by @dependabot[bot] in #13605
- Build: Bump org.immutables:value from 2.11.0 to 2.11.1 by @dependabot[bot] in #13603
- Build: Bump org.xerial.snappy:snappy-java from 1.1.10.7 to 1.1.10.8 by @dependabot[bot] in #13601
- Spark: Fix flaky testParallelPartialProgressWithMaxFailedCommitsLargerThanTotalFileGroup by @manuzhang in #13598
- Use short string in Variant when possible by @manirajv06 in #13284
- Spark 4.0: Rename
SparkCatalogConfig#SPARK
toSparkCatalogConfig#SPARK_SESSION
by @manuzhang in #13607 - Spark: Unimplement WithAssertions from test class by @nastra in #13610
- Docs: Fix spelling errors in Iceberg v3 spec.md. by @slfan1989 in #13622
- Spec: Add manifests fields to Snapshot Summary metrics by @manuzhang in #13238
- Core: make SnapshotRefType public by @nryanov in #13621
- Spark: use Bulk deletion for manifests when import files to an iceberg table by @dramaticlly in #13620
- Spark 4.0: Preserve row lineage information on compaction by @amogh-jahagirdar in #13555
- Test: Simplify collection and optional assertions by @ebyhr in #13613
- Bump com.google.cloud:libraries-bom from 26.62.0 to 26.64.0 by @liamzwbao in #13632
- Build, Flink: Add timeout and print more logs by @pvary in #13627
- Core: Implement Map comparator by @pvary in #13626
- Flink: Dynamic Sink: Ensure parent for newly added struct is resolved from current schema by @mxm in #13639
- Spark 3.5: Backport #13555 for preserving row lineage on compaction by @amogh-jahagirdar in #13637
- Build: Bump jackson-bom from 2.19.1 to 2.19.2 by @dependabot[bot] in #13600
- Spark 3.4: Backport #13555 for preserving row lineage on compaction by @amogh-jahagirdar in #13641
- Flink: fail file rewrite for V3 tables as row lineage not supported by @stevenzwu in #13646
- spark 4: add tests to verify Arrow Support for Row lineage when using the Parquet Vectorized reader by @kevinjqliu in #13649
- spark 4: add test to verify ignore partition fields that are dropped from the current-schema by @kevinjqliu in #13648
- Spark 3.5: backport rename SparkCatalogConfig#SPARK to SparkCatalogConfig#SPARK_SESSION by @kevinjqliu in #13650
- Docs: Move links to other implementations out of Java docs by @manuzhang in #13618
- Azure: Add extra error logging in ADLSFileIO by @NikitaMatskevich in #13517
- Flink: backport PR #13646 for fail compaction on V3 tables by @stevenzwu in #13652
- Core: backport PR #13100 from 1.9 to main branch that partially revert 12670 by sending single snapshot rather than in bulk by @stevenzwu in #13647
- Flink: Clean up UpdateSchema instantiator method by @mxm in #13640
- Flink: Adds support for SpeculativeExecution for IcebergSink by @rodmeneses in #13642
- Flink: Adjust the configuration precedence for the dynamic sink by @Guosmilesmile in #13609
- Backport #13639: Flink: Dynamic Sink: Ensure parent for newly added struct is resolved from current schema by @mxm in #13656
- Flink: DynamicSink: Convert existing required fields to optional by @mxm in #13659
- Backport #13640: Flink: Clean up UpdateSchema instantiator method in TestEvolveSchemaVisitor by @mxm in #13658
- Build: Statically import Assumptions.assumeThat() by @nastra in #13655
- Backport: Flink: DynamicSink: Convert existing required fields to optional by @mxm in #13660
- Flink: Backport: Adds support for SpeculativeExecution for IcebergSink by @rodmeneses in #13663
- REST-Fixture: Ensure strict mode on jdbc catalog for rest fixture by @jayceslesar in #13599
- docs: add subpage for REST Catalog Spec in "Specification" by @kevinjqliu in #13521
- [Core] Use Bulk deletion for cleaning up uncommitted files in BaseTransaction by @dramaticlly in #13653
- Core: Use zero-copy wrapper for equalityFieldIds by @bvolpato in #13668
- Improve test coverage for 1-5 byte header string primitive in Variant by @manirajv06 in #13629
- Core: Prevent empty Puffin file creation in DV writer by @geruh in #13666
- Core: Allow retries for Idempotent Requests with Certain Codes by @RussellSpitzer in #13449
- Build: Bump datamodel-code-generator from 0.31.2 to 0.32.0 by @dependabot[bot] in #13688
- Build: Bump mkdocs-material from 9.6.14 to 9.6.16 by @dependabot[bot] in #13689
- Build: Bump junit from 5.13.2 to 5.13.4 by @dependabot[bot] in #13684
- Build: Bump com.google.errorprone:error_prone_annotations from 2.40.0 to 2.41.0 by @dependabot[bot] in #13683
- Build: Bump org.xerial:sqlite-jdbc from 3.50.2.0 to 3.50.3.0 by @dependabot[bot] in #13686
- Build: Bump software.amazon.awssdk:bom from 2.31.78 to 2.32.9 by @dependabot[bot] in #13687
- Build: Bump junit-platform from 1.13.2 to 1.13.4 by @dependabot[bot] in #13682
- Core, Data: Cleanup unit tests by delegating file cleanup to JUnit by @anoopj in #13590
- Core: Fix incorrect selection of incremental cleanup in expire snapshots by @amogh-jahagirdar in #13614
- Spark: Add Variant read support for Spark Iceberg tables by @aihuaxu in #13219
- Flink:RewriteDataFiles support filter in plan by @Guosmilesmile in #13669
- Flink: Add test for adjust the configuration precedence in the dynamic sink by @Guosmilesmile in #13662
- Minor: Use hasSameSizeAs to show more debug info by @aihuaxu in #13701
- Build: Bump orc from 1.9.6 to 1.9.7 by @dependabot[bot] in #13470
- Add support for DELTA_BINARY_PACKED Parquet encoding by @eric-maynard in #13391
- Flink: Add doc for the dynamic sink by @Guosmilesmile in #13608
- Flink:Backport RewriteDataFiles support filter in plan to Flink 1.19 and 1.20 by @Guosmilesmile in #13702
- Flink: disable flaky testRangeDistributionStatisticsMigration() by @stevenzwu in #13711
- [Spec]: Fix wrong type for snapshot-id in table statistics by @Smith-Cruise in #13513
- Use decimal precision to determine variant decimal type by @aihuaxu in #13692
- Core: Fix case-insensitive validation of fields in schema evolution by @riemenschneider in #13697
- Core: refactor BaseTransaction for extensibility by @dramaticlly in #13631
- Arrow: test case for fixed type by @nandorKollar in #13700
- Core: introduce shared authentication refresh executor by @adutra in #12563
- fix: coerce UUID to String in readable_metrics to avoid ClassCastException in Spark by @kadai0308 in #13087
- Flink 2.0: Expose cleanExpiredMetadata for snapshot expiration by @gaborkaszab in #13569
- Build: Bump software.amazon.awssdk:bom from 2.32.9 to 2.32.14 by @dependabot[bot] in #13721
- Build: Bump com.google.cloud:libraries-bom from 26.64.0 to 26.65.0 by @dependabot[bot] in #13722
- Flink 1.19, 1.20: Expose cleanExpiredMetadata for snapshot expiration by @gaborkaszab in #13729
- Flink: Re-enable test range distribution statistics migration by @stevenzwu in #13725
- Build: Bump net.snowflake:snowflake-jdbc from 3.24.2 to 3.25.1 by @dependabot[bot] in #13685
- Core: make BaseRowDelta public by @dramaticlly in #13643
- Add Databricks to vendors.md by @lisancao in #13734
- API, Core: Preserve original Type for upper/lower bounds in Metrics by @nastra in #13695
- Spark: Print unknown catalog type in exception when configureValidationCatalog by @manuzhang in #13588
- Spark: Use default cleanExpiredMetadata from Java API by @gaborkaszab in #13731
- Build: Bump org.apache.commons:commons-compress from 1.27.1 to 1.28.0 by @dependabot[bot] in #13723
- AWS: Fix OAuth2 additional params inclusion by @adutra in #13718
- Flink: Fix DynamicCommitter use ThreadPools deprecated method by @Guosmilesmile in #13728
- Close resources only if initialised to avoid rare case NPE by @kumarpritam863 in #13670
- Core, Spark: Preserve the relative path in RewriteTablePathUtil on staging by @Elbehery in #13645
- Spark: Use ORC batch for orcBatchReadConf() by @hsiang-c in #13748
- Build: Bump com.azure:azure-sdk-bom from 1.2.36 to 1.2.37 by @suhwan-cheon in #13743
- Docs: Flink can add/drop/modify columns by @rmoff in #13617
- Fix concurrency issues in Azure credential refresh. by @msawyer-palantir in #13730
- Revert "Coerce UUID to String in
readable-metrics
(#13087)" by @Fokko in #13754 - API: Fix timestamp(9) with identity partitioning. by @rdblue in #13746
- API: Add expression factory methods for timestamp literals. by @rdblue in #13747
- AWS, Aliyun: Fix memory leak by removing deleteOnExit() calls by @kamijin-fanta in #13749
- Docs: Add V3 types to Spark/Flink type conversion table by @manuzhang in #13744
- Core: Remove redundant V2TableTestBase by @ebyhr in #13757
- Introduce MetricsMaxInferredColumnDefaultsStrategy by @jkolash in #13039
- Core: Use ResourcePaths instead of hard-coded resource paths by @nastra in #13759
- Core: support timestamp nanos in single value parser by @ebyhr in #13487
- Docs: Update the Kafka Connect readme by @mimaison in #13484
- OpenAPI: Correct type annotation in TableMetadat#encryption-keys field by @blakesmith in #13762
- Kafka Connect: Add manifests for the transformations by @mimaison in #13531
- Core: Deprecate unused methods in OAuth2Util by @nastra in #13767
- Docs: Meetup Guidelines by @danicafine in #13520
- core: remove duplicate lines in
ExponentialHttpRequestRetryStrategy
by @huaxingao in #13770 - Build: Bump com.gradleup.shadow:shadow-gradle-plugin from 8.3.8 to 8.3.9 by @dependabot[bot] in #13776
- Build: Bump org.immutables:value from 2.11.1 to 2.11.2 by @dependabot[bot] in #13779
- Build: Bump software.amazon.awssdk:bom from 2.32.14 to 2.32.19 by @dependabot[bot] in #13778
- Build: Bump org.assertj:assertj-core from 3.27.3 to 3.27.4 by @dependabot[bot] in #13777
- Spark,Core: Refactor Delete OrphanFiles by moving common code from Spark to core by @Guosmilesmile in #13429
- Spark: Remove unused code by @nastra in #13790
- Spark: Backport #13429 to Spark 4.0 and 3.4 by @Guosmilesmile in #13789
- Parquet: Fix incorrect JavaDoc parameter descriptions in TripleWriter by @sokojh in #13784
- site: reorganize navbar so that "community" is top level by @kevinjqliu in #13774
- Add golden file tests for vectorized Parquet reads by @eric-maynard in #13450
- Spark: Remove unused parameter in RewriteTablePathSparkAction#rewritePositionDeletes by @manuzhang in #13792
- Core: Batch load new files when validating replaced partitions by @gabeiglio in #13556
- nit: Make style consistent by @Fokko in #13794
- Replace
assertThrows
withassertThatThrownBy
for better readability. by @slfan1989 in #13772 - Docs: Fix community links in footer by @manuzhang in #13796
- docs: reorder so "Apache Iceberg Community Calendar" is first by @kevinjqliu in #13806
- Spark 4.0: Add configuration to disable executor cache for delete files by @anuragmantri in #12893
- Docs: fix typo in JdbcLockFactory Javadoc by @slfan1989 in #13811
- Spark: Prune dead branch by @Fokko in #13808
- Spark 3.5, 3.4: Add configuration to disable executor cache for delete files by @anuragmantri in #13817
- Core: Use ResourcePaths instead of hard-coded resource paths in RESTCatalogAdapter by @guixiaowen in #13815
- Docs: Update testing guidelines to reflect full JUnit 5 migration and AssertJ usage. by @slfan1989 in #13822
- Build: Bump software.amazon.s3.analyticsaccelerator:analyticsaccelerator-s3 from 1.0.0 to 1.2.1 by @dependabot[bot] in #13545
- Docs: Minor improvements to Variant sections by @nastra in #13828
- Core: Allow disabling token exchange as refresh by @danielcweeks in #13809
- Spark 4.0: Disable executor cache for delete files in RewriteDataFilesSparkAction by @anuragmantri in #13820
- Core: Request/Response models and parsers for REST Scan Planning by @singhpk234 in #13004
- Flink: Fix hash code comparison for requesting global statistics in DataStatisticsCoordinator by @Guosmilesmile in #13827
- Flink: Backport #13827 to flink 1.20 and 1.19 by @Guosmilesmile in #13830
- Build: Bump mkdocs-macros-plugin from 1.3.7 to 1.3.9 by @dependabot[bot] in #13846
- Build: Bump mkdocs-material from 9.6.16 to 9.6.17 by @dependabot[bot] in #13845
- Flink: Fix ResultSet resource leak in JdbcLockFactory.initializeLockTables(). by @slfan1989 in #13821
- Flink: Fix schedule data file size incorrect in RewriteDataFilesConfig by @Guosmilesmile in https://github.com/apache/iceberg/pull/13848
- Build: Bump software.amazon.awssdk:bom from 2.32.19 to 2.32.24 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13843
- Build: Bump org.immutables:value from 2.11.2 to 2.11.3 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13839
- Flink: Backport Fix ResultSet resource leak in JdbcLockFactory.initializeLockTables(). by @slfan1989 in https://github.com/apache/iceberg/pull/13849
- Build: Bump datamodel-code-generator from 0.32.0 to 0.33.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13844
- Build: Bump net.snowflake:snowflake-jdbc from 3.25.1 to 3.26.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13842
- Build: Bump com.google.cloud:libraries-bom from 26.65.0 to 26.66.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13841
- Build: Bump io.netty:netty-buffer from 4.2.3.Final to 4.2.4.Final by @dependabot[bot] in https://github.com/apache/iceberg/pull/13840
- Build: Bump jetty from 11.0.25 to 11.0.26 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13838
- Spark 4.0: Add removed_delete_files_count to result of RewriteDataFilesProcedure by @manuzhang in https://github.com/apache/iceberg/pull/13657
- Core: Add planWith to FindFiles to leverage ParallelIterable by @regadas in https://github.com/apache/iceberg/pull/13836
- Core, Docs: Update write.metadata.metrics.max-inferred-column-defaults documentation and add benchmark by @dramaticlly in https://github.com/apache/iceberg/pull/13785
- Spark 3.5, 3.4: Add removed_delete_files_count to result of RewriteDataFilesProcedure by @manuzhang in https://github.com/apache/iceberg/pull/13862
- feat: make RESTCatalogServer catalog name configurable by @itamarwe in https://github.com/apache/iceberg/pull/13750
- ADLSFileIO: support access token authentication via the new
adls.token
property by @kevinjqliu in https://github.com/apache/iceberg/pull/13825 - Revert "Docker: Pin QEMU version temporarily" by @ebyhr in https://github.com/apache/iceberg/pull/13861
- Flink: Fix table of contents in Flink docs by @mxm in https://github.com/apache/iceberg/pull/13864
- Docs: Add removed_delete_files_count to rewrite_data_files output by @manuzhang in https://github.com/apache/iceberg/pull/13865
- Rewrite the Iceberg Arrow schema translation to use the visitor pattern by @anoopj in https://github.com/apache/iceberg/pull/13699
- Hive: Throw
NoSuchViewException
when loading an Iceberg table as a view by @gabeiglio in https://github.com/apache/iceberg/pull/13847 - Core: Deprecate TableMetadataParser.read with unused file io parameter by @zhongyujiang in https://github.com/apache/iceberg/pull/13871
- [docs] Add EOS note to Flink docs by @rmoff in https://github.com/apache/iceberg/pull/13875
- Adding new rewrite manifest spark action to accept custom partition order by @zachdisc in https://github.com/apache/iceberg/pull/12840
- Spark 3.4: Support Parquet dictionary encoded UUIDs by @Fokko in https://github.com/apache/iceberg/pull/13877
- Spark 3.5, 3.4: Disable executor cache for delete files in RewriteDataFilesSparkAction by @anuragmantri in https://github.com/apache/iceberg/pull/13868
- Arrow: Add nanosec precision timestamp by @nandorKollar in https://github.com/apache/iceberg/pull/13562
- Flink: Supports delete orphan files in TableMaintenance by @Guosmilesmile in https://github.com/apache/iceberg/pull/13302
- Flink: Move state import from v2 to v1 in SkipOnError by @Guosmilesmile in https://github.com/apache/iceberg/pull/13888
- Flink: Backport supports delete orphan files in TableMaintenance to 1.19 and 1.20 by @Guosmilesmile in https://github.com/apache/iceberg/pull/13887
- Flink custom source parallelism by @swapna267 in https://github.com/apache/iceberg/pull/13878
- Porting custom spark manifest rewrite order to spark 3.4 and 4.0 by @zachdisc in https://github.com/apache/iceberg/pull/13893
- Spec, Core: mark 503 as non retryable error code for Update Table by @singhpk234 in https://github.com/apache/iceberg/pull/13619
- Flink: Backport#13878 custom source parallelism by @swapna267 in https://github.com/apache/iceberg/pull/13894
- Spark: Fix errorprone warning by @ebyhr in https://github.com/apache/iceberg/pull/13896
- Spark 3.4, 3.5: Fix errorprone warnings by @ebyhr in https://github.com/apache/iceberg/pull/13897
- Flink: Refactor ZkLockFactory to improve code readability and maintainability. by @slfan1989 in https://github.com/apache/iceberg/pull/13795
- Spark 4.0: Fix source location in stats file copy plan in RewriteTablePathSparkAction by @anuragmantri in https://github.com/apache/iceberg/pull/13881
- Fix S3InputStream.readFully connection leak by @AnatolyPopov in https://github.com/apache/iceberg/pull/13899
- spec: be explict about nullability of
LoadTableResult
'smetadata-location
by @kevinjqliu in https://github.com/apache/iceberg/pull/13904 - update REST spec to clarify
AssertRefSnapshotId
'ssnapshot-id
field as required by @kevinjqliu in https://github.com/apache/iceberg/pull/13902 - Flink: Backport Refactor ZkLockFactory to improve code readability and maintainability. by @slfan1989 in https://github.com/apache/iceberg/pull/13906
- Build: Bump nessie from 0.104.3 to 0.104.5 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13910
- Build: Bump software.amazon.awssdk:bom from 2.32.24 to 2.32.29 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13911
- Build: Bump mkdocs-material from 9.6.17 to 9.6.18 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13912
- Docs: Update API docs and remove
iceberg-hive3
reference by @ayushjariyal in https://github.com/apache/iceberg/pull/13898 - Build: Bump software.amazon.s3.analyticsaccelerator:analyticsaccelerator-s3 from 1.2.1 to 1.3.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13909
- GCP: KeyManagementClient implementation that works with Google Cloud KMS by @szlta in https://github.com/apache/iceberg/pull/13334
- Spark 3.4, 3.5: Backport #13881 to fix source location in stats file copy plan in RewriteTablePathSparkAction by @anuragmantri in https://github.com/apache/iceberg/pull/13917
- AWS,Azure: Fix S3InputStream and ADLSInputStream connection leaks by @AnatolyPopov in https://github.com/apache/iceberg/pull/13905
- Docs: Add docs for Table Maintenance in Flink by @JeonDaehong in https://github.com/apache/iceberg/pull/13853
- Docs: Add dltHub to list of vendors by @ShreyasGS in https://github.com/apache/iceberg/pull/13920
- Test both vectorized and nonvectorized readers in Parquet golden file tests by @eric-maynard in https://github.com/apache/iceberg/pull/13890
- Spec: clarify the partition-spec metadata for Avro manifest file by @stevenzwu in https://github.com/apache/iceberg/pull/13895
- Spark: (unit test) Order query result deterministically by @hsiang-c in https://github.com/apache/iceberg/pull/13891
- Docs: Add Memiiso Debezium to third party integrations by @ismailsimsek in https://github.com/apache/iceberg/pull/13773
- Core: Parallelize cleanFiles() in IncrementalFileCleanup by @gtrettenero in https://github.com/apache/iceberg/pull/13926
- Flink: add unit test to check skewness across tasks for range partitioner by @stevenzwu in https://github.com/apache/iceberg/pull/13900
- Flink: Improve ConfigOption Descriptions for Flink Table Maintenance Configs. by @slfan1989 in https://github.com/apache/iceberg/pull/13832
- Docs: Add OLake to list of vendors by @badalprasadsingh in https://github.com/apache/iceberg/pull/13931
- Arrow, Spark: Fix Direct Memory Leak on Vectorized Parquet Mixed Encoding Pages by @RussellSpitzer in https://github.com/apache/iceberg/pull/13935
- Spark: Read/Write
UnknownType
by @Fokko in https://github.com/apache/iceberg/pull/13445 - Flink: Backport Improve ConfigOption Descriptions for Flink Table Maintenance Configs. by @slfan1989 in https://github.com/apache/iceberg/pull/13944
- Flink: backport PR #13900 for adding unit test of skewness for range partitioner by @stevenzwu in https://github.com/apache/iceberg/pull/13943
- OpenAPI: Update the range in format-version (for v3) by @jbonofre in https://github.com/apache/iceberg/pull/13505
- Build: Release with JDK17 by @Fokko in https://github.com/apache/iceberg/pull/13946
- Docs: Add OLake (ELT) by @badalprasadsingh in https://github.com/apache/iceberg/pull/13929
- Only warn if OAuth2 server URI is not set by @1raghavmahajan in https://github.com/apache/iceberg/pull/13741
- Docs: metadata deletion doc fix by @yguy-ryft in https://github.com/apache/iceberg/pull/13432
- Doc: Flink Maintenance add Delete OrphansFiles part by @Guosmilesmile in https://github.com/apache/iceberg/pull/13923
- Build: add spark 4.0 to stage-binaries.sh by @stevenzwu in https://github.com/apache/iceberg/pull/13948
- Build: add gradle options --no-parallel and --no-configuration-cache to stage-binaries.sh by @stevenzwu in https://github.com/apache/iceberg/pull/13958
- Build: Bump software.amazon.awssdk:bom from 2.32.29 to 2.33.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13955
- Build: Bump net.snowflake:snowflake-jdbc from 3.26.0 to 3.26.1 by @dependabot[bot] in https://github.com/apache/iceberg/pull/13950
- infra: add "how to verify a release" link to the release email template by @kevinjqliu in https://github.com/apache/iceberg/pull/13960
- Docs: Update nessie version by @petern48 in https://github.com/apache/iceberg/pull/13969
- Test, Spark: Improve the Speed of Rewrite Tests by @RussellSpitzer in https://github.com/apache/iceberg/pull/13947
- Data, Flink, Spark: Use TestHelpers for FormatVersion by @RussellSpitzer in https://github.com/apache/iceberg/pull/13880
- Infra: update how-to-release.md doc on potential multiple staging repositories in a corp network with floating IPs for outbound requests by @stevenzwu in https://github.com/apache/iceberg/pull/13978
- Build: Bump Parquet-Java to 1.16.0 by @Fokko in https://github.com/apache/iceberg/pull/13941
- [docs] Add Kafka->Iceberg blog post to blogs.md by @rmoff in https://github.com/apache/iceberg/pull/13965
- Core: Use safeContainsKey to avoid NPE for CountNonNull by @jackylee-ch in https://github.com/apache/iceberg/pull/13980
- Add a precondition check in allocateFieldVector by @huaxingao in https://github.com/apache/iceberg/pull/13949
- [SPEC] Add implementation note about schema evolution by @emkornfield in https://github.com/apache/iceberg/pull/13936
- Cleanup TestS3OutputStream integration tests by delegating file clean up to JUnit by @AnatolyPopov in https://github.com/apache/iceberg/pull/13983
- Spark: use lookback address for spark session in tests to work with more restrictive firewall env on dev machines by @stevenzwu in https://github.com/apache/iceberg/pull/13993
- Spark: backport PR #13993 to use loopback address for spark driver in tests by @stevenzwu in https://github.com/apache/iceberg/pull/13994
- REST: Fix already in use problem for RESTCatalogServer by @jackylee-ch in https://github.com/apache/iceberg/pull/13992
- Fix versions in LICENSE and NOTICE files by @jbonofre in https://github.com/apache/iceberg/pull/14001
New Contributors
- @ccmao1130 made their first contribution in #12860
- @szarnyasg made their first contribution in #12932
- @mrsubhash made their first contribution in #12894
- @akhilputhiry made their first contribution in #12406
- @gyfora made their first contribution in #12991
- @sundy-li made their first contribution in #13002
- @huaxiangsun made their first contribution in #12771
- @coderfender made their first contribution in #12901
- @hariuserx made their first contribution in #12886
- @juldrixx made their first contribution in #13041
- @hsingh574 made their first contribution in #12855
- @JeonDaehong made their first contribution in #13021
- @futurepastori made their first contribution in #13128
- @sfc-gh-bhannel made their first contribution in #12975
- @Bhargavkonidena made their first contribution in #13113
- @plusplusjiajia made their first contribution in #13118
- @nika-qubit made their first contribution in #13192
- @jmelinav made their first contribution in #13130
- @elphastori made their first contribution in #13104
- @liziyan-lzy made their first contribution in #12254
- @lf-rep made their first contribution in #13242
- @nandorKollar made their first contribution in #13244
- @jerry153fish made their first contribution in #13221
- @yelianevich made their first contribution in #13267
- @KyleLin0927 made their first contribution in #13288
- @zschumacher made their first contribution in #13325
- @jingtao-firebolt made their first contribution in #13350
- @liamzwbao made their first contribution in #13072
- @zhztheplayer made their first contribution in #13381
- @eric-maynard made their first contribution in #13290
- @aiborodin made their first contribution in #13340
- @CuteChuanChuan made their first contribution in #13217
- @Claudenw made their first contribution in #13345
- @shubham-diwakar made their first contribution in #13428
- @DerGut made their first contribution in #13258
- @NikitaMatskevich made their first contribution in #13459
- @yogevyuval made their first contribution in #13504
- @angelo-DNAStack made their first contribution in #12743
- @raveendra11 made their first contribution in #13280
- @anoopj made their first contribution in #13507
- @davidyuan1223 made their first contribution in #13539
- @ChocZoe made their first contribution in #13510
- @manirajv06 made their first contribution in #13284
- @nryanov made their first contribution in #13621
- @bvolpato made their first contribution in #13668
- @Smith-Cruise made their first contribution in #13513
- @riemenschneider made their first contribution in #13697
- @kadai0308 made their first contribution in #13087
- @lisancao made their first contribution in #13734
- @Elbehery made their first contribution in #13645
- @suhwan-cheon made their first contribution in #13743
- @msawyer-palantir made their first contribution in #13730
- @kamijin-fanta made their first contribution in #13749
- @mimaison made their first contribution in #13484
- @blakesmith made their first contribution in #13762
- @sokojh made their first contribution in #13784
- @guixiaowen made their first contribution in #13815
- @itamarwe made their first contribution in https://github.com/apache/iceberg/pull/13750
- @zachdisc made their first contribution in https://github.com/apache/iceberg/pull/12840
- @ayushjariyal made their first contribution in https://github.com/apache/iceberg/pull/13898
- @ShreyasGS made their first contribution in https://github.com/apache/iceberg/pull/13920
- @gtrettenero made their first contribution in https://github.com/apache/iceberg/pull/13926
- @badalprasadsingh made their first contribution in https://github.com/apache/iceberg/pull/13931
- @1raghavmahajan made their first contribution in https://github.com/apache/iceberg/pull/13741
- @yguy-ryft made their first contribution in https://github.com/apache/iceberg/pull/13432
- @petern48 made their first contribution in https://github.com/apache/iceberg/pull/13969
Full Changelog: apache-iceberg-1.9.0...apache-iceberg-1.10.0