What's Changed
- Revert "[SPEC] Add implementation note about schema evolution (#13936)" by @emkornfield in #14002
- Fixing AssertJ assertions in TestS3FileIOProperties by @AnatolyPopov in #14005
- Build: Bump io.netty:netty-buffer from 4.2.4.Final to 4.2.5.Final by @dependabot[bot] in #14008
- Build: Bump com.azure:azure-sdk-bom from 1.2.37 to 1.2.38 by @dependabot[bot] in #14010
- Build: Bump com.google.cloud:libraries-bom from 26.66.0 to 26.67.0 by @dependabot[bot] in #13952
- Build: Bump software.amazon.awssdk:bom from 2.33.0 to 2.33.4 by @dependabot[bot] in #14009
- bump Spark version to 4.0.1 by @drexler-sky in #14019
- Site: Bump up mkdocs-monorepo-plugin to 1.1.2 by @manuzhang in #14015
- [docs] Move third-party integrations to root level of left-hand nav, add more catalogs by @rmoff in #13753
- Core: Extended header support for RESTClient implementations by @gaborkaszab in #12194
- Revert "Site: Bump up mkdocs-monorepo-plugin to 1.1.2" by @manuzhang in #14022
- Build: Bump org.openapitools:openapi-generator-gradle-plugin from 7.14.0 to 7.15.0 by @dependabot[bot] in #14011
- Spark 4.0: Add Support for PartitionStatistics Files in RewriteTablePath. by @slfan1989 in #13956
- docs: flink: Fix updated link by @Fokko in #14024
- Build: Add Docs Build CI by @manuzhang in #14025
- Spark: Support Trigger AvailableNow in SS by @alexprosak in #13824
- Test: Avoid running redundant tests by @ebyhr in #14036
- Spark 4.0, 3.4: Backport #13824 to Support Trigger AvailableNow in SS by @alexprosak in #14026
- Remove BladePipe due to broken links by @Fokko in #14033
- Flink: Fix flaky tests for Iceberg sink by @mxm in #14044
- Flink: Backport #14044: Fix flaky tests for Iceberg sink by @mxm in #14050
- Core: Refactor: Rename resp to response in RESTCatalogAdapter by @gaborkaszab in #14051
- Site, Build: finalize 1.10.0 release with notes and update revapi and links by @stevenzwu in #13996
- Compulsorily close coordinator if task is stopped by the connect framework. by @kumarpritam863 in #13756
- Docs: Fix style of row-level deletes in spec by @JeonDaehong in #13851
- docs: Add link to BladePipe by @Fokko in #14047
- Site: fix up 1.10.0 release notes by @stevenzwu in #14055
- Docs: Remove extra
\in Kafka Connect Configuration docs by @raveendra11 in #13240 - Docs: Update supported Flink versions by @mxm in #13611
- fix: Make TableMetadataV3ValidMinimal actually v3 by @c-thiel in #14061
- Build: Bump io.netty:netty-buffer from 4.2.5.Final to 4.2.6.Final by @dependabot[bot] in #14075
- Build: Bump software.amazon.awssdk:bom from 2.33.4 to 2.33.9 by @dependabot[bot] in #14073
- Build: Bump mkdocs-material from 9.6.18 to 9.6.19 by @dependabot[bot] in #14074
- Arrow: delete outdated comment by @nandorKollar in #14068
- Core: Don't copy stats of delete files in DeleteFileIndex by @ebyhr in #13161
- Core: Refactor: Move properties of REST catalog into RESTCatalogProperties by @gaborkaszab in #13991
- Spec: Deprecate Position delete files with row data by @pvary in #14045
- Azure: Don't fetch credential from endpoint if properties contain a valid credential by @smaheshwar-pltr in #13966
- API: Follow up on adding Variant data type to implement sanitizing for Variant #11479 by @manirajv06 in #13137
- docs: use * for path expansion instead of hardcoding version by @kevinjqliu in #13989
- Infra: update how-to-release doc and site scripts on releasing versioned doc and javadoc based on learnings from 1.10.0 release by @stevenzwu in #14066
- Site: change default remote name back to origin. otherwise, site CI could fail by @stevenzwu in #14086
- Infra: add .sdkmanrc to .gitignore file by @stevenzwu in #14085
- Spark 3.4: Backport: Add procedure and action to compute partition stats. by @slfan1989 in #14034
- Docs: Update Spark Structured Streaming docs for Rate Limiting & Triggers by @alexprosak in #14030
- Update vendors.md adding Fivetran by @fivetran-caseykarst in #14088
- Backport Parquet encoding tests for Spark 3.5 by @eric-maynard in #13859
- Core: Add CountNull Aggregation Support by @jackylee-ch in #13981
- Core: Allow reading metadata table when scanning table with dropped partition source field by @gabeiglio in #14089
- Spark 3.4, 3.5: Backport Add Support for PartitionStatistics Files in RewriteTablePath. by @slfan1989 in #14032
- Add StreamNative to the vendor list by @hangc0276 in #14097
- Spec: bring back added-rows in snapshot fields by @stevenzwu in #14048
- AWS, Core, Data, Spark: Remove deprecations for 1.11.0 by @dogukancagatay in #14059
- API: required nested fields within optional structs can produce null by @dejangvozdenac in #13804
- Core: Make deprecated method package-private in PartitionStats by @ebyhr in #14119
- Doc: Add Spark v4.0 to lifecycle status by @ronkapoor86 in #14116
- Flink: Add support for Flink 2.1.0 by @mxm in #13714
- Add "stop signs" for sensitive information/issues to all issue templates by @snazy in #14103
- BigQuery: Add table validity check for BigQueryMetastoreCatalog by @thomaschow in #14113
- [Core] Add mergeAppendTest to ensure consist distribution of data files in manifests by @dramaticlly in #14111
- Core: Fix Scan Plan API resource paths by @singhpk234 in #14120
- Build: Bump hadoop from 3.4.1 to 3.4.2. by @slfan1989 in #14125
- Fix variant type filtering in ParquetMetricsRowGroupFilter by @geruh in #14081
- Build: Bump software.amazon.awssdk:bom from 2.33.9 to 2.34.0 by @dependabot[bot] in #14133
- Build: Bump mkdocs-material from 9.6.19 to 9.6.20 by @dependabot[bot] in #14131
- Build: Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 by @dependabot[bot] in #14130
- Manifest list encryption by @ggershinsky in #7770
- Flink: Add support for Flink 2.1.0 follow-up by @manuzhang in #14156
- Build: Bump guava from 33.4.8-jre to 33.5.0-jre by @dependabot[bot] in #14128
- Flink: add _row_id and _last_updated_sequence_number readers by @Guosmilesmile in #14148
- Spark 4.0: Pass
format-versionwhen creating a snapshot in table migration actions by @Fokko in #14163 - Flink: Backport add _row_id and _last_updated_sequence_number readers to 2.1 and 1.20 by @Guosmilesmile in #14168
- Spark 3.5: Pass format-version when creating a snapshot by @Fokko in #14169
- Spark 3.4: Pass format-version when creating a snapshot by @Fokko in #14170
- Build: Bump com.google.errorprone:error_prone_annotations from 2.41.0 to 2.42.0 by @dependabot[bot] in #14132
- API, Spark 4.0: Add create_file_list option to RewriteTablePathProcedure. by @slfan1989 in #13837
- Spark 4.0: Refactor Spark procedures to consistently use ProcedureInput for parameter handling. by @slfan1989 in #13913
- Docs: Add REST catalog authentication properties (addresses - #13209) by @piyushdubey in #14065
- Doc: Enhance RewriteTablePath procedure documentation with parameter details. by @slfan1989 in #14181
- Spark 3.5: Backport: Refactor Spark procedures to consistently use ProcedureInput for parameter handling. by @slfan1989 in #14179
- Expose variantShreddingFunc() in Parquet.DataWriteBuilder by @deniskuzZ in #14153
- Spark 3.4: Refactor Spark procedures to consistently use ProcedureInput for parameter handling. by @slfan1989 in #14185
- Spark 3.5: Upgrade to Spark 3.5.7 by @manuzhang in #14114
- Flink: Adds uid-suffix write option to prevent operator UID hash collisions by @rodmeneses in #14063
- Spark 3.4,3.5: Backport: Add create_file_list option to RewriteTablePathProcedure. by @slfan1989 in #14180
- REST: Add missing "added-rows" field to snapshot metadata by @c-thiel in #14177
- Add reference to the Starburst connector by @findinpath in #14188
- Flink: backport PR #14063 to add uid-suffix write option to prevent operator UID hash collisions by @rodmeneses in #14193
- Build: Bump org.immutables:value from 2.11.3 to 2.11.4 by @dependabot[bot] in #14205
- Build: Bump org.apache.httpcomponents.client5:httpclient5 from 5.5 to 5.5.1 by @dependabot[bot] in #14202
- Build: Bump org.assertj:assertj-core from 3.27.5 to 3.27.6 by @dependabot[bot] in #14201
- Build: Bump software.amazon.awssdk:bom from 2.34.0 to 2.34.5 by @dependabot[bot] in #14206
- Build: Bump nessie from 0.104.5 to 0.105.3 by @dependabot[bot] in #14204
- Docs: Document
max-files-to-rewritein Sparkrewrite_data_filesby @alessandro-nori in #14211 - Flink: Ensure DynamicCommitter idempotence in the presence of failures by @mxm in #14182
- AWS, Spark, Flink: Remove
org.jetbrains.annotationsby @manuzhang in #14192 - Core: Implement refs snapshot mode in reference IRC by @gaborkaszab in #14060
- Flink: Backport #14182: Ensure DynamicCommitter idempotence in the presence of failures by @mxm in #14213
- Build: Bump mkdocs-macros-plugin from 1.3.9 to 1.4.0 by @dependabot[bot] in #14203
- Parquet, Core: Allows Internal Parquet Readers to use Custom Types by @RussellSpitzer in #14040
- Azure: add support to specify token credential provider by @munendrasn in #14136
- Site: Remove Blogs and Talks From Site by @RussellSpitzer in #14110
- core: Adding read vector to range readable interface and adding mappe… by @stubz151 in #13997
- Core: Fixed the unpartitioned check in replace partitions by @yuboxx in #14186
- AWS: exclude logging dependencies from bundle by @danielcweeks in #14225
- BigQuery: Add iceberg-bigquery dependency to spark and flink build scripts by @vsamorokov in #14221
- REST, OAuth2: Remove deprecated RefreshingAuthManager by @adutra in #14229
- Spark: Log failed catalog load in Spark3Util::catalogAndIdentifier by @Hugo-WB in #14183
- infra: add analytics for iceberg.apache.org by @kevinjqliu in #14158
- Build: Bump runner image from Ubuntu 22.04 to 24.04. by @slfan1989 in #14240
- Build: Bump software.amazon.awssdk:bom from 2.34.5 to 2.35.0 by @dependabot[bot] in #14252
- Build: Bump org.openapitools:openapi-generator-gradle-plugin from 7.15.0 to 7.16.0 by @dependabot[bot] in #14253
- Build: Bump mkdocs-material from 9.6.20 to 9.6.21 by @dependabot[bot] in #14255
- Build: Bump com.azure:azure-sdk-bom from 1.2.38 to 1.3.0 by @dependabot[bot] in #14257
- Build: Bump jackson-bom from 2.19.2 to 2.20.0 and jackson-annotations to 2.20 by @ebyhr in #13961
- Spark 3.4: Deprecate support by @kevinjqliu in #14099
- Core, Spark: Deprecate
write.metadata.pathand uselocationto customize view location by @tomtongue in #14212 - Core: Deprecate Namespace Joiner/Splitter and use separate methods by @nastra in #14274
- OpenAPI: Fix inconsistent error example names by @huaxingao in #14248
- Build: Bump com.google.cloud:libraries-bom from 26.67.0 to 26.68.0 by @dependabot[bot] in #14134
- Handle NPE for VariantLogicalType in TypeWithSchemaVisitor by @aihuaxu in #14261
- Docs: Mention Hive 4.1 by @okumin in #14282
- Build: Upgrade datafusion-comet to 0.10.1 by @manuzhang in #14273
- Parquet,Docs: Add new table property to configure bloom-filter ndv by @andreffrosa in #14244
- API: Detect whether required fields nested within optionals can produce nulls by @nastra in #14270
- Add kms.endpoint AWS property by @tom-s-powell in #14246
- Build: Bump org.scala-lang.modules:scala-collection-compat_2.13 from 2.13.0 to 2.14.0 by @dependabot[bot] in #14303
- Build: Bump software.amazon.awssdk:bom from 2.35.0 to 2.35.5 by @dependabot[bot] in #14302
- Build: Bump org.immutables:value from 2.11.4 to 2.11.6 by @dependabot[bot] in #14301
- Build: Bump com.google.cloud:libraries-bom from 26.68.0 to 26.70.0 by @dependabot[bot] in #14298
- Build: Bump nessie from 0.105.3 to 0.105.4 by @dependabot[bot] in #14299
- Build: Bump net.snowflake:snowflake-jdbc from 3.26.1 to 3.27.0 by @dependabot[bot] in #14304
- Build: Bump datamodel-code-generator from 0.33.0 to 0.35.0 by @dependabot[bot] in #14300
- Test: Fix package of TestParquetPartitionStatsHandler and TestOrcPartitionStatsHandler by @ebyhr in #14307
- Flink:clear globalStatisticsState in init to avoid duplication by @Guosmilesmile in #14294
- Flink: Backport clear globalStatisticsState in init to avoid duplication to Flink 2.0 and 1.20 by @Guosmilesmile in #14315
- Core: Refactor: Separate Route from RESTCatalogAdapter by @gaborkaszab in #14313
- Spark: Removed the unused imports in Scala Files by @jackylee-ch in #14311
- Test: Remove unused methods and fix typo by @ebyhr in #14305
- Flink: Move write from AppenderFactory to FileWriterFactory by @pvary in #14271
- Flink: Backport move write from AppenderFactory to FileWriterFactory by @pvary in #14325
- docs: add Microsoft Onelake to docs by @kevinjqliu in #14331
- Spark: Refactor to use ArrayUtils by @1raghavmahajan in #14291
- Spec: Clarify restrictions for geometry types in V3 by @szehon-ho in #14250
- Hive : Fixing the trailing slash issue for the database paths in HMS by @Rajeev-01 in #14295
- Docs: add DuckDB to vendors.md by @guillesd in #14327
- Data, Parquet: Fix UUID ClassCastException when reading Parquet files with UUIDs by @ndrluis in #14027
- Kafka Connect: Use GenericFileWriterFactory instead of GenericAppenderFactory by @pvary in #14328
- Spark 4.0: Add variant round trip test for Spark by @huaxingao in #14276
- Core, Flink, Spark: Further deprecations for the positional deletes with row data by @pvary in #14210
- Core: Explicitly close SeekableInput in the AvroIterable by @ebyhr in #14322
- Core: Fix for respecting custom location providers in SerializableTable #12564 by @przemekd in #14280
- Add Google Cloud vendor description by @rambleraptor in #14338
- Data: Replace LongMath.checkedMultiply with Math.multiplyExact by @ebyhr in #14346
- Deprecate and remove GenericAppenderFactory from tests by @pvary in #14353
- Parquet: Treat VARIANT like nested for eq/in in ParquetMetricsRowGroupFilter by @huaxingao in #14279
- Parquet: Fix UnnecessaryParentheses warning by @ebyhr in #14361
- API, Core: Fix byte buffer conversion for Variant in bounds by @amogh-jahagirdar in #14362
- Build: bump testcontainers from 1.21.3 to 2.0.1 by @sullis in #14366
- Build: Bump mkdocs-material from 9.6.21 to 9.6.22 by @dependabot[bot] in #14371
- Build: Don't override checkstyle version in baseline-checkstyle plugin by @manuzhang in #14365
- Build: Bump software.amazon.awssdk:bom from 2.35.5 to 2.35.10 by @dependabot[bot] in #14368
- Build: Bump io.netty:netty-buffer from 4.2.6.Final to 4.2.7.Final by @dependabot[bot] in #14372
- Build: Bump org.apache.avro:avro from 1.12.0 to 1.12.1 by @dependabot[bot] in #14369
- Build: Bump nessie from 0.105.4 to 0.105.5 by @dependabot[bot] in #14370
- REST: Reconcile on CommitStateUnknown for simple update by @huaxingao in #14320
- Spark 3.5, 4.0: Fix the test parameters to match the corresponding values by @tomtongue in #14376
- Hive: Fix lock selection during table creation to respect table properties by @s-sanjay in #14236
- Flink: Prevent recreation of ManifestOutputFileFactory during flushing by @mxm in #14358
- Build: Add unused imports check for scala code by @jackylee-ch in #14344
- Encryption integration and test by @ggershinsky in #13066
- Hotfix: adapt HMS tests to HiveTableOperations ctor (add KeyManagementClient) by @huaxingao in #14384
- Flink: Backport #14358: Prevent recreation of ManifestOutputFileFactory during flushing by @mxm in #14385
- Flink 2.1: Enhance ZkLockFactory: add maxSleepTimeMs and retryPolicyName to support multiple retry policies. by @slfan1989 in #14243
- Flink: flink delta write support dvs by @Guosmilesmile in #14197
- Flink:Backport Support writing DVs in IcebergSink to Flink 2.0 and 1.20 by @Guosmilesmile in #14390
- Flink: add serializer test for StatisticsOrRecord by @stevenzwu in #14381
- Flink: backport PR #14381 for TestStatisticsOrRecordSerializer by @stevenzwu in #14393
- Core: Remove duplicate test assertion in delete file index tests by @amogh-jahagirdar in #14382
- Core: Remove usage of deprecated TableProperties.MANIFEST_LISTS_ENABLED by @gaborkaszab in #14347
- Flink: Backport Enhance ZkLockFactory: add maxSleepTimeMs and retryPolicyName to support multiple retry policies. by @slfan1989 in #14389
- REST: Remove deprecated allowEmptyValue from REST spec by @ebyhr in #14364
- Remove dependency on Hadoop util classes by @aiborodin in #14405
- Docs: recommendation for packaging uberjars by @qinghui-xu in #14292
- Docs: Remove expired Tabular links by @ebyhr in #14399
- [SPEC] Removing trailing whitespace by @emkornfield in #14416
- [Doc Update] Iceberg type to Spark type table by @Kurtiscwright in #14413
- Build: Bump com.google.errorprone:error_prone_annotations from 2.42.0 to 2.43.0 by @dependabot[bot] in #14418
- Build: Bump nessie from 0.105.5 to 0.105.6 by @dependabot[bot] in #14419
- Build: Bump software.amazon.awssdk:bom from 2.35.10 to 2.36.2 by @dependabot[bot] in #14420
- Build: Bump mkdocs-macros-plugin from 1.4.0 to 1.4.1 by @dependabot[bot] in #14421
- Core: Use time-travel schema when resolving partition spec in scan by @chenjian2664 in #13301
- Core: Reference IRC to return 304-NotModified by @gaborkaszab in #14035
- Spark: Deprecate unused methods in SparkTableUtil and SparkSchemaUtil by @ebyhr in #14308
- Flink: add jmh benchmark for StatisticsOrRecordSerializer by @stevenzwu in #14394
- Docs: lint markdown files in site build by @manuzhang in #13977
- Hive: Fix newly added encryption keys getting lost in transactions by @szlta in #14427
- Core: Fix view version ID deduplication with schema ID assignment by @nastra in #14434
- Auto rotation of key encryption keys by @ggershinsky in #14396
- Spark 4.0: Add schema conversion support for default values by @geruh in #14407
- Core: Fix failure when finding a column during time travel by @ebyhr in #14438
- API: Add exception definitions for scan planning by @amogh-jahagirdar in #14442
- Spark: Fix Z-order UDF to correctly handle DateType by @ronkapoor86 in #14108
- Core, Spark 4.0: Remove usage of deprecated avro/DataReader class by @gaborkaszab in #14387
- site: use jinja comment in header.html override by @kevinjqliu in #14459
- infra: cleanup remove unused functions from site/ script by @kevinjqliu in #14466
- Spark 4.0: Support recursive delegate unwrapping to find ExtendedParser in parser chains by @majian1998 in #13625
- Build: Bump pymarkdownlnt from 0.9.32 to 0.9.33 by @dependabot[bot] in #14473
- Build: Bump mkdocs-material from 9.6.22 to 9.6.23 by @dependabot[bot] in #14474
- Build: Bump junit-platform from 1.13.4 to 1.14.1 by @dependabot[bot] in #14469
- Build: Bump net.snowflake:snowflake-jdbc from 3.27.0 to 3.27.1 by @dependabot[bot] in #14468
- Build: Bump calcite from 1.40.0 to 1.41.0 by @dependabot[bot] in #14470
- Build: Bump jackson-bom from 2.20.0 to 2.20.1 by @dependabot[bot] in #14471
- Build: Bump com.google.cloud:libraries-bom from 26.70.0 to 26.71.0 by @dependabot[bot] in #14475
- Build: Bump junit from 5.13.4 to 5.14.1 by @dependabot[bot] in #14476
- Build: Bump org.openapitools:openapi-generator-gradle-plugin from 7.16.0 to 7.17.0 by @dependabot[bot] in #14477
- site: use virtualenv and add make lint by @kevinjqliu in #14428
- Spark 3.5: Support recursive delegate unwrapping to find ExtendedParser in parser chains by @majian1998 in #14483
- Core: Prevent dropping namespace when it contains views by @nastra in #14456
- Core: Minor code improvements by @nastra in #14489
- site: faster make lint by @kevinjqliu in #14492
- Test: Verify variant logical type annotation of Parquet writer by @ebyhr in #14306
- Core: Check table UUID in RESTTableOperations by @ebyhr in #14363
- REST: Restrict visibility of spec-by-id API for scan planning responses by @singhpk234 in #14485
- Core: Fix overflow due to default value on timestamp nanos by @ebyhr in #14359
- Kafka Connect: Don't check that consumer group is stable for coordinator leader election by @fenil25 in #14395
- Spark: Implement ArrayData.getVariant for row-based Parquet readers by @huaxingao in #14349
- Spark: Improve namespace existence verification logic by @roryqi in #14507
- Follow-up: Optimize support recursive delegate unwrapping to find ExtendedParser in parser chains by @majian1998 in #14497
- Spark: enable stream-results option for remove orphan files by @arifazmidd in #14278
- Flink: Preserve row lineage in RewriteDataFiles by @Guosmilesmile in #14149
- Flink: BackPort Preserve row lineage in RewriteDataFiles to Flink 2.1 and 1.20 by @Guosmilesmile in #14520
- Add Fast Mode for Documentation Builds by @talatuyarer in #14267
- Docs: 2.13 scala runtime addition to multi-engine support page by @ronkapoor86 in #14288
- Docs: add Delta Lake Migration to nav (fix #14309) by @MeongSuper in #14323
- Spark: Backport stream-results for remove orphan files to 3.4 and 4.0 by @arifazmidd in #14522
- Spark: Improve the table, view, and function existence verification logic by @roryqi in #14457
- Kafka Connect: add task ID snapshot property by @bryanck in #14493
- Add SnapshotUpdateValidator to validate snapshots on commit by @danielcweeks in #14509
- Core: Avro logical timestamp-millis support by @jamespfaulkner in #14401
- Merge control topic and last persisted offests by @danielcweeks in #14525
- AWS, S3 Signing: Fix leaked credentials when contacting multiple catalogs by @adutra in #14178
- Kafka Connect: validate offsets for refreshed table state on commit by @danielcweeks in #14510
- support StructInternalRow.getVariant by @huaxingao in #14379
- Build: Bump nessie from 0.105.6 to 0.105.7 by @dependabot[bot] in #14535
- Build: Bump org.xerial:sqlite-jdbc from 3.50.3.0 to 3.51.0.0 by @dependabot[bot] in #14536
- Build: Bump com.google.errorprone:error_prone_annotations from 2.43.0 to 2.44.0 by @dependabot[bot] in #14538
- Build: Bump com.azure:azure-sdk-bom from 1.3.0 to 1.3.2 by @dependabot[bot] in #14539
- Build: Bump org.apache.hadoop.thirdparty:hadoop-shaded-guava by @ebyhr in #14542
- Build: Bump software.amazon.awssdk:bom from 2.36.2 to 2.38.2 by @ebyhr in #14541
- API, Spark, Core, Hive: Remove redundant String.format from tests by @ebyhr in #14544
- Core, Spark: Handle unknown type during deletes by @nastra in #14356
- Docs: add missing pages (about, benchmarks, fileio, security) to site… by @enesyesil in #14481
- Doc: Remove Spark 3 specific wordings in docs by @jackylee-ch in #14357
- Spec: minor corrections by @wypoon in #14495
- Update docs to refer to table format-version in spec definition by @mrcnc in #14410
- docs: remove hidden spark-runtime-jar link by @kevinjqliu in #14555
- site: remove site/docs/about.md by @kevinjqliu in #14554
- Build: Restore JVM 11 for build-checks and build-javadoc by @manuzhang in #14534
- Core: Fix validation of PlanTableScanRequest by @nastra in #14561
- core: Use EncryptionUtil's classloader by @hsiang-c in #14452
- Core: Fix PlanTableScanResponse validation by @nastra in #14562
- API, Core: Introduce classes for content stats by @nastra in #13933
- Preserve DV-specific fields for deletion vectors by @adawrapub in #14351
- Core: Add server-side implementation of remote scan planning to RESTCatalogAdapter by @amogh-jahagirdar in #14480
- Flink: Fix writeDataFiles with hardcoded formatVersion by @Guosmilesmile in #14570
- Core: Increase visibility of builder of ParserContext by @singhpk234 in #14572
- Core: Fix RESTFileScanTaskParser to handle empty delete file references list by @ajreid21 in #14568
- Spec: minor clarification, Parquet int type is int32, long is int64 by @nandorKollar in #14546
- REST: Fix serde of tasks with multiple deletes by @singhpk234 in #14573
- Build: Bump testcontainers from 2.0.1 to 2.0.2 by @dependabot[bot] in #14595
- Build: Bump software.amazon.awssdk:bom from 2.38.2 to 2.38.7 by @dependabot[bot] in #14596
- Build: Bump software.amazon.s3.analyticsaccelerator:analyticsaccelerator-s3 from 1.3.0 to 1.3.1 by @dependabot[bot] in #14597
- Build: Bump mkdocs-macros-plugin from 1.4.1 to 1.5.0 by @dependabot[bot] in #14598
- Spark: Custom snapshot property from session configuration by @owen6314 in #14545
- Flink: Add TableCreator interface to set table properties/location on DynamicIcebergSink table creation by @jordepic in #14578
- API: Add geospatial bounding box types and implement intersects checking by @Kontinuation in #12667
- Flink initial table properties backport by @jordepic in #14607
- Core, Flink: Use helper method to filter by prefix by @ebyhr in #14610
- Refactor: populate writeOptions in extraSnapshotMetadata using common util by @yingjianwu98 in #14604
- Core: Classify RowDelta with data files only as APPEND by @mxm in #14581
- Flink: add append capability to dynamic iceberg sink (#14526) by @bezdomniy in #14559
- Add variant type support to ParquetTypeVisitor by @tmater in #14588
- OpenAPI: Add planId as query param to /credentials endpoint by @nastra in #14519
- Arrow: Fix vectorized reads for Parquet TIMESTAMP_MILLIS types by @shubham19may in #14499
- Validate concurrent commits in DynamicIcebergSink to prevent commit duplication by @aiborodin in #14517
- Flink: DynamicSink support dvs by @Guosmilesmile in #14414
- Flink:Backport DynamicSink support dvs to Flink 2.0 and 1.20 by @Guosmilesmile in #14623
- Encryption clean up by @ggershinsky in #14579
- Build: Upgrade setup-java to v5 by @nastra in #14616
- Document Idempotency-Key semantics in OpenAPI by @huaxingao in #14196
- Test: Avoid deprecated AvroParquetWriter.builder(Path file) by @ebyhr in #14620
- Flink: Port validation of concurrent commits in DynamicIcebergSink to Flink 2.0/2.1 by @aiborodin in #14637
- Build: Allow overriding the default test parallelism of 1 by @mxm in #13675
- OpenAPI: Add storage-credentials to CompletedPlanningResult by @ajreid21 in #14563
- Core: Make plan status consistent with the SPEC by @singhpk234 in #14642
- Core: Move deleted files to Hadoop trash if configured by @jordepic in #14501
- Core: Fix RESTCatalogAdapter for Remote Scan Planning by @singhpk234 in #14629
- OpenAPI: Add min-rows-requested field to PlanTableScanRequest by @ajreid21 in #14565
- Core: Add min-rows-requested to PlanTableScanRequest by @nastra in #14614
- Flink: Update Flink 1.18 status to 'End of Life' by @mxm in #14152
- SPEC: Mark plan-id as required for submitted status by @singhpk234 in #14626
- REST: Mark plan-id as required on CompletedPlanningWithIDResult result by @singhpk234 in #14631
- Core: Deprecate PositionDeleteReaderWriter.writer with rowSchema by @pvary in #14651
- Core, API: Support cleanupMode in snapshot expiration by @dramaticlly in #14287
- Core: Align PlanTableScanRequest filter with OpenAPI spec by @geruh in #14657
- Core: Add storage credentials to PlanTableScanResponse by @nastra in #14518
- Build: Bump software.amazon.awssdk:bom from 2.38.7 to 2.39.2 by @dependabot[bot] in #14666
- Build: Bump org.immutables:value from 2.11.6 to 2.11.7 by @dependabot[bot] in #14665
- Build: Bump com.gorylenko.gradle-git-properties:gradle-git-properties from 2.5.2 to 2.5.4 by @dependabot[bot] in #14664
- Build: Bump com.google.cloud:libraries-bom from 26.71.0 to 26.72.0 by @dependabot[bot] in #14663
- Core: Wrong reported length of encrypted Puffin files by @szlta in #14645
- Core: Support incremental Scan in RESTCatalogAdapter for RemoteScanPlanning by @singhpk234 in #14661
- Fix NameMapping loss in ParquetUtil.footerMetrics by @tmater in #14617
- Docs: Add gc.enabled table property by @ebyhr in #14676
- Core: Add idempotency-key-lifetime to ConfigResponse by @huaxingao in #14649
- Build: Don't ignore major version upgrade for GH actions in dependabot by @manuzhang in #14687
- Build: Bump actions/labeler from 5 to 6 by @dependabot[bot] in #14689
- Build: Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #14690
- Build: Bump actions/stale from 9.1.0 to 10.1.0 by @dependabot[bot] in #14692
- Build: Bump software.amazon.awssdk:bom from 2.39.2 to 2.39.4 by @dependabot[bot] in #14693
- Build: Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #14688
- Core: Allow overriding view location for subclasses by @tmater in #14653
- Core: Handle empty tables in RESTCatalogAdapter for server side planning by @geruh in #14660
- Build: Bump actions/checkout from 3 to 6 by @dependabot[bot] in #14691
- Spark: Fix scala warnings in View code by @nastra in #14703
- infra: notify on github workflow failure by @kevinjqliu in #14609
- Docs: Fix package of iceberg.catalog.io-impl by @ebyhr in #14711
- Spark 4.0: expire-snapshots with cleanupLevel=None by @alessandro-nori in #14695
- infra: use new
del_branch_on_mergein .asf.yaml by @kevinjqliu in #14710 - Build: Bump software.amazon.awssdk:bom from 2.39.4 to 2.39.5 by @dependabot[bot] in #14718
- Build: Bump datamodel-code-generator from 0.35.0 to 0.36.0 by @dependabot[bot] in #14716
- Build: Bump com.google.errorprone:error_prone_annotations from 2.44.0 to 2.45.0 by @dependabot[bot] in #14715
- Parquet: Move unchecked suppression down to violating assignment in
ParquetMetricsRowGroupFilterby @smaheshwar-pltr in #14013 - Build: Bump com.azure:azure-sdk-bom from 1.3.2 to 1.3.3 by @dependabot[bot] in #14717
- Core: Fix NAN_VALUE_COUNTS serialization for ContentFile by @huaxingao in #14721
- Core: Use
@TempDirin TestTableMetadataParser by @ebyhr in #14732 - Core: Add UUIDv7 generator by @huaxingao in #14700
- Build: Apply spotless for scala code by @ConeyLiu in #8023
- Refactor SnapshotAncestryValidator by @aiborodin in #14650
- Core: Align ContentFile partition JSON with REST spec by @geruh in #14702
- open-api: use uv and python virtual env by @kevinjqliu in #14684
- Core: Support Custom Table/View Operations in RESTCatalog by @XJDKC in #14465
- Spark: Analyze but don't optimize view body during creation by @jbewing in #14681
- Spark 4.0, Core: Add Limit pushdown to Scan by @nastra in #14615
- Spark 3.4,3.5: Add LIMIT pushdown to Scan by @nastra in #14741
- Spark: Move DeleteFiltering out from the vectorized reader by @pvary in #14652
- Docs: encryption by @ggershinsky in #14621
- Nit: Prefer
PreconditionsinStandardEncryptionManagerby @smaheshwar-pltr in #14753 - Spark: Backport move DeleteFiltering out from the vectorized reader by @pvary in #14745
- Flink: Dynamic Sink: Document writeParallelism and fail on invalid configuration by @mxm in #14191
- Flink: Backport: Dynamic Sink: Document writeParallelism and fail on invalid configuration by @mxm in #14758
- Core: Align ContentFile Enum Serialization with REST Spec by @geruh in #14739
- Exception on encryption key altering by @ggershinsky in #14723
- Docs: fix rendering issues in encryption doc by @huaxingao in #14756
- Fix cache refreshing in DynamicIcebergSink by @aiborodin in #14406
- Flink: Port fix cache refreshing in DynamicIcebergSink by @aiborodin in #14765
- OpenAPI: use yaml linter by @kevinjqliu in #14686
- Core: Reference IRC to return 204 by @gaborkaszab in #14724
- Core: Send Idempotency-Key on mutation requests when advertised by @huaxingao in #14740
- Spark: ORC vectorized reader to use the delete filter by @pvary in #14746
- AWS: Configure builder for reuse of http connection pool in SDKv2 by @anuragmantri in #14161
- site: Update Slack link by @Fokko in #14772
- Update configuration.md by @Kurtiscwright in #14771
- Revert "Update configuration.md" by @manuzhang in #14780
- Build: Bump actions/stale from 10.1.0 to 10.1.1 by @dependabot[bot] in #14784
- Build: Bump nessie from 0.105.7 to 0.106.0 by @dependabot[bot] in #14785
- Build: Bump org.xerial:sqlite-jdbc from 3.51.0.0 to 3.51.1.0 by @dependabot[bot] in #14786
- Build: Bump software.amazon.awssdk:bom from 2.39.5 to 2.40.3 by @dependabot[bot] in #14788
- Core: Disallow encryption table properties in v1 and v2 by @ebyhr in #14668
- OpenAPI: Use
PrimitiveTypeValuerather thanobjectby @Fokko in #14184 - Flink: Dynamic Sink: Add support for dropping columns by @mxm in #14728
- Build: Bump datamodel-code-generator from 0.36.0 to 0.41.0 by @ebyhr in #14791
- Backport: Flink: Dynamic Sink: Add support for dropping columns (#14728) by @mxm in #14799
- OpenAPI: Make namespace separator configurable by server by @nastra in #14448
- OpenAPI: Add idempotency key for the mutating plan endpoints by @singhpk234 in #14730
- Hive: Metadata integrity check for encrypted tables by @szlta in #14685
- Core: Make namespace separator configurable by @nastra in #10877
- Spark: Backport ORC vectorized reader to use the delete filter by @pvary in #14794
- Flink: Fix write unknown type to ORC exception and add ut for unknown type by @Guosmilesmile in #14761
- Flink:Backport fix write unknown type to ORC exception and add ut for unknown type by @Guosmilesmile in #14806
- Spark: Add comet reader test by @pvary in #14807
- Spark: Backport add comet reader test by @pvary in #14809
- GCS: Integrate GCSAnalyticsCore Library by @prudhvimaharishi in #14333
- Core: REST Scan Planning Task Implementation by @singhpk234 in #13400
- API: Reduce 'Scanning table' log verbosity for long list of strings by @raunaqmorarka in #14757
- Flink: Dynamic Sink: Handle NoSuchNamespaceException properly by @mxm in #14812
- Spark: Test all simple types in TestSelect by @nastra in #14804
- Encryption: Simplify Hive key handling and add transaction tests by @smaheshwar-pltr in #14752
- Handle SupportsWithPrefix in EncryptingFileIO by @tom-s-powell in #14727
- API: Align CharSequenceSet impl with Data/DeleteFileSet by @nastra in #11322
- Throw CommitFailedException when BQ returns FAILED_PRECONDITION. by @vladislav-sidorovich in #14801
- Build: Improvements around applying spotless for Scala by @ConeyLiu in #14798
- Core: Implement newBatchScan in RESTTableScan by @singhpk234 in #14776
- Support for TIME, TIMESTAMPNTZ_NANO, UUID types in Inclusive Metrics Evaluator by @manirajv06 in #13195
- Log on cache refresh in dynamic sink by @aiborodin in #14792
- Core: disable flaky test for batchScan RemoteScanPlanning by @singhpk234 in #14826
- Flink: Backport: Dynamic Sink: Handle NoSuchNamespaceException properly (#14812) by @mxm in #14819
- Flink: Backport: Log on cache refresh in dynamic sink by @aiborodin in #14828
- Core: Expose the stats of the manifest file content cache by @gaborkaszab in #13560
- Docs: Add Apache Fluss integration link by @MehulBatra in #14829
- Azure: KeyManagementClient implementation for Azure Key Vault by @nandorKollar in #13186
- Docs: Update community meetup guidelines by @danicafine in #14770
- Spark, Flink: replace deprecated cleanExpiredFiles in expireSnapshots by @dramaticlly in #14832
- Core: Adjust namespace separator in TestRESTCatalog by @gaborkaszab in #14808
- Build: Bump software.amazon.awssdk:bom from 2.40.3 to 2.40.8 by @dependabot[bot] in #14843
- Build: Bump datamodel-code-generator from 0.41.0 to 0.43.1 by @ebyhr in #14845
- Build: Bump org.immutables:value from 2.11.7 to 2.12.0 by @dependabot[bot] in #14844
- Build: Bump io.netty:netty-buffer from 4.2.7.Final to 4.2.8.Final by @dependabot[bot] in #14841
- Build: Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #14840
- Build: Bump actions/cache from 4 to 5 by @dependabot[bot] in #14839
- Core: Change removal of deprecations to 1.12.0 by @gaborkaszab in #14392
- Core: Deprecate scan response builder deleteFiles API by @amogh-jahagirdar in #14838
- SPEC: Add NoSuchPlanId to cancel endpoint by @singhpk234 in #14796
- Flink,Core: RewriteDataFiles add max file group count by @Guosmilesmile in #14837
- Docs: Add schema selection example for time travel queries by @pallevam in #14825
- API, Core: Fix typo in assert message by @huaxingao in #14855
- Core: Address Race Condition in ScanTaskIterable by @singhpk234 in #14824
- API: Remove redundant } from Transforms javadoc by @ebyhr in #14866
- Flink:Backport RewriteDataFiles add max file group count to Flink 1.20 and 2.0 by @Guosmilesmile in #14861
- GCS: bump up gcs-analytics-core version from 1.2.1 -> 1.2.3 by @ajayky-os in #14873
- Spark: Enable remote scan planning with REST catalog by @nastra in #14822
- Core: Simplify handling of the current planId by @nastra in #14883
- Core: Enable metadata tables support for REST scan planning by @singhpk234 in #14881
- Spark: Order results to fix test flakiness with remote scan planning by @nastra in #14894
- Core: Close planFiles() iterable by @nastra in #14891
- Hive: Fix HiveViewOperations does not update view query upon alteration by @stuxuhai in #14831
- Add service account impersonation support for BigQueryMetastoreCatalog by @joyhaldar in #14447
- OpenAPI: Etag for CommitTableResponse by @c-thiel in #14760
- Build: Bump io.netty:netty-buffer from 4.2.8.Final to 4.2.9.Final by @dependabot[bot] in #14897
- Build: Bump testcontainers from 2.0.2 to 2.0.3 by @dependabot[bot] in #14898
- Build: Bump software.amazon.awssdk:bom from 2.40.8 to 2.40.13 by @dependabot[bot] in #14904
- Build: Bump net.snowflake:snowflake-jdbc from 3.27.1 to 3.28.0 by @dependabot[bot] in #14899
- Build: Bump com.google.cloud:libraries-bom from 26.72.0 to 26.73.0 by @dependabot[bot] in #14902
- Build: Bump org.apache.httpcomponents.client5:httpclient5 from 5.5.1 to 5.6 by @dependabot[bot] in #14900
- Build: Bump datamodel-code-generator from 0.43.1 to 0.46.0 by @ebyhr in #14905
- Site: Updates for 1.10.1 Release by @huaxingao in #14907
- Issue template: add 1.10.1 to version dropdown by @huaxingao in #14916
- Site: corrected the release time to Dec 22, 2025 by @huaxingao in #14918
- Spark: Add support for Spark 4.1 by @manuzhang in #14155
- DOAP: add release 1.10.1 by @huaxingao in #14917
- INFRA: Skip running CI for doap.rdf file by @singhpk234 in #14919
- Core: Cleaning up uncommitted cleanup logic in SnapshotProducer implementations by @amogh-jahagirdar in #14923
- [doc] Add highlight note for Hadoop S3A FileSystem by @nhuantho in #14913
- Build: Bump datamodel-code-generator from 0.46.0 to 0.49.0 by @dependabot[bot] in #14938
- Build: Bump pymarkdownlnt from 0.9.33 to 0.9.34 by @dependabot[bot] in #14937
- Aliyun: Update tests per new SDK behaviour by @singhpk234 in #14939
- Build: Bump org.openapitools:openapi-generator-gradle-plugin from 7.17.0 to 7.18.0 by @dependabot[bot] in #14934
- Build: Bump software.amazon.awssdk:bom from 2.40.13 to 2.40.16 by @dependabot[bot] in #14936
- Docs: Fix MERGE INTO example in Getting Started by @varun-lakhyani in #14943
- Spec: fix impl note about snapshot ID generation by @dalaro in #14720
- Spark: Fix flaky ordering in Spark TestSelect by @huaxingao in #14956
- Build: Bump software.amazon.awssdk:bom from 2.40.16 to 2.41.1 by @dependabot[bot] in #14961
- Build: Bump datamodel-code-generator from 0.49.0 to 0.52.1 by @ebyhr in #14962
- Flink: Dynamic Sink: Fix serialization issues with schemas larger than 2^16 bytes by @mxm in #14880
- Flink: Report records/bytes send metrics in DynamicWriter by @aiborodin in #14878
- Spark 3.4 | 3.5: Backport enable remote scan planning by @singhpk234 in #14963
- Flink: Backport: Dynamic Sink: Fix serialization issues with schemas larger than 2^16 bytes (#14880) by @mxm in #14967
- Flink: Backport: DynamicSink: Report writer records/bytes send metrics by @aiborodin in #14971
- Flink: Fix equalityFieldColumns always null in IcebergSink by @Guosmilesmile in #14952
- Flink: Backport fix equalityFieldColumns always null in IcebergSink by @Guosmilesmile in #14975
- [Core] Reduce manifest logging on table drop by @dramaticlly in #14969
- API, Spark: Optimize NOT IN and != predicates for single-value files by @joyhaldar in #14593
- Flink: fix VisibleForTesting import in ZkLockFactory by @huaxingao in #14977
- site: fix live loading in
make serve-devby @kevinjqliu in #14978 - Add Spark app name to env context by @teamurko in #14976
- AWS: Merge catalog properties with properties prefixed with client.credentials-provider. by @tom-s-powell in #14608
- Spark: Backport #14976: Add Spark app name to env context for Spark v3.4, 3.5, 4.0 by @varun-lakhyani in #14981
- API, Core: Scan API for partition stats by @gaborkaszab in #14640
- Handle TIMESTAMP_NANO in InternalRecordWrapper by @ayushtkn in #14974
- Site: Add Iceberg Summit 2026 section to homepage by @RussellSpitzer in #14988
- Include key metadata in manifest tables by @tom-s-powell in #14750
- fix(Catalog): Handle NotFound exception for missing metadata file by @coded9 in #13143
- Spark 4.1: Initial support for MERGE INTO schema evolution by @szehon-ho in #14970
- docs: update spark 3.4 latest iceberg support to 1.10.1 by @kevinjqliu in #14993
- site infra: when running
make serve, add a tip on usingmake serve-devinstead by @kevinjqliu in #14992 - Kafka Connect: Fix CVE-2025-55163 in grpc-netty-shaded by @rmoff in #14985
- Core: unlink table metadata's last-updated timestamp from snapshot timestamp by @dramaticlly in #14504
- Use SnapshotRef.MAIN_BRANCH instead of the 'main' string by @pvary in #14999
- Spark 4.1: Fix spark 4.1 test for unlink table metadata's last-updated timestamp by @dramaticlly in #15004
- infra: add gradle cache to github workflows by @kevinjqliu in #15005
- Core: Add storage credentials to FetchPlanningResultResponse by @nastra in #14994
- Flink: Refactor WriteResult aggregation in DynamicIcebergSink by @aiborodin in #14810
- Core: Support case-insensitive field lookups in SchemaUpdate by @mxm in #14734
- Kafka Connect: validate table uuid on commit by @danielcweeks in https://github.com/apache/iceberg/pull/14979
- Kafka Connect: fix table UUID check by @bryanck in https://github.com/apache/iceberg/pull/15011
- Spark: Add location overlap validation for SnapshotTableAction by @varun-lakhyani in https://github.com/apache/iceberg/pull/14933
- Spark: Backport #14933: Snapshot location overlap check to spark v3.4, v3.5, v4.0 by @varun-lakhyani in https://github.com/apache/iceberg/pull/15016
- Build: Bump datamodel-code-generator from 0.52.1 to 0.52.2 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15018
- Build: Bump io.grpc:grpc-netty-shaded from 1.76.2 to 1.78.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15024
- Build: Bump nessie from 0.106.0 to 0.106.1 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15019
- Build: Bump com.google.errorprone:error_prone_annotations from 2.45.0 to 2.46.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15020
- Build: Bump junit-platform from 1.14.1 to 1.14.2 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15021
- Build: Bump software.amazon.awssdk:bom from 2.41.1 to 2.41.5 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15022
- Build: Bump org.immutables:value from 2.12.0 to 2.12.1 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15026
- Build: Bump orc from 1.9.7 to 1.9.8 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15025
- Build: Bump junit from 5.14.1 to 5.14.2 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15023
- Spark 4.1: Upgrade to Spark 4.1.1 by @manuzhang in https://github.com/apache/iceberg/pull/14946
- Core: Use scan API to read partition stats by @gaborkaszab in https://github.com/apache/iceberg/pull/14989
- Core: Drop support for Java 11 by @manuzhang in https://github.com/apache/iceberg/pull/14400
- AWS, Azure, Core, GCP: Pass planId when refreshing vended credentials by @nastra in https://github.com/apache/iceberg/pull/14767
- Core, Data, Spark: Use partition stats scan API in tests by @gaborkaszab in https://github.com/apache/iceberg/pull/14996
- Include key metadata in manifest tables (Spark 4.1) by @tom-s-powell in https://github.com/apache/iceberg/pull/15041
- site: Apache Iceberg Project News and Blog by @kevinjqliu in https://github.com/apache/iceberg/pull/15013
- site: add registration link closer to the top by @kevinjqliu in https://github.com/apache/iceberg/pull/15044
- Core, Hive: Detect if a view already exists when registering a table by @nastra in https://github.com/apache/iceberg/pull/15010
- Bump to Parquet 1.17.0 by @Fokko in https://github.com/apache/iceberg/pull/14924
- Spark 4.1: Add test coverage for Hive View catalog by @nastra in https://github.com/apache/iceberg/pull/15048
- Spark 3.5,4.0: Add test coverage for Hive View catalog by @nastra in https://github.com/apache/iceberg/pull/15052
- REST Spec: clarify uniqueness of ETags for table metadata responses by @danielcweeks in https://github.com/apache/iceberg/pull/15045
- BigQuery: Eliminate redundant table load by using ETag for conflict detection by @joyhaldar in https://github.com/apache/iceberg/pull/14940
- Spark:Add branch support to rewrite_data_files procedure by @97harsh in https://github.com/apache/iceberg/pull/14964
- API,Core: Support registerView for view catalog by @ajantha-bhat in https://github.com/apache/iceberg/pull/14868
- Spark 3.5: Upgrade to Spark 3.5.8 by @manuzhang in https://github.com/apache/iceberg/pull/15033
- Add idempotency adapter and E2E coverage by @huaxingao in https://github.com/apache/iceberg/pull/14773
- OpenAPI: Add REST endpoint for registering views by @ajantha-bhat in https://github.com/apache/iceberg/pull/14869
- Aliyun: Add RRSA support for OSS authentication by @zhaoyunjiong in https://github.com/apache/iceberg/pull/14443
- Build: Bump datamodel-code-generator from 0.52.2 to 0.53.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15074
- Build: Bump yamllint from 1.37.1 to 1.38.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15075
- Build: Bump com.aliyun:credentials-java from 0.3.2 to 0.3.12 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15076
- Build: Bump software.amazon.awssdk:bom from 2.41.5 to 2.41.10 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15077
- Build: Bump com.aliyun:tea from 1.2.1 to 1.4.1 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15078
- Core: Freshness-aware table loading in REST catalog by @gaborkaszab in https://github.com/apache/iceberg/pull/14398
- Core: Add RegisterViewRequest, parser, and serializers by @ajantha-bhat in https://github.com/apache/iceberg/pull/15068
- Core: Remove unused import in ParquetConversions by @ts-tarou in https://github.com/apache/iceberg/pull/15081
- Flink: Dynamic Sink: Add case-insensitive field matching by @mxm in https://github.com/apache/iceberg/pull/14729
- API: Use Transform#isIdentity in PartitionSpec#identitySourceIds by @raunaqmorarka in https://github.com/apache/iceberg/pull/15066
- Build: Bump roaringbitmap from 1.3.0 to 1.6.0 by @manuzhang in https://github.com/apache/iceberg/pull/14991
- Flink: Backport refactor WriteResult aggregation in DynamicIcebergSink by @aiborodin in https://github.com/apache/iceberg/pull/15054
- Flink: Backport: Add test to ensure that append commits are created in dynamic iceberg sink when possible by @pvary in https://github.com/apache/iceberg/pull/15088
- Flink: Backport: Dynamic Sink: Add case-insensitive field matching (#14729) by @mxm in https://github.com/apache/iceberg/pull/15089
- Make StandardEncryptionManager serializable by @tom-s-powell in https://github.com/apache/iceberg/pull/14751
- Spark: Backport branch support for rewrite_data_files to Spark 4.0, 3.5, and 3.4 by @97harsh in https://github.com/apache/iceberg/pull/15067
- Spark 4.1: Add tests for MERGE INTO schema evolution nested case by @varun-lakhyani in https://github.com/apache/iceberg/pull/15028
- Core: Implement register view for REST catalog by @ajantha-bhat in https://github.com/apache/iceberg/pull/14870
- API, Core: Move partition stat schema creation to API by @gaborkaszab in https://github.com/apache/iceberg/pull/15083
- API: Optimize NOT IN and != predicates for single-value partition manifests by @joyhaldar in https://github.com/apache/iceberg/pull/15064
- Docs: Fix publish_changes wap_id parameter type by @huaxingao in https://github.com/apache/iceberg/pull/15117
- Site: Add RSS feed for blogs by @manuzhang in https://github.com/apache/iceberg/pull/15071
- Flink: Test Parquet writer default handling via core's DataTestBase by @mxm in https://github.com/apache/iceberg/pull/15123
- Build: Bump comet version from 0.10.1 to 0.12.0 by @manuzhang in https://github.com/apache/iceberg/pull/15105
- Flink: Backport: Test Parquet writer default handling via core's DataTestBase (#15123) by @mxm in https://github.com/apache/iceberg/pull/15125
- Spark 4.1: Add Merge WriteSummary to Snapshot Summary by @szehon-ho in https://github.com/apache/iceberg/pull/15014
- Build: Bump pymarkdownlnt from 0.9.34 to 0.9.35 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15130
- Build: Bump mkdocs-rss-plugin from 1.17.4 to 1.17.9 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15131
- Build: Bump org.openapitools:openapi-generator-gradle-plugin from 7.18.0 to 7.19.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15129
- Build: Bump org.assertj:assertj-core from 3.27.6 to 3.27.7 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15132
- Build: Bump jackson-bom from 2.20.1 to 2.21.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15133
- Build: Bump com.google.cloud:libraries-bom from 26.73.0 to 26.74.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15135
- Build: Bump com.fasterxml.jackson.core:jackson-annotations from 2.20 to 2.21 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15136
- Docs: Add C++ library to implementation status by @HeartLinked in https://github.com/apache/iceberg/pull/15107
- Core: Refactor: Test suite for freshness-aware loading by @gaborkaszab in https://github.com/apache/iceberg/pull/15082
- Build: Bump software.amazon.awssdk:bom from 2.41.10 to 2.41.14 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15134
- Core: Invalidate ShreddedObject serialization cache on remove by @huaxingao in https://github.com/apache/iceberg/pull/15097
- Build: Bump gradle-wrapper to 8.14.4 by @HITzengyz in https://github.com/apache/iceberg/pull/15143
- Docs: add blog post for C++ 0.2.0 release by @wgtmac in https://github.com/apache/iceberg/pull/15141
- Flink: Fix test assumption which can produce flakiness by @mxm in https://github.com/apache/iceberg/pull/15147
- site: add slug to be explicit about blog url by @kevinjqliu in https://github.com/apache/iceberg/pull/15149
- Build: Bump spotless gradle plugin to 8.2.0 by @nastra in https://github.com/apache/iceberg/pull/15156
- Build: Bump gradle-git-version to 4.2.0 by @nastra in https://github.com/apache/iceberg/pull/15157
- Test: Fix typo in variable name spaceSeparatedPlanId by @ts-tarou in https://github.com/apache/iceberg/pull/15158
- Api, Spark: Add
orphanFilesCounttoDeleteOrphanFiles.Resultby @alessandro-nori in https://github.com/apache/iceberg/pull/14886 - Build: Bump gradle-baseline-java to 6.90.0 by @nastra in https://github.com/apache/iceberg/pull/15160
- Core: Fix Internal to Generic conversion of TIMESTAMP_NANO by @ayushtkn in https://github.com/apache/iceberg/pull/15099
- site: add docs about Requesting Slack Integrations by @kevinjqliu in https://github.com/apache/iceberg/pull/15170
- Build/Release: Upgrade to RAT 0.17 by @kevinjqliu in https://github.com/apache/iceberg/pull/15145
- Core: Fix incorrect partition bounds calculation in manifest on deletion by @hantangwangd in https://github.com/apache/iceberg/pull/15127
- Build/Release: use RAT collection for ignore file patterns by @kevinjqliu in https://github.com/apache/iceberg/pull/15174
- Docs: Fix bullet list formatting in fileio usage section by @dbjnbnrj in https://github.com/apache/iceberg/pull/15106
- Docs: fix iceberg-cpp website link by @zhjwpku in https://github.com/apache/iceberg/pull/15177
- backport
#14886to older Spark versions by @alessandro-nori in https://github.com/apache/iceberg/pull/15178 - Docs: Add Ryft to third-party integrations by @yguy-ryft in https://github.com/apache/iceberg/pull/15179
- Spark 4.1 | 4.0 | 3.5 | 3.4: Fail publish_changes procedure if there's more than one matching snapshot by @SamWheating in https://github.com/apache/iceberg/pull/14955
- GCP: Add gcp.auth.credentials-json property by @ebyhr in https://github.com/apache/iceberg/pull/14713
- Core: Fix data loss in partial variant shredding by @dirtysalt in https://github.com/apache/iceberg/pull/15087
- API, Hive, Spark: Fix typos in comments and error messages by @manuzhang in https://github.com/apache/iceberg/pull/15181
- AWS, Azure, GCP: Configure headers in HTTPClient from properties by @tom-s-powell in https://github.com/apache/iceberg/pull/15110
- Remove HEAD operation from AnalyticsAcceleratorUtil by @vaibhav5140 in https://github.com/apache/iceberg/pull/15116
- AWS: set retry policy on glue and dynamo clients by @edgao in https://github.com/apache/iceberg/pull/15094
- Build/Release: fix RAT command by @kevinjqliu in https://github.com/apache/iceberg/pull/15194
- Build: Bump nessie from 0.106.1 to 0.107.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15197
- Build: Bump com.aliyun.oss:aliyun-sdk-oss from 3.18.4 to 3.18.5 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15198
- Build: Bump com.diffplug.spotless:spotless-plugin-gradle from 8.2.0 to 8.2.1 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15199
- Build: Bump software.amazon.s3.accessgrants:aws-s3-accessgrants-java-plugin from 2.3.0 to 2.4.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15200
- Build: Bump com.palantir.gradle.gitversion:gradle-git-version from 4.2.0 to 4.3.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15201
- Build: Bump com.google.cloud:libraries-bom from 26.74.0 to 26.75.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15202
- Build: Bump software.amazon.awssdk:bom from 2.41.14 to 2.41.19 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15203
- Build: Bump com.azure:azure-sdk-bom from 1.3.3 to 1.3.4 by @singhpk234 in https://github.com/apache/iceberg/pull/15204
- ORC: Fix typos in IdToOrcName and ORC JavaDoc by @HennesyChihiro in https://github.com/apache/iceberg/pull/15214
- Flink: Dynamic Sink: Fix partition field check in non-immediate update path by @mxm in https://github.com/apache/iceberg/pull/15190
- Core: do not cleanup 503s for CREATE transaction by @alessandro-nori in https://github.com/apache/iceberg/pull/15051
- Core: Skip unnecessary metadata refresh after merge append by @gaborkaszab in https://github.com/apache/iceberg/pull/14709
- Flink: Backport: Dynamic Sink: Fix partition field check in non-immediate update path (#15190) by @mxm in https://github.com/apache/iceberg/pull/15216
- doc: Update AWS vendor doc by @CTTY in https://github.com/apache/iceberg/pull/15222
- ORC: Fix additional typos in ORCSchemaUtil, OrcMetrics, and others by @HennesyChihiro in https://github.com/apache/iceberg/pull/15219
- API: Simplify sanitization of literals in predicates by @Kontinuation in https://github.com/apache/iceberg/pull/15224
- Docs: add blog post for iceberg-rust 0.8.0 release by @kevinjqliu in https://github.com/apache/iceberg/pull/15221
- Core: Adding additional information in RestException by @masfworld in https://github.com/apache/iceberg/pull/14927
- Fix TableUpdate union to include partition statistics updates by @logesh45 in https://github.com/apache/iceberg/pull/15115
- Flink: Dynamic Sink: Resolve effective write config at runtime by @mxm in https://github.com/apache/iceberg/pull/15237
- Core: Fix compute_table_stats failures with concurrent writes by @hemanthboyina in https://github.com/apache/iceberg/pull/15148
- SPEC: Add SQL UDF spec by @flyrain in https://github.com/apache/iceberg/pull/14117
- Spark 4.0: Upgrade to Spark 4.0.2 by @manuzhang in https://github.com/apache/iceberg/pull/15218
- Flink: Backport: Dynamic Sink: Resolve effective write config at runtime by @mxm in https://github.com/apache/iceberg/pull/15247
- Avro: Row Lineage Column (ROW_ID) is not populated correctly in case the Data File doesn't have them by @ayushtkn in https://github.com/apache/iceberg/pull/15187
- Core: Remove deprecation from ViewProperties.WRITE_METADATA_LOCATION by @gaborkaszab in https://github.com/apache/iceberg/pull/15250
- Core, Data: File Format API interfaces by @pvary in https://github.com/apache/iceberg/pull/12774
- AWS: Prefer custom credential provider if specified by @bryanck in https://github.com/apache/iceberg/pull/15249
- Spark 4.1: Introduce constants for Spark metadata columns by @aokolnychyi in https://github.com/apache/iceberg/pull/15245
- Build: Remove JDK17 target configuration for Spark 4.1 by @manuzhang in https://github.com/apache/iceberg/pull/15256
- Build: Bump io.grpc:grpc-netty-shaded from 1.78.0 to 1.79.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15262
- Build: Bump nessie from 0.107.0 to 0.107.1 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15259
- Build: Bump software.amazon.awssdk:bom from 2.41.19 to 2.41.24 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15261
- Build: Bump com.google.errorprone:error_prone_annotations from 2.46.0 to 2.47.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15264
- Build: Bump com.gorylenko.gradle-git-properties:gradle-git-properties from 2.5.4 to 2.5.5 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15263
- Build: Bump io.netty:netty-buffer from 4.2.9.Final to 4.2.10.Final by @dependabot[bot] in https://github.com/apache/iceberg/pull/15260
- OpenAPI: Add support for data access parameter to registerTable by @adutra in https://github.com/apache/iceberg/pull/15231
- Core: Prevent exceptions in ExpressionUtil for unpartitioned tables by @aokolnychyi in https://github.com/apache/iceberg/pull/15243
- Document v3 types by @evindj in https://github.com/apache/iceberg/pull/14888
- Core: FormatModelRegistry javadoc tweaks by @pvary in https://github.com/apache/iceberg/pull/15257
- Core, Spark 4.1: Fix distributed planning for CoW operations by @aokolnychyi in https://github.com/apache/iceberg/pull/15246
- SPEC: Add AccessDelegation header to planAPI calls which vend creds by @singhpk234 in https://github.com/apache/iceberg/pull/14781
- Core, REST: Add support for overwrite in RegisterTableRequest by @adutra in https://github.com/apache/iceberg/pull/15248
- Core, Spark 4.1: Fix querying equality deletes with schema evolution by @aokolnychyi in https://github.com/apache/iceberg/pull/15268
- Core: Include query params into ETag calculation in reference IRC by @gaborkaszab in https://github.com/apache/iceberg/pull/15057
- Core: Fix metadata table scans with useRef by preserving metadata schema by @lirui-apache in https://github.com/apache/iceberg/pull/15276
- Core: Convert metrics to Content Stats by @nastra in https://github.com/apache/iceberg/pull/15251
- Add DataLakeFileSystemClient constructor in ADLSFileIO by @sarthaksin1857 in https://github.com/apache/iceberg/pull/14966
- Spark 4.1: Simplify description and toString in scans by @aokolnychyi in https://github.com/apache/iceberg/pull/15281
- Core: Fix relativize() to handle path equal to prefix (#15172) by @Baunsgaard in https://github.com/apache/iceberg/pull/15173
- API: Implement properties method in EncryptingFileIO by @ebyhr in https://github.com/apache/iceberg/pull/15289
- Build: Remove unused jackson versions in libs.versions.toml by @jsssun in https://github.com/apache/iceberg/pull/15295
- Core: Rename RequiresRemoteScanPlanning to SupportsDistributedScanPlanning by @nastra in https://github.com/apache/iceberg/pull/15184
- Docs: add blog post for iceberg-python 0.11.0 release by @geruh in https://github.com/apache/iceberg/pull/15290
- OpenAPI: Remove specific table spec versions from description by @manuzhang in https://github.com/apache/iceberg/pull/15277
- SPEC: Add referenced-by in loadTable API by @singhpk234 in https://github.com/apache/iceberg/pull/13810
- API, Spark: Support StringLiteral to Fixed and StringLiteral to Binary Conversions by @singhpk234 in https://github.com/apache/iceberg/pull/14882
- Core: Add org.apache.iceberg.DataFiles.Builder#withSortOrderId by @raunaqmorarka in https://github.com/apache/iceberg/pull/15217
- Core, Data: Implementation of AvroFormatModel by @pvary in https://github.com/apache/iceberg/pull/15254
- docs: Fix uuid type formatting in schemas.md by @answndud in https://github.com/apache/iceberg/pull/15309
- Spark 4.1: Refactor SparkMicroBatchStream to SyncPlanner by @RjLi13 in https://github.com/apache/iceberg/pull/15298
- Build: Bump org.xerial:sqlite-jdbc from 3.51.1.0 to 3.51.2.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15320
- Build: Bump com.google.cloud:libraries-bom from 26.75.0 to 26.76.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15321
- Build: Bump software.amazon.s3.accessgrants:aws-s3-accessgrants-java-plugin from 2.4.0 to 2.4.1 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15325
- Build: Bump com.gorylenko.gradle-git-properties:gradle-git-properties from 2.5.5 to 2.5.7 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15322
- Build: Bump software.amazon.awssdk:bom from 2.41.24 to 2.41.29 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15324
- Parquet, Data: Implementation of ParquetFormatModel by @pvary in https://github.com/apache/iceberg/pull/15253
- Core, Orc, Data: Implementation of ORCFormatModel by @pvary in https://github.com/apache/iceberg/pull/15255
- Core: Add support for encryption.kms-type with aws/azure/gcp by @ebyhr in https://github.com/apache/iceberg/pull/15272
- Build: Bump nessie from 0.107.1 to 0.107.2 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15323
- Build: Bump datamodel-code-generator from 0.53.0 to 0.54.0 by @manuzhang in https://github.com/apache/iceberg/pull/15331
- Site: Remove redundant --watch flag from serve scripts by @kevinjqliu in https://github.com/apache/iceberg/pull/15330
- Doc: Guidelines for AI-Generated Contributions by @zhjwpku in https://github.com/apache/iceberg/pull/15213
- Build: Support building site with uv by @manuzhang in https://github.com/apache/iceberg/pull/15118
- infra: remove explicit GITHUB_TOKEN export from labeler workflow by @kevinjqliu in https://github.com/apache/iceberg/pull/15335
- Add Flink Quickstart docker image by @rmoff in https://github.com/apache/iceberg/pull/15124
- Core, Arrow: Implementation of ArrowFormatModel by @pvary in https://github.com/apache/iceberg/pull/15258
- Data, MR: Moving other reader usages to the new FormatModel API by @pvary in https://github.com/apache/iceberg/pull/15333
- infra: set github actions max-parallel to 15 by @kevinjqliu in https://github.com/apache/iceberg/pull/15339
- Spark 4.1: Simplify handling of metadata columns by @aokolnychyi in https://github.com/apache/iceberg/pull/15297
- Spark 4.1: Separate compaction and main operations by @aokolnychyi in https://github.com/apache/iceberg/pull/15301
- Build: Enable JavaUtilDate ErrorProne rule by @ebyhr in https://github.com/apache/iceberg/pull/15346
- Bump lz4-java to 1.10.3 for CVE-2025-12183 & CVE-2025-66566 fixes. by @slfan1989 in https://github.com/apache/iceberg/pull/14941
- Spark 4.1: Align handling of branches in reads and writes by @aokolnychyi in https://github.com/apache/iceberg/pull/15288
- Data: Moving GenericFileWriterFactory to the new FormatModel API by @pvary in https://github.com/apache/iceberg/pull/15334
- Core, Data, Flink: Moving Flink to use the new FormatModel API by @pvary in https://github.com/apache/iceberg/pull/15329
- Docs: Add documentation pointers in README files and fix typos in Spark quickstart by @rmoff in https://github.com/apache/iceberg/pull/15350
- Core, Data, Spark: Moving Spark to use the new FormatModel API by @pvary in https://github.com/apache/iceberg/pull/15328
- Flink: Backport moving Flink to use the new FormatModel API by @pvary in https://github.com/apache/iceberg/pull/15354
- Spark: Backport moving Spark to use the new FormatModel API by @pvary in https://github.com/apache/iceberg/pull/15355
- Spark: Various fixes for SparkFileWriterFactory by @pvary in https://github.com/apache/iceberg/pull/15356
- Spark: Backport various fixes for SparkFileWriterFactory by @pvary in https://github.com/apache/iceberg/pull/15357
- Spark 4.1: Add BaseSparkScanBuilder by @aokolnychyi in https://github.com/apache/iceberg/pull/15360
- Revert "Build: Bump roaringbitmap from 1.3.0 to 1.6.0 (#14991)" by @amogh-jahagirdar in https://github.com/apache/iceberg/pull/15358
- Spark 4.1: Remove unnecessary stats reporting from scan builder by @aokolnychyi in https://github.com/apache/iceberg/pull/15364
- Spark 4.1: Use enum conf parser for isolation level by @aokolnychyi in https://github.com/apache/iceberg/pull/15361
- Spark 4.1: Use table IDs in scan equals/hashCode by @aokolnychyi in https://github.com/apache/iceberg/pull/15363
- Spark 4.1: Use scan filter for conflict detection by @aokolnychyi in https://github.com/apache/iceberg/pull/15365
- Spark 4.1: Fix IcebergSource doc by @aokolnychyi in https://github.com/apache/iceberg/pull/15359
- Add Flink quickstart by @rmoff in https://github.com/apache/iceberg/pull/15062
- Core: populate manifest created/replaced/kept count when commit a snapshot by @dramaticlly in https://github.com/apache/iceberg/pull/15003
- Spark 4.1: Rename expectedSchema to projection for clarity by @aokolnychyi in https://github.com/apache/iceberg/pull/15366
- Spark 4.1: Introduce modes in SparkWriteBuilder by @aokolnychyi in https://github.com/apache/iceberg/pull/15374
- Spark 4.1: Simplify time travel option extraction in IcebergSource by @aokolnychyi in https://github.com/apache/iceberg/pull/15375
- Spark 4.1: Refactor metadata column references to use asRef() method by @aokolnychyi in https://github.com/apache/iceberg/pull/15376
- Fix typos in contribute.md documentation by @MosheBlumbergX in https://github.com/apache/iceberg/pull/15383
- Core: Avoid exceptions for selecting schema for metadata tables in SnapshotUtil by @aokolnychyi in https://github.com/apache/iceberg/pull/15387
- Spark, Arrow, Parquet: Add vectorized parquet read support for
DELTA_LENGTH_BYTE_ARRAY&DELTA_BYTE_ARRAYencodings by @jbewing in https://github.com/apache/iceberg/pull/15362 - Build: Bump actions/stale from 10.1.1 to 10.2.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15398
- Build: Bump junit-platform from 1.14.2 to 1.14.3 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15400
- Build: Bump software.amazon.awssdk:bom from 2.41.29 to 2.41.34 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15402
- Build: Bump org.openapitools:openapi-generator-gradle-plugin from 7.19.0 to 7.20.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15403
- Build: Bump org.roaringbitmap:RoaringBitmap from 1.3.0 to 1.6.10 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15404
- Build: Bump junit from 5.14.2 to 5.14.3 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15401
- CI: Add CodeQL workflow for GitHub Actions security scanning by @kevinjqliu in https://github.com/apache/iceberg/pull/15348
- Spark 4.1: Display write metrics on SQL UI by @manuzhang in https://github.com/apache/iceberg/pull/15104
- Flink: SQL support for dynamic iceberg sink by @swapna267 in https://github.com/apache/iceberg/pull/15279
- Core: Add test for freshness-aware table loading with lazy snapshot loading by @gaborkaszab in https://github.com/apache/iceberg/pull/15274
- Docs: Fix several nit issues in docs by @anshulbaliga7 in https://github.com/apache/iceberg/pull/15419
- Docs: Add blog post about File Format API by @pvary in https://github.com/apache/iceberg/pull/15380
- Revert "Move deleted files to Hadoop trash if configured (#14501)" by @danielcweeks in https://github.com/apache/iceberg/pull/15386
- chore(ci): add explicit least-privilege workflow permissions by @kevinjqliu in https://github.com/apache/iceberg/pull/15409
- Build: Exclude roaringbitmap dependency from Spark and update LICENSE files by @manuzhang in https://github.com/apache/iceberg/pull/15405
- Flink: TableMaintenance Support Coordinator Lock by @Guosmilesmile in https://github.com/apache/iceberg/pull/15151
- OpenAPI: Add SetPartitionStatisticsUpdate/RemovePartitionStatisticsUpdate to TableUpdate by @feefs in https://github.com/apache/iceberg/pull/14957
- Flink: Backport TableMaintenance Support Coordinator Lock to 1.20 and 2.0 by @Guosmilesmile in https://github.com/apache/iceberg/pull/15438
- Spark, Arrow, Parquet: Add vectorized read support for parquet BYTE_STREAM_SPLIT encoding by @jbewing in https://github.com/apache/iceberg/pull/15373
- API, Core: Align offsets of field stats with Design doc / Spec by @nastra in https://github.com/apache/iceberg/pull/15432
- Docs: Add informational properties section for table comment by @yguy-ryft in https://github.com/apache/iceberg/pull/15367
- Build: Bump hadoop from 3.4.2 to 3.4.3. by @slfan1989 in https://github.com/apache/iceberg/pull/15431
- Flink: Support Variant to Flink 2.1 by @Guosmilesmile in https://github.com/apache/iceberg/pull/15265
- #13924: in Iceberg catalog, JdbcTableOperations should catch and handle PostgresSQL's exception for duplicated keys by @sqd in https://github.com/apache/iceberg/pull/15434
- API: Use correct method name in exception message by @waterlx in https://github.com/apache/iceberg/pull/15453
- [Docs] Add Spark MERGE INTO fields in snapshot summary by @szehon-ho in https://github.com/apache/iceberg/pull/15390
- Flink: Backport SQL support for dynamic iceberg sink by @swapna267 in https://github.com/apache/iceberg/pull/15444
- Core: Support parallel execution when scanning entries in ManifestGroup by @dramaticlly in https://github.com/apache/iceberg/pull/15426
- Core: Add properties to InMemoryFileIO by @nastra in https://github.com/apache/iceberg/pull/15469
- Core: Detect and merge duplicate DVs for a data file and merge them before committing by @amogh-jahagirdar in https://github.com/apache/iceberg/pull/15006
- Build: Bump openapi-spec-validator from 0.7.2 to 0.8.3 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15480
- Build: Bump org.roaringbitmap:RoaringBitmap from 1.6.10 to 1.6.12 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15486
- Build: Bump software.amazon.awssdk:bom from 2.41.34 to 2.42.4 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15485
- Build: Bump com.google.errorprone:error_prone_annotations from 2.47.0 to 2.48.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15484
- Build: Bump com.gradleup.shadow:shadow-gradle-plugin from 8.3.9 to 8.3.10 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15483
- Build: Bump jackson-bom from 2.21.0 to 2.21.1 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15482
- Build: Bump nessie from 0.107.2 to 0.107.3 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15481
- Build: Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15479
- Build: Bump kafka from 3.9.1 to 3.9.2 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15478
- Build: Bump actions/checkout from 4 to 6 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15477
- Spark 4.0: Display write metrics on SQL UI by @manuzhang in https://github.com/apache/iceberg/pull/15468
- Build: use ubuntu-slim for lightweight jobs by @zhjwpku in https://github.com/apache/iceberg/pull/15457
- Core, Spark: Adds a Table Property for Relying on Identifier Fields by @RussellSpitzer in https://github.com/apache/iceberg/pull/15372
- Core: Don't fail when bulk deleting metadata in CatalogUtil by @sumtiogo in https://github.com/apache/iceberg/pull/15464
- Docs: Add UDF spec to website navigation by @stevenzwu in https://github.com/apache/iceberg/pull/15491
- Rely - Rename read.identifier-fields.rely to identifier-fields.rely by @RussellSpitzer in https://github.com/apache/iceberg/pull/15495
- Core: Track & close FileIO used for remote scan planning by @nastra in https://github.com/apache/iceberg/pull/15439
- Build, Kafka-Connect: Disable publishing for empty grouping project by @dramaticlly in https://github.com/apache/iceberg/pull/15496
- Docs: Improve json readability in view spec by @ebyhr in https://github.com/apache/iceberg/pull/15505
- Docs: Add missing CREATE DATABASE step to Spark quickstart by @rameshreddy-adutla in https://github.com/apache/iceberg/pull/15513
- docs: udf spec, add newline to properly render lists by @kevinjqliu in https://github.com/apache/iceberg/pull/15516
- OpenAPI: Include storage credentials for PlanTableScanResponse/FetchPlanningResultResponse when include-credentials flag is set by @nastra in https://github.com/apache/iceberg/pull/15524
- Build: Bump lz4-java 1.10.4 by @pan3793 in https://github.com/apache/iceberg/pull/15518
- infra: restore github.del_branch_on_merge in .asf.yaml by @kevinjqliu in https://github.com/apache/iceberg/pull/15517
- Spark 4.1: Migrate to new version framework in DSv2 by @aokolnychyi in https://github.com/apache/iceberg/pull/15240
- Build: Bump docker/build-push-action from 6 to 7 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15532
- Build: Bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15533
- Build: Bump datamodel-code-generator from 0.54.0 to 0.54.1 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15535
- Build: Bump com.azure:azure-sdk-bom from 1.3.4 to 1.3.5 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15539
- Build: Bump com.google.cloud:libraries-bom from 26.76.0 to 26.77.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15538
- Build: Bump com.diffplug.spotless:spotless-plugin-gradle from 8.2.1 to 8.3.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15537
- Build: Bump openapi-spec-validator from 0.8.3 to 0.8.4 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15536
- Build: Bump software.amazon.awssdk:bom from 2.42.4 to 2.42.8 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15540
- Build: Bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15534
- Spark: Fix javadoc mentioning Spark 3.3 in Spark 3.4 benchmark classes by @anshulbaliga7 in https://github.com/apache/iceberg/pull/15544
- Core, Spark: Unify bulk deletion by @nastra in https://github.com/apache/iceberg/pull/15501
- Core: Deprecate unused methods in TableScanUtil by @manuzhang in https://github.com/apache/iceberg/pull/15543
- Flink: Add the possibility to use Coordinator Lock when using Flink SQL by @Guosmilesmile in https://github.com/apache/iceberg/pull/15459
- API, CORE, Flink, Spark: Deprecate Snapshot Change Methods by @RussellSpitzer in https://github.com/apache/iceberg/pull/15241
- Spark: Add ExecutorService support to RewriteTablePath by @mxm in https://github.com/apache/iceberg/pull/15381
- Spark: Add sort_by parameter to rewrite_manifests procedure by @hemanthboyina in https://github.com/apache/iceberg/pull/15467
- Flink:Backport Add the possibility to use Coordinator Lock when using Flink SQL to 2.0 and 1.20 by @Guosmilesmile in https://github.com/apache/iceberg/pull/15562
- docs: reformat mailing list by @kevinjqliu in https://github.com/apache/iceberg/pull/15527
- spark: Don't use table FileIO for checkpointing files by @c2zwdjnlcg in https://github.com/apache/iceberg/pull/15239
- Spark: Backport: Add ExecutorService support to RewriteTablePath (#15381) by @mxm in https://github.com/apache/iceberg/pull/15578
- Core: Make sequence number conflicts retryable in concurrent commits by @agnes-xinyi-lu in https://github.com/apache/iceberg/pull/15126
- Core, Spark: add the comment table property key by @stevenzwu in https://github.com/apache/iceberg/pull/15531
- Spark 3.4, 3.5, 4.0: Don't Use table FileIO for Spark Checkpoints by @c2zwdjnlcg in https://github.com/apache/iceberg/pull/15574
- Core: Rename tableIo to tableIO by @nastra in https://github.com/apache/iceberg/pull/15582
- Core, Flink, Spark: Deprecate Manifest read methods which rely manifest Metadata by @RussellSpitzer in https://github.com/apache/iceberg/pull/15575
- Core, Spark: Fix equality deletes non-deterministic schema ordering (#13873) by @RussellSpitzer in https://github.com/apache/iceberg/pull/15514
- chore: several fixes on the LICENSE/NOTICE by @jbonofre in https://github.com/apache/iceberg/pull/15449
- Spark: Delegate temp file deletion to JUnit in TestParquetVectorizedReads by @moomindani in https://github.com/apache/iceberg/pull/15557
- API, Core: Add FileIO to Scan API by @nastra in https://github.com/apache/iceberg/pull/15561
- Spark 4.0: Fix "AlreadyExistsException: Location already exists" at rewrite_table_path by @Bhargavkonidena in https://github.com/apache/iceberg/pull/14859
- Add TCK for File Format API by @joyhaldar in https://github.com/apache/iceberg/pull/15441
- Build: Flink CI: Define timeout to avoid CI jobs running indefinitely by @jbonofre in https://github.com/apache/iceberg/pull/15617
- Spark, Flink: Backport add TCK for File Format API by @joyhaldar in https://github.com/apache/iceberg/pull/15619
- Core: Move Hadoop conf serialization into SerializableConfiguration by @nastra in https://github.com/apache/iceberg/pull/15583
- SPEC : Allow table level override for scan planning by @singhpk234 in https://github.com/apache/iceberg/pull/14867
- Infra: Remove legacy github.del_branch_on_merge flag by @nastra in https://github.com/apache/iceberg/pull/15620
- Core: Replace Failsafe with Tasks by @singhpk234 in https://github.com/apache/iceberg/pull/15613
- Core: Rename MAX_ATTEMPTS to MAX_RETRIES in RESTTableScan by @singhpk234 in https://github.com/apache/iceberg/pull/15627
- Build: Bump nessie from 0.107.3 to 0.107.4 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15636
- Build: Bump com.google.cloud:libraries-bom from 26.77.0 to 26.78.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15637
- Build: Bump software.amazon.awssdk:bom from 2.42.8 to 2.42.13 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15638
- Build: Bump datamodel-code-generator from 0.54.1 to 0.55.0 by @manuzhang in https://github.com/apache/iceberg/pull/15641
- Core: Load snapshot after it has been committed to prevent accidental cleanup of files by @nastra in https://github.com/apache/iceberg/pull/15511
- Build: Bump mkdocs-material from 9.6.23 to 9.7.5 by @manuzhang in https://github.com/apache/iceberg/pull/15643
- Rename cleanUpOnCommitFailure to cleanUp by @deniskuzZ in https://github.com/apache/iceberg/pull/15389
- API: Fix javadoc of ManageSnapshots.setMaxRefAgeMs by @ebyhr in https://github.com/apache/iceberg/pull/15642
- Spark 4.1: New Async Spark Micro Batch Planner by @RjLi13 in https://github.com/apache/iceberg/pull/15299
- Avro: Reading files using DataFileStream with ROW LINEAGE fails if the column isn't projected by @ayushtkn in https://github.com/apache/iceberg/pull/15508
- Spark: Deprecate constructor with branch in SparkReadConf/SparkWriteConf by @ebyhr in https://github.com/apache/iceberg/pull/15591
- Fix JDBC resource leaks in JdbcCatalog and JdbcUtil by @PDGGK in https://github.com/apache/iceberg/pull/15463
- Spark: Fix aggregate pushdown by @psvri in https://github.com/apache/iceberg/pull/15070
- Core: Fix rewriting delete manifests in RewriteTablePathUtil by @wobu in https://github.com/apache/iceberg/pull/15155
- site: add back privacy plugin by @kevinjqliu in https://github.com/apache/iceberg/pull/15657
- Core: Fix BinPackRewriteFilePlanner producing incorrect output file count with max-files-to-rewrite by @hemanthboyina in https://github.com/apache/iceberg/pull/15576
- Docs: Add HadoopTables lock configuration to Hadoop configuration section by @anshulbaliga7 in https://github.com/apache/iceberg/pull/15520
- Flink: Allow arbitrary post-commit maintenance tasks via IcebergSink Builder by @mxm in https://github.com/apache/iceberg/pull/15566
- Add AGENTS.md with project conventions for AI coding agents by @RussellSpitzer in https://github.com/apache/iceberg/pull/15529
- Core: Sent minRowsRequested to REST server by @nastra in https://github.com/apache/iceberg/pull/15661
- Flink: Backport: Allow arbitrary post-commit maintenance tasks via IcebergSink Builder (#15566) by @mxm in https://github.com/apache/iceberg/pull/15667
- CORE: Allow table level override for scan planning by @singhpk234 in https://github.com/apache/iceberg/pull/15572
- Spark: Explicitly disallow migrating bucketed tables by @lirui-apache in https://github.com/apache/iceberg/pull/15429
- Core: fix propertiesWithPrefix to strip prefix literally, not as regex by @moomindani in https://github.com/apache/iceberg/pull/15558
- API, Core: Use Supplier for FileIO on Scan by @nastra in https://github.com/apache/iceberg/pull/15646
- Spark: Remove Apache DataFusion Comet integration by @andygrove in https://github.com/apache/iceberg/pull/15674
- Spark 4.1: Pass FileIO on Spark's read path by @nastra in https://github.com/apache/iceberg/pull/15448
- Spark 4.0: Pass FileIO on Spark's read path by @nastra in https://github.com/apache/iceberg/pull/15682
- Spark 3.5: Pass FileIO on Spark's read path by @nastra in https://github.com/apache/iceberg/pull/15683
- Flink: Add branch support to RewriteDataFiles maintenance task by @mxm in https://github.com/apache/iceberg/pull/15672
- Core: Fix useSnapshotSchema logic and projection in RESTTableScan by @singhpk234 in https://github.com/apache/iceberg/pull/15609
- Flink: Backport: Add branch support to RewriteDataFiles maintenance task (#15672) by @mxm in https://github.com/apache/iceberg/pull/15690
- AWS: Add scheduled refresh for the S3FileIO held storage credentials by @danielcweeks in https://github.com/apache/iceberg/pull/15678
- Spark 3.4, 3.5, 4.1: Fix "AlreadyExistsException: Location already exists" at rewrite_table_path by @Bhargavkonidena in https://github.com/apache/iceberg/pull/15616
- Spark: Add named constant for
NO_ADVISORY_PARTITION_SIZEby @jbewing in https://github.com/apache/iceberg/pull/15681 - Spark, Flink: Add null engineSchema fallback for format model writers by @joyhaldar in https://github.com/apache/iceberg/pull/15688
- Flink: Fix non-deterministic operator UIDs in DynamicIcebergSink by @mxm in https://github.com/apache/iceberg/pull/15687
- Data: Add TCK tests for ReadBuilder in BaseFormatModelTests by @Guosmilesmile in https://github.com/apache/iceberg/pull/15633
- Core: Propagate Avro compression settings to manifest writers by @RussellSpitzer in https://github.com/apache/iceberg/pull/15652
- Site: Add Iceberg-Go 0.5.0 release blog post by @zeroshade in https://github.com/apache/iceberg/pull/15679
- Flink: Backport: Fix non-deterministic operator UIDs in DynamicIcebergSink (#15687) by @mxm in https://github.com/apache/iceberg/pull/15702
- Build: Stop ignoring gradle directory by @kevinjqliu in https://github.com/apache/iceberg/pull/15705
- Core: Throw exception when non-vectorized reader set recordsPerBatch by @Guosmilesmile in https://github.com/apache/iceberg/pull/15701
- Build: Bump pymarkdownlnt from 0.9.35 to 0.9.36 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15715
- Build: Bump testcontainers from 2.0.3 to 2.0.4 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15716
- Build: Bump com.diffplug.spotless:spotless-plugin-gradle from 8.3.0 to 8.4.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15717
- Build: Bump org.roaringbitmap:RoaringBitmap from 1.6.12 to 1.6.13 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15718
- Build: Bump org.codehaus.jettison:jettison from 1.5.4 to 1.5.5 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15719
- Build: Bump software.amazon.awssdk:bom from 2.42.13 to 2.42.18 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15720
- Build: Bump jackson-bom from 2.21.1 to 2.21.2 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15722
- Build: Bump io.grpc:grpc-netty-shaded from 1.79.0 to 1.80.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15723
- Build: Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15721
- Docs: Document Spark SQL transform functions by @jackylee-ch in https://github.com/apache/iceberg/pull/15697
- Spark 3.4, 3.5: Backport #14894 by @RussellSpitzer in https://github.com/apache/iceberg/pull/15725
- Infra: Remove GitHub Actions from Dependabot configuration by @kevinjqliu in https://github.com/apache/iceberg/pull/15711
- AWS: Schedule next credential refresh by @nastra in https://github.com/apache/iceberg/pull/15732
- Spark: Remove Spark 4.x Java version skip guards by @manuzhang in https://github.com/apache/iceberg/pull/15737
- Infra: Pin versions in publish-iceberg-rest-fixture-docker.yml by @ebyhr in https://github.com/apache/iceberg/pull/15730
- API, Core: Only include required stats fields by @nastra in https://github.com/apache/iceberg/pull/15739
- GCP: Add scheduled refresh for storage credentials held by GCSFileIO by @nastra in https://github.com/apache/iceberg/pull/15696
- Core: Fix rewrite_position_delete_files failure with array/map columns by @szehon-ho in https://github.com/apache/iceberg/pull/15632
- ci: pin third-party actions to Apache-approved SHAs by @kevinjqliu in https://github.com/apache/iceberg/pull/15707
- Spark: Replicate position delete array/map fix to Spark 3.4, 3.5, and 4.0 by @szehon-ho in https://github.com/apache/iceberg/pull/15743
- Site: Update Snowflake vendor description by @manisin in https://github.com/apache/iceberg/pull/15745
- Docs: Add blog post for Iceberg Rust 0.9.0 release by @mbutrovich in https://github.com/apache/iceberg/pull/15744
- Core, Data, Delta, Flink, Kafka, Spark : Migrate callers off deprecated Snapshot file-access methods to Snapshot Changes by @RussellSpitzer in https://github.com/apache/iceberg/pull/15656
- ci: pin GitHub action to commit hash by @kevinjqliu in https://github.com/apache/iceberg/pull/15753
- Core: Add VisibleForTesting annotation in SchemaUpdate constructor by @mukund-thakur in https://github.com/apache/iceberg/pull/15756
- Spark: fix NPE thrown for MAP/LIST columns on DELETE, UPDATE, and MERGE operations by @antonlin1 in https://github.com/apache/iceberg/pull/15726
- Core: Pass storage credentials to ioBuilder-created FileIO in RESTSes… by @kaveti in https://github.com/apache/iceberg/pull/15752
- Flink: Fix HashKeyGenerator SelectorKey cache ignoring writeParallelism and distributionMode by @Below0 in https://github.com/apache/iceberg/pull/15740
- Flink: Backport: Fix HashKeyGenerator SelectorKey cache ignoring writeParallelism and distributionMode by @Below0 in https://github.com/apache/iceberg/pull/15762
- Docs: clarify SparkSessionCatalog function limitations by @jackylee-ch in https://github.com/apache/iceberg/pull/15736
- Docs: Update Slack Invite Links by @RussellSpitzer in https://github.com/apache/iceberg/pull/15782
- Spark: test cleanup - eliminate unnecessary table refreshes by @wypoon in https://github.com/apache/iceberg/pull/15765
- Spark 3.4, 3.5, 4.0: test cleanup - eliminate unnecessary table refreshes by @wypoon in https://github.com/apache/iceberg/pull/15787
- Docs: Fix Flink Getting Started page by @manuzhang in https://github.com/apache/iceberg/pull/15772
- Spark: Validate Z-order rewrite does not conflict with internal ICEZVALUE column name by @YanivZalach in https://github.com/apache/iceberg/pull/15706
- Spark 4.1: Set data file sort_order_id in manifest for writes from Spark by @jbewing in https://github.com/apache/iceberg/pull/15150
- CI: Fix zizmor security findings in PR-triggered workflows by @kevinjqliu in https://github.com/apache/iceberg/pull/15788
- Build: Harden GitHub Actions workflows against zizmor findings by @kevinjqliu in https://github.com/apache/iceberg/pull/15790
- CI: Add ASF allowlist check workflow by @kevinjqliu in https://github.com/apache/iceberg/pull/15797
- ci: add cooldown to dependabot by @kevinjqliu in https://github.com/apache/iceberg/pull/15796
- Core: Add manifest partition pruning to DV validation in MergingSnapshotProducer by @anoopj in https://github.com/apache/iceberg/pull/15653
- CI: Add back Dependabot for GitHub Actions by @kevinjqliu in https://github.com/apache/iceberg/pull/15801
- CI: Replace
actions/cachewithgradle/actions/setup-gradlefor Gradle caching by @kevinjqliu in https://github.com/apache/iceberg/pull/15799 - Build: Bump astral-sh/setup-uv from 7.3.1 to 7.6.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15803
- Core: Fix TestReplacePartitions using wrong table for validation by @RussellSpitzer in https://github.com/apache/iceberg/pull/15798
- ci: add zizmor github workflow by @kevinjqliu in https://github.com/apache/iceberg/pull/15793
- Arrow: Tighten VectorHolder constructor visibility to private by @thswlsqls in https://github.com/apache/iceberg/pull/15804
- CI: Fix JMH benchmark workflows by @kevinjqliu in https://github.com/apache/iceberg/pull/15800
- ci: add tag as inline comment by @kevinjqliu in https://github.com/apache/iceberg/pull/15805
- API, Core: Add overwrite-aware table registration by @sririshindra in https://github.com/apache/iceberg/pull/15525
- Core: Fix NPE of generateRandomMetrics in FileGenerationUtil by @dramaticlly in https://github.com/apache/iceberg/pull/15748
- Kafka Connect: Fix CVE-2025-67721 in io.airlift:aircompressor by @rmoff in https://github.com/apache/iceberg/pull/15440
- ci: fix zizmor security alerts by @kevinjqliu in https://github.com/apache/iceberg/pull/15820
- Spark: Fix option validation in RewritePositionDeleteFilesSparkAction by @naamamaoz in https://github.com/apache/iceberg/pull/15828
- Spark: Remove Spark 2 test assumptions for write projection by @Ruobing1997 in https://github.com/apache/iceberg/pull/15823
- Docs: Update Spark/Flink example versions in contribute.md by @thswlsqls in https://github.com/apache/iceberg/pull/15812
- OpenAPI: Promote the S3 signing endpoint to the main spec by @adutra in https://github.com/apache/iceberg/pull/15450
- API, Core: Introduce foundational types for V4 manifest support by @anoopj in https://github.com/apache/iceberg/pull/15049
- Spark 4.1: Fix async microbatch plan bugs by @RjLi13 in https://github.com/apache/iceberg/pull/15670
- GCS: Throw NotFoundException for inexistent input GCS file by @findinpath in https://github.com/apache/iceberg/pull/15734
- Spark 4.1: Control merge schema evolution by table property by @szehon-ho in https://github.com/apache/iceberg/pull/15825
- Core: Remove v4 references from javadocs by @anoopj in https://github.com/apache/iceberg/pull/15851
- Change bigquery to compileonly by @rambleraptor in https://github.com/apache/iceberg/pull/15655
- Spec: Fix typos and stray formatting in gcm-stream-spec and puffin-spec by @thswlsqls in https://github.com/apache/iceberg/pull/15813
- Docs: Fix stale version label and missing integrations in mkdocs-dev.yml by @thswlsqls in https://github.com/apache/iceberg/pull/15810
- Build: Add runtime dependency guard for bundled artifacts by @RussellSpitzer in https://github.com/apache/iceberg/pull/15855
- Aliyun: Remove leaked transitive dependencies by @rdblue in https://github.com/apache/iceberg/pull/15858
- Docs: Fix missing semicolons in Java API Quickstart imports by @atsuyam in https://github.com/apache/iceberg/pull/15864
- Spark (4.0, 3.5): Set data file sort_order_id in manifest for writes from Spark by @jbewing in https://github.com/apache/iceberg/pull/15832
- Core: Upgrade Jetty to 12.1.5 by @nastra in https://github.com/apache/iceberg/pull/10837
- Gradle: bump shadow-gradle-plugin to 9.4.1 by @MaxNevermind in https://github.com/apache/iceberg/pull/15835
- Build: Bump mkdocs-redirects from 1.2.2 to 1.2.3 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15885
- Build: Bump astral-sh/setup-uv from 7.6.0 to 8.0.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15888
- Build: Bump org.openapitools:openapi-generator-gradle-plugin from 7.20.0 to 7.21.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15886
- Build: Bump com.google.cloud:libraries-bom from 26.78.0 to 26.79.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15889
- Build: Bump software.amazon.awssdk:bom from 2.42.18 to 2.42.23 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15890
- Build: Bump jetty from 12.1.5 to 12.1.7 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15887
- Build: Bump io.netty:netty-buffer from 4.2.10.Final to 4.2.12.Final by @dependabot[bot] in https://github.com/apache/iceberg/pull/15891
- AWS: Add chunked encoding configuration for S3 requests by @plusplusjiajia in https://github.com/apache/iceberg/pull/15242
- Core : Make REST scan planning poll timeout configurable by @rahulsmahadev in https://github.com/apache/iceberg/pull/15863
- Spark 4.1: Add runtime-deps.txt by @rdblue in https://github.com/apache/iceberg/pull/15860
- Docs: Document that Spark migrate procedure will fail if source table is bucketed by @wypoon in https://github.com/apache/iceberg/pull/15874
- Docs: Add Hive Metastore schema validation warnings for schema evolution with Hive catalog by @jackylee-ch in https://github.com/apache/iceberg/pull/15814
- Build: Fix zizmor and Spark 4.1 runtime-deps CI failures by @huaxingao in https://github.com/apache/iceberg/pull/15937
- Revert "Gradle: bump shadow-gradle-plugin to 9.4.1" by @nastra in https://github.com/apache/iceberg/pull/15941
- AWS, Core: Switch Jetty to use new Compression API for GZIP by @nastra in https://github.com/apache/iceberg/pull/15043
- Build: Pass docker token using --password-stdin by @dhruvarya-db in https://github.com/apache/iceberg/pull/15940
- API: Include size unit in avg/max value size fields by @nastra in https://github.com/apache/iceberg/pull/15939
- Build: Bump datamodel-code-generator from 0.55.0 to 0.56.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15949
- Build: Bump jetty from 12.1.7 to 12.1.8 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15951
- Build: Bump software.amazon.awssdk:bom from 2.42.23 to 2.42.28 by @dependabot[bot] in https://github.com/apache/iceberg/pull/15952
- API: Fix TableIdentifier.toLowerCase to use Locale.ROOT for namespace levels (#15956) by @Govindarajan-D in https://github.com/apache/iceberg/pull/15958
- Flink: Fix checkArgument message for flink streaming by @genxiong7 in https://github.com/apache/iceberg/pull/15907
- Parquet: Fix NPE in ParquetAvroWriter when schema contains variant type by @nssalian in https://github.com/apache/iceberg/pull/15934
- Kafka Connect: Fix source offset tracking when SMTs modify the record topic by @kumarpritam863 in https://github.com/apache/iceberg/pull/15880
- Core: Expose MetricsConfig.from method with 3-parameter version by @ebyhr in https://github.com/apache/iceberg/pull/15819
- Docs: Add Sail to integration and vendor by @lonless9 in https://github.com/apache/iceberg/pull/15920
- ADLS: Throw NotFoundException for inexistent input file by @findinpath in https://github.com/apache/iceberg/pull/15806
- Build: Ban toLowerCase/toUpperCase without locale by @ebyhr in https://github.com/apache/iceberg/pull/15960
- API, Core: Move all stats-related classes into core and make them package-private by @nastra in https://github.com/apache/iceberg/pull/15971
- API: Relax partition name check when source column is dropped by @RussellSpitzer in https://github.com/apache/iceberg/pull/15967
- Core, API, Spark: Add FileContent.fromId by @anoopj in https://github.com/apache/iceberg/pull/15953
- Fix typos in javadoc/comment: 'intialize', 'seperated' by @MukundaKatta in https://github.com/apache/iceberg/pull/15978
- Build: Fix codeql-action version comment to match pinned SHA by @rmoff in https://github.com/apache/iceberg/pull/15985
- Core: Add fromId to EntryStatus and ManifestEntry.Status by @anoopj in https://github.com/apache/iceberg/pull/15983
- ci: remove zizmor ignore for
allowlist-check, pin to main by @kevinjqliu in https://github.com/apache/iceberg/pull/15987 - Spec: Add 404 response for config endpoint by @oguzhanunlu in https://github.com/apache/iceberg/pull/15746
- Core: Optimize RoaringPositionBitmap.setRange with native range API by @Baunsgaard in https://github.com/apache/iceberg/pull/15791
- Core: Introduce default values in RESTCatalogProperties by @gaborkaszab in https://github.com/apache/iceberg/pull/15873
- Hive encryption nits by @smaheshwar-pltr in https://github.com/apache/iceberg/pull/14659
- site: Update Rust status on the site by @CTTY in https://github.com/apache/iceberg/pull/15709
- Core: Fix StructLikeWrapper.equals exception with comparator failure by @ebyhr in https://github.com/apache/iceberg/pull/15945
- API: Fix FileRange validation to reject negative offset/length by @barry3406 in https://github.com/apache/iceberg/pull/15926
- Docs: Replace deprecated 'compile' with 'implementation' in Gradle snippet by @yadavay-amzn in https://github.com/apache/iceberg/pull/15921
- Build: Ignore
.githooksby @manuzhang in https://github.com/apache/iceberg/pull/15909 - Docs: Document that positionDeleteWriteBuilder is for format-version 2 tables only by @lilei1128 in https://github.com/apache/iceberg/pull/15980
- AWS: Close custom AwsCredentialsProvider in RESTSigV4AuthSession by @XJDKC in https://github.com/apache/iceberg/pull/15818
- Data: Clean engineProjection in BaseFormatModelTests by @Guosmilesmile in https://github.com/apache/iceberg/pull/15995
- Flink: Add passthroughRecords option to DynamicIcebergSink by @sqd in https://github.com/apache/iceberg/pull/15433
- ci: set zizmor min-severity and min-confidence to medium by @kevinjqliu in https://github.com/apache/iceberg/pull/16001
- Docs: Add Apache Hive 4.2 to website by @okumin in https://github.com/apache/iceberg/pull/15998
- Flink: Set generator parallelism to match input in DynamicIcebergSink by @sachinnn99 in https://github.com/apache/iceberg/pull/15849
- Docs: Sync Go implementation status with iceberg-go by @tanmayrauth in https://github.com/apache/iceberg/pull/16021
- Build: Bump mkdocs-rss-plugin from 1.17.9 to 1.18.1 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16036
- Flink 2.1: Fix forward-writer chaining regression in DynamicIcebergSink by @drexler-sky in https://github.com/apache/iceberg/pull/16026
- Build: Bump com.azure:azure-sdk-bom from 1.3.5 to 1.3.6 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16037
- Build: Bump at.yawk.lz4:lz4-java from 1.10.4 to 1.11.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16038
- Build: Bump com.google.errorprone:error_prone_annotations from 2.48.0 to 2.49.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16039
- Build: Bump docker/build-push-action from 7.0.0 to 7.1.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16041
- Build: Bump org.roaringbitmap:RoaringBitmap from 1.6.13 to 1.6.14 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16042
- Build: Bump software.amazon.awssdk:bom from 2.42.28 to 2.42.33 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16040
- Backport "Add passthroughRecords option to DynamicIcebergSink (#15433)" by @sqd in https://github.com/apache/iceberg/pull/16019
- Core: Expose HostnameVerificationPolicy in TLSConfigurer by @adutra in https://github.com/apache/iceberg/pull/15500
- Infra: Add .factorypath to .gitignore file by @wangyum in https://github.com/apache/iceberg/pull/16067
- Spark: Replace deprecated registerTempTable with createOrReplaceTempView by @drexler-sky in https://github.com/apache/iceberg/pull/16063
- AWS: Add proxy system property and environment variable configuration for HTTP clients by @mervyn-lobo in https://github.com/apache/iceberg/pull/15506
- Do not fail if no partitions assigned by @kumarpritam863 in https://github.com/apache/iceberg/pull/15955
- Core: Use Stream overload for reading response in HTTPClient by @alpbeysir in https://github.com/apache/iceberg/pull/15648
- Spark: Fix RoaringBitmap version in runtime-deps.txt by @ebyhr in https://github.com/apache/iceberg/pull/16076
- Spark: Fix ThreadLocal leak in CommitMetadata (#15284) by @yadavay-amzn in https://github.com/apache/iceberg/pull/16031
- Spark: fix delete from branch for canDeleteWhere where it does not resolve to the correct branch by @yingjianwu98 in https://github.com/apache/iceberg/pull/15512
- Kafka Connect: Support VARIANT when record convert by @seokyun-ha-toss in https://github.com/apache/iceberg/pull/15283
- REST Spec: Clarify identifier uniqueness across tables and views by @stevenzwu in https://github.com/apache/iceberg/pull/15691
- Spark (3.4,3.5,4.0) : Include snapshotId and branch in SparkTable equals and hashCode by @bharos in https://github.com/apache/iceberg/pull/15840
- Core, Spark: Verify that TRUNCATE removes orphaned DVs by @nastra in https://github.com/apache/iceberg/pull/16078
- API: Implement notStartsWith bounds check in StrictMetricsEvaluator by @bharos in https://github.com/apache/iceberg/pull/15883
- Core: Add TrackedFileStruct, implementation of v4 TrackedFile by @anoopj in https://github.com/apache/iceberg/pull/15854
- [core] Validate manifest sequence numbers are equal during inheritance by @anoopj in https://github.com/apache/iceberg/pull/16091
- Data: Add TCK tests for metrics collection in BaseFormatModelTests by @Guosmilesmile in https://github.com/apache/iceberg/pull/15906
- ORC: addCloseable(rowBatchIterator) in OrcIterable by @deniskuzZ in https://github.com/apache/iceberg/pull/16086
- API: Implement startsWith bounds check in StrictMetricsEvaluator by @bharos in https://github.com/apache/iceberg/pull/15902
- Flink: Fix watermark value which should be min timestamp minus one by @shanzi in https://github.com/apache/iceberg/pull/15884
- Data: Add TCK tests for Metadata Columns in BaseFormatModelTests by @Guosmilesmile in https://github.com/apache/iceberg/pull/15675
- Build: Check runtime deps baseline for all engine versions in CI by @RussellSpitzer in https://github.com/apache/iceberg/pull/16103
- CI: Add runtime-deps.txt files for all runtimes and bundles by @kevinjqliu in https://github.com/apache/iceberg/pull/16081
- GCP Bundle: Remove JSR 305. by @rdblue in https://github.com/apache/iceberg/pull/16106
- Fix RCK view tests failing with AlreadyExistsException due to missing ns1/ns2 in cleanup list by @0xMALVEE in https://github.com/apache/iceberg/pull/16050
- Build: Bump zizmorcore/zizmor-action from 0.5.2 to 0.5.3 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16122
- Build: Bump astral-sh/setup-uv from 8.0.0 to 8.1.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16121
- Build: Bump org.xerial:sqlite-jdbc from 3.51.3.0 to 3.53.0.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16120
- Build: Bump github/codeql-action from 4.35.1 to 4.35.2 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16118
- Build: Bump bouncycastle from 1.82 to 1.84 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16117
- Build: Bump guava from 33.5.0-jre to 33.6.0-jre by @dependabot[bot] in https://github.com/apache/iceberg/pull/16116
- Build: Bump mkdocs-rss-plugin from 1.18.1 to 1.19.0 by @dependabot[bot] in https://github.com/apache/iceberg/pull/16113
- Flink 2.1: Remove flink-metrics-dropwizard from runtime by @rdblue in https://github.com/apache/iceberg/pull/16093
- AWS Bundle: Exclude logging dependencies by @rdblue in https://github.com/apache/iceberg/pull/16105
- Spark 4.1: Parameterize TestDeleteFrom with format-version by @nastra in https://github.com/apache/iceberg/pull/16098
- Core: Fix RejectedExecutionException in InMemoryLockManager when multiple catalogs share default lock manager by @manuzhang in https://github.com/apache/iceberg/pull/15862
- Catalogs: Add support for unique table locations via catalog property by @davseitsev in https://github.com/apache/iceberg/pull/12892
- Parquet: Add write.parquet.page-version table property by @hcrosse in https://github.com/apache/iceberg/pull/15700
- Flink: RewriteDataFile support dynamic filter by @Guosmilesmile in https://github.com/apache/iceberg/pull/15865
- Flink:Backport RewriteDataFile support dynamic filter by @Guosmilesmile in https://github.com/apache/iceberg/pull/16132
- Spark 4.1: Update LICENSE and NOTICE for 1.11. by @rdblue in https://github.com/apache/iceberg/pull/16104
- Arrow: Align vectorized reader handling of unsigned Parquet integers with BaseParquetReaders by @drexler-sky in https://github.com/apache/iceberg/pull/16006
- Core: Fix child AuthSession inheriting parent's expiresAtMillis by @bharos in https://github.com/apache/iceberg/pull/15999
- Spark, Hive: Fix snapshot procedure for tables with Variant columns by @nssalian in https://github.com/apache/iceberg/pull/15964
- Flink: Bundle flink-metrics-dropwizard in runtime jar by @mxm in https://github.com/apache/iceberg/pull/16126
- Flink 2.1: Update LICENSE for 1.11. by @rdblue in https://github.com/apache/iceberg/pull/16102
- Spark: Apply LICENSE and NOTICE updates to older Spark versions by @rdblue in https://github.com/apache/iceberg/pull/16142
- Build: Bump software.amazon.awssdk:bom from 2.42.33 to 2.42.36 by @ebyhr in https://github.com/apache/iceberg/pull/16151
- Core: validate buffered v2 deletes against concurrent format upgrade by @dramaticlly in https://github.com/apache/iceberg/pull/16146
- Build: Bump com.google.cloud:libraries-bom from 26.79.0 to 26.80.0 by @ebyhr in https://github.com/apache/iceberg/pull/16152
- Flink: Backport: Bundle flink-metrics-dropwizard in runtime jar (#16126) by @mxm in https://github.com/apache/iceberg/pull/16141
- Spark 3.5: Backport Async Micro Batch Planner to 3.5 by @RjLi13 in https://github.com/apache/