Merge pull request #260 from szehon-ho/1.3.1

Javadoc for 1.3.1
diff --git a/javadoc/allclasses-frame.html b/javadoc/allclasses-frame.html
index 2e1f8ac..2ae90ff 100644
--- a/javadoc/allclasses-frame.html
+++ b/javadoc/allclasses-frame.html
@@ -62,6 +62,7 @@
 <li><a href="org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.html" title="class in org.apache.iceberg.spark.data" target="classFrame">AvroWithSparkSchemaVisitor</a></li>
 <li><a href="org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws" target="classFrame">AwsClientFactories</a></li>
 <li><a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws" target="classFrame"><span class="interfaceName">AwsClientFactory</span></a></li>
+<li><a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws" target="classFrame">AwsClientProperties</a></li>
 <li><a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws" target="classFrame">AwsProperties</a></li>
 <li><a href="org/apache/iceberg/exceptions/BadRequestException.html" title="class in org.apache.iceberg.exceptions" target="classFrame">BadRequestException</a></li>
 <li><a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized" target="classFrame">BaseBatchReader</a></li>
@@ -69,7 +70,6 @@
 <li><a href="org/apache/iceberg/BaseCombinedScanTask.html" title="class in org.apache.iceberg" target="classFrame">BaseCombinedScanTask</a></li>
 <li><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions" target="classFrame">BaseDeleteOrphanFilesActionResult</a></li>
 <li><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions" target="classFrame">BaseDeleteReachableFilesActionResult</a></li>
-<li><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions" target="classFrame">BaseExpireSnapshotsActionResult</a></li>
 <li><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions" target="classFrame">BaseFileGroupRewriteResult</a></li>
 <li><a href="org/apache/iceberg/BaseFileScanTask.html" title="class in org.apache.iceberg" target="classFrame">BaseFileScanTask</a></li>
 <li><a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data" target="classFrame">BaseFileWriterFactory</a></li>
@@ -178,6 +178,7 @@
 <li><a href="org/apache/iceberg/metrics/CommitReportParser.html" title="class in org.apache.iceberg.metrics" target="classFrame">CommitReportParser</a></li>
 <li><a href="org/apache/iceberg/exceptions/CommitStateUnknownException.html" title="class in org.apache.iceberg.exceptions" target="classFrame">CommitStateUnknownException</a></li>
 <li><a href="org/apache/iceberg/types/Comparators.html" title="class in org.apache.iceberg.types" target="classFrame">Comparators</a></li>
+<li><a href="org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark" target="classFrame">ComputeUpdateIterator</a></li>
 <li><a href="org/apache/iceberg/hadoop/ConfigProperties.html" title="class in org.apache.iceberg.hadoop" target="classFrame">ConfigProperties</a></li>
 <li><a href="org/apache/iceberg/rest/responses/ConfigResponse.html" title="class in org.apache.iceberg.rest.responses" target="classFrame">ConfigResponse</a></li>
 <li><a href="org/apache/iceberg/rest/responses/ConfigResponse.Builder.html" title="class in org.apache.iceberg.rest.responses" target="classFrame">ConfigResponse.Builder</a></li>
@@ -227,6 +228,7 @@
 <li><a href="org/apache/iceberg/transforms/Days.html" title="class in org.apache.iceberg.transforms" target="classFrame">Days</a></li>
 <li><a href="org/apache/iceberg/spark/functions/DaysFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">DaysFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">DaysFunction.DateToDaysFunction</a></li>
+<li><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">DaysFunction.TimestampNtzToDaysFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">DaysFunction.TimestampToDaysFunction</a></li>
 <li><a href="org/apache/iceberg/util/DecimalUtil.html" title="class in org.apache.iceberg.util" target="classFrame">DecimalUtil</a></li>
 <li><a href="org/apache/iceberg/arrow/vectorized/parquet/DecimalVectorUtil.html" title="class in org.apache.iceberg.arrow.vectorized.parquet" target="classFrame">DecimalVectorUtil</a></li>
@@ -259,13 +261,9 @@
 <li><a href="org/apache/iceberg/dell/DellClientFactories.html" title="class in org.apache.iceberg.dell" target="classFrame">DellClientFactories</a></li>
 <li><a href="org/apache/iceberg/dell/DellClientFactory.html" title="interface in org.apache.iceberg.dell" target="classFrame"><span class="interfaceName">DellClientFactory</span></a></li>
 <li><a href="org/apache/iceberg/dell/DellProperties.html" title="class in org.apache.iceberg.dell" target="classFrame">DellProperties</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">DeltaBatchWrite</span></a></li>
 <li><a href="org/apache/iceberg/delta/DeltaLakeToIcebergMigrationActionsProvider.html" title="interface in org.apache.iceberg.delta" target="classFrame"><span class="interfaceName">DeltaLakeToIcebergMigrationActionsProvider</span></a></li>
 <li><a href="org/apache/iceberg/delta/DeltaLakeToIcebergMigrationActionsProvider.DefaultDeltaLakeToIcebergMigrationActions.html" title="class in org.apache.iceberg.delta" target="classFrame">DeltaLakeToIcebergMigrationActionsProvider.DefaultDeltaLakeToIcebergMigrationActions</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">DeltaWrite</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">DeltaWriteBuilder</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">DeltaWriter</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">DeltaWriterFactory</span></a></li>
+<li><a href="org/apache/iceberg/arrow/DictEncodedArrowConverter.html" title="class in org.apache.iceberg.arrow" target="classFrame">DictEncodedArrowConverter</a></li>
 <li><a href="org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg" target="classFrame">DistributionMode</a></li>
 <li><a href="org/apache/iceberg/DoubleFieldMetrics.html" title="class in org.apache.iceberg" target="classFrame">DoubleFieldMetrics</a></li>
 <li><a href="org/apache/iceberg/DoubleFieldMetrics.Builder.html" title="class in org.apache.iceberg" target="classFrame">DoubleFieldMetrics.Builder</a></li>
@@ -329,7 +327,6 @@
 <li><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="class in org.apache.iceberg.expressions" target="classFrame">ExpressionVisitors.BoundVisitor</a></li>
 <li><a href="org/apache/iceberg/expressions/ExpressionVisitors.CustomOrderExpressionVisitor.html" title="class in org.apache.iceberg.expressions" target="classFrame">ExpressionVisitors.CustomOrderExpressionVisitor</a></li>
 <li><a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="class in org.apache.iceberg.expressions" target="classFrame">ExpressionVisitors.ExpressionVisitor</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">ExtendedLogicalWriteInfo</span></a></li>
 <li><a href="org/apache/iceberg/spark/ExtendedParser.html" title="interface in org.apache.iceberg.spark" target="classFrame"><span class="interfaceName">ExtendedParser</span></a></li>
 <li><a href="org/apache/iceberg/spark/ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark" target="classFrame">ExtendedParser.RawOrderField</a></li>
 <li><a href="org/apache/iceberg/expressions/False.html" title="class in org.apache.iceberg.expressions" target="classFrame">False</a></li>
@@ -349,10 +346,10 @@
 <li><a href="org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg" target="classFrame">FileMetadata.Builder</a></li>
 <li><a href="org/apache/iceberg/puffin/FileMetadataParser.html" title="class in org.apache.iceberg.puffin" target="classFrame">FileMetadataParser</a></li>
 <li><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark" target="classFrame">FileRewriteCoordinator</a></li>
+<li><a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">FileRewriter</span></a></li>
 <li><a href="org/apache/iceberg/Files.html" title="class in org.apache.iceberg" target="classFrame">Files</a></li>
 <li><a href="org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg" target="classFrame"><span class="interfaceName">FileScanTask</span></a></li>
 <li><a href="org/apache/iceberg/flink/source/FileScanTaskReader.html" title="interface in org.apache.iceberg.flink.source" target="classFrame"><span class="interfaceName">FileScanTaskReader</span></a></li>
-<li><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark" target="classFrame">FileScanTaskSetManager</a></li>
 <li><a href="org/apache/iceberg/FilesTable.html" title="class in org.apache.iceberg" target="classFrame">FilesTable</a></li>
 <li><a href="org/apache/iceberg/FilesTable.FilesTableScan.html" title="class in org.apache.iceberg" target="classFrame">FilesTable.FilesTableScan</a></li>
 <li><a href="org/apache/iceberg/io/FileWriter.html" title="interface in org.apache.iceberg.io" target="classFrame"><span class="interfaceName">FileWriter</span></a></li>
@@ -386,6 +383,7 @@
 <li><a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html" title="class in org.apache.iceberg.flink.sink" target="classFrame">FlinkSink.Builder</a></li>
 <li><a href="org/apache/iceberg/flink/source/FlinkSource.html" title="class in org.apache.iceberg.flink.source" target="classFrame">FlinkSource</a></li>
 <li><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source" target="classFrame">FlinkSource.Builder</a></li>
+<li><a href="org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink" target="classFrame">FlinkSourceFilter</a></li>
 <li><a href="org/apache/iceberg/flink/source/FlinkSplitPlanner.html" title="class in org.apache.iceberg.flink.source" target="classFrame">FlinkSplitPlanner</a></li>
 <li><a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink" target="classFrame">FlinkTypeVisitor</a></li>
 <li><a href="org/apache/iceberg/flink/data/FlinkValueReaders.html" title="class in org.apache.iceberg.flink.data" target="classFrame">FlinkValueReaders</a></li>
@@ -455,9 +453,11 @@
 <li><a href="org/apache/iceberg/hive/HiveVersion.html" title="enum in org.apache.iceberg.hive" target="classFrame">HiveVersion</a></li>
 <li><a href="org/apache/iceberg/transforms/Hours.html" title="class in org.apache.iceberg.transforms" target="classFrame">Hours</a></li>
 <li><a href="org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">HoursFunction</a></li>
+<li><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">HoursFunction.TimestampNtzToHoursFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">HoursFunction.TimestampToHoursFunction</a></li>
 <li><a href="org/apache/iceberg/rest/HTTPClient.html" title="class in org.apache.iceberg.rest" target="classFrame">HTTPClient</a></li>
 <li><a href="org/apache/iceberg/rest/HTTPClient.Builder.html" title="class in org.apache.iceberg.rest" target="classFrame">HTTPClient.Builder</a></li>
+<li><a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws" target="classFrame">HttpClientProperties</a></li>
 <li><a href="org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized" target="classFrame">IcebergArrowColumnVector</a></li>
 <li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergBinaryObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector" target="classFrame">IcebergBinaryObjectInspector</a></li>
 <li><a href="org/apache/iceberg/IcebergBuild.html" title="class in org.apache.iceberg" target="classFrame">IcebergBuild</a></li>
@@ -571,6 +571,10 @@
 <li><a href="org/apache/iceberg/events/IncrementalScanEvent.html" title="class in org.apache.iceberg.events" target="classFrame">IncrementalScanEvent</a></li>
 <li><a href="org/apache/iceberg/types/IndexByName.html" title="class in org.apache.iceberg.types" target="classFrame">IndexByName</a></li>
 <li><a href="org/apache/iceberg/types/IndexParents.html" title="class in org.apache.iceberg.types" target="classFrame">IndexParents</a></li>
+<li><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory" target="classFrame">InMemoryCatalog</a></li>
+<li><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory" target="classFrame">InMemoryFileIO</a></li>
+<li><a href="org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory" target="classFrame">InMemoryInputFile</a></li>
+<li><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory" target="classFrame">InMemoryOutputFile</a></li>
 <li><a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io" target="classFrame"><span class="interfaceName">InputFile</span></a></li>
 <li><a href="org/apache/iceberg/encryption/InputFilesDecryptor.html" title="class in org.apache.iceberg.encryption" target="classFrame">InputFilesDecryptor</a></li>
 <li><a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr" target="classFrame">InputFormatConfig</a></li>
@@ -667,6 +671,7 @@
 <li><a href="org/apache/iceberg/MetricsModes.Truncate.html" title="class in org.apache.iceberg" target="classFrame">MetricsModes.Truncate</a></li>
 <li><a href="org/apache/iceberg/metrics/MetricsReport.html" title="interface in org.apache.iceberg.metrics" target="classFrame"><span class="interfaceName">MetricsReport</span></a></li>
 <li><a href="org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics" target="classFrame"><span class="interfaceName">MetricsReporter</span></a></li>
+<li><a href="org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics" target="classFrame">MetricsReporters</a></li>
 <li><a href="org/apache/iceberg/MetricsUtil.html" title="class in org.apache.iceberg" target="classFrame">MetricsUtil</a></li>
 <li><a href="org/apache/iceberg/MetricsUtil.ReadableColMetricsStruct.html" title="class in org.apache.iceberg" target="classFrame">MetricsUtil.ReadableColMetricsStruct</a></li>
 <li><a href="org/apache/iceberg/MetricsUtil.ReadableMetricColDefinition.html" title="class in org.apache.iceberg" target="classFrame">MetricsUtil.ReadableMetricColDefinition</a></li>
@@ -683,6 +688,7 @@
 <li><a href="org/apache/iceberg/transforms/Months.html" title="class in org.apache.iceberg.transforms" target="classFrame">Months</a></li>
 <li><a href="org/apache/iceberg/spark/functions/MonthsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">MonthsFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">MonthsFunction.DateToMonthsFunction</a></li>
+<li><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">MonthsFunction.TimestampNtzToMonthsFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">MonthsFunction.TimestampToMonthsFunction</a></li>
 <li><a href="org/apache/iceberg/expressions/NamedReference.html" title="class in org.apache.iceberg.expressions" target="classFrame">NamedReference</a></li>
 <li><a href="org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping" target="classFrame">NameMapping</a></li>
@@ -697,6 +703,7 @@
 <li><a href="org/apache/iceberg/nessie/NessieIcebergClient.html" title="class in org.apache.iceberg.nessie" target="classFrame">NessieIcebergClient</a></li>
 <li><a href="org/apache/iceberg/nessie/NessieTableOperations.html" title="class in org.apache.iceberg.nessie" target="classFrame">NessieTableOperations</a></li>
 <li><a href="org/apache/iceberg/nessie/NessieUtil.html" title="class in org.apache.iceberg.nessie" target="classFrame">NessieUtil</a></li>
+<li><a href="org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive" target="classFrame">NoLock</a></li>
 <li><a href="org/apache/iceberg/exceptions/NoSuchIcebergTableException.html" title="class in org.apache.iceberg.exceptions" target="classFrame">NoSuchIcebergTableException</a></li>
 <li><a href="org/apache/iceberg/exceptions/NoSuchNamespaceException.html" title="class in org.apache.iceberg.exceptions" target="classFrame">NoSuchNamespaceException</a></li>
 <li><a href="org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.html" title="class in org.apache.spark.sql.catalyst.analysis" target="classFrame">NoSuchProcedureException</a></li>
@@ -812,6 +819,7 @@
 <li><a href="org/apache/iceberg/encryption/PlaintextEncryptionManager.html" title="class in org.apache.iceberg.encryption" target="classFrame">PlaintextEncryptionManager</a></li>
 <li><a href="org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes" target="classFrame">PositionDelete</a></li>
 <li><a href="org/apache/iceberg/deletes/PositionDeleteIndex.html" title="interface in org.apache.iceberg.deletes" target="classFrame"><span class="interfaceName">PositionDeleteIndex</span></a></li>
+<li><a href="org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark" target="classFrame">PositionDeletesRewriteCoordinator</a></li>
 <li><a href="org/apache/iceberg/PositionDeletesScanTask.html" title="interface in org.apache.iceberg" target="classFrame"><span class="interfaceName">PositionDeletesScanTask</span></a></li>
 <li><a href="org/apache/iceberg/PositionDeletesTable.html" title="class in org.apache.iceberg" target="classFrame">PositionDeletesTable</a></li>
 <li><a href="org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html" title="class in org.apache.iceberg" target="classFrame">PositionDeletesTable.PositionDeletesBatchScan</a></li>
@@ -887,7 +895,9 @@
 <li><a href="org/apache/iceberg/rest/RESTSessionCatalog.html" title="class in org.apache.iceberg.rest" target="classFrame">RESTSessionCatalog</a></li>
 <li><a href="org/apache/iceberg/aws/RESTSigV4Signer.html" title="class in org.apache.iceberg.aws" target="classFrame">RESTSigV4Signer</a></li>
 <li><a href="org/apache/iceberg/rest/RESTUtil.html" title="class in org.apache.iceberg.rest" target="classFrame">RESTUtil</a></li>
+<li><a href="org/apache/iceberg/aws/util/RetryDetector.html" title="class in org.apache.iceberg.aws.util" target="classFrame">RetryDetector</a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteDataFiles</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteDataFiles.FileGroupFailureResult</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteDataFiles.FileGroupInfo</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteDataFiles.FileGroupRewriteResult</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteDataFiles.Result</span></a></li>
@@ -903,7 +913,13 @@
 <li><a href="org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteManifests.Result</span></a></li>
 <li><a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">RewriteManifestsSparkAction</a></li>
 <li><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewritePositionDeleteFiles</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewritePositionDeleteFiles.FileGroupInfo</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewritePositionDeleteFiles.FileGroupRewriteResult</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewritePositionDeleteFiles.Result</span></a></li>
+<li><a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures" target="classFrame">RewritePositionDeleteFilesProcedure</a></li>
+<li><a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">RewritePositionDeleteFilesSparkAction</a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions" target="classFrame">RewritePositionDeletesCommitManager</a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions" target="classFrame">RewritePositionDeletesGroup</a></li>
 <li><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewritePositionDeleteStrategy</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteStrategy</span></a></li>
 <li><a href="org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark" target="classFrame">RollbackStagedTable</a></li>
@@ -925,6 +941,9 @@
 <li><a href="org/apache/iceberg/exceptions/RuntimeIOException.html" title="class in org.apache.iceberg.exceptions" target="classFrame">RuntimeIOException</a></li>
 <li><a href="org/apache/iceberg/hive/RuntimeMetaException.html" title="class in org.apache.iceberg.hive" target="classFrame">RuntimeMetaException</a></li>
 <li><a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3" target="classFrame">S3FileIO</a></li>
+<li><a href="org/apache/iceberg/aws/S3FileIOAwsClientFactories.html" title="class in org.apache.iceberg.aws" target="classFrame">S3FileIOAwsClientFactories</a></li>
+<li><a href="org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3" target="classFrame"><span class="interfaceName">S3FileIOAwsClientFactory</span></a></li>
+<li><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3" target="classFrame">S3FileIOProperties</a></li>
 <li><a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3" target="classFrame">S3InputFile</a></li>
 <li><a href="org/apache/iceberg/aws/s3/signer/S3ObjectMapper.html" title="class in org.apache.iceberg.aws.s3.signer" target="classFrame">S3ObjectMapper</a></li>
 <li><a href="org/apache/iceberg/aws/s3/signer/S3ObjectMapper.S3SignRequestDeserializer.html" title="class in org.apache.iceberg.aws.s3.signer" target="classFrame">S3ObjectMapper.S3SignRequestDeserializer</a></li>
@@ -977,6 +996,9 @@
 <li><a href="org/apache/iceberg/flink/source/assigner/SimpleSplitAssigner.html" title="class in org.apache.iceberg.flink.source.assigner" target="classFrame">SimpleSplitAssigner</a></li>
 <li><a href="org/apache/iceberg/flink/source/assigner/SimpleSplitAssignerFactory.html" title="class in org.apache.iceberg.flink.source.assigner" target="classFrame">SimpleSplitAssignerFactory</a></li>
 <li><a href="org/apache/iceberg/SingleValueParser.html" title="class in org.apache.iceberg" target="classFrame">SingleValueParser</a></li>
+<li><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions" target="classFrame">SizeBasedDataRewriter</a></li>
+<li><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions" target="classFrame">SizeBasedFileRewriter</a></li>
+<li><a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions" target="classFrame">SizeBasedPositionDeletesRewriter</a></li>
 <li><a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg" target="classFrame"><span class="interfaceName">Snapshot</span></a></li>
 <li><a href="org/apache/iceberg/delta/SnapshotDeltaLakeTable.html" title="interface in org.apache.iceberg.delta" target="classFrame"><span class="interfaceName">SnapshotDeltaLakeTable</span></a></li>
 <li><a href="org/apache/iceberg/delta/SnapshotDeltaLakeTable.Result.html" title="interface in org.apache.iceberg.delta" target="classFrame"><span class="interfaceName">SnapshotDeltaLakeTable.Result</span></a></li>
@@ -1015,14 +1037,13 @@
 <li><a href="org/apache/iceberg/spark/SparkAggregates.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkAggregates</a></li>
 <li><a href="org/apache/iceberg/spark/data/SparkAvroReader.html" title="class in org.apache.iceberg.spark.data" target="classFrame">SparkAvroReader</a></li>
 <li><a href="org/apache/iceberg/spark/data/SparkAvroWriter.html" title="class in org.apache.iceberg.spark.data" target="classFrame">SparkAvroWriter</a></li>
-<li><a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">SparkBinPackStrategy</a></li>
 <li><a href="org/apache/iceberg/spark/SparkCachedTableCatalog.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkCachedTableCatalog</a></li>
 <li><a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkCatalog</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkChangelogTable.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkChangelogTable</a></li>
 <li><a href="org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkDataFile</a></li>
-<li><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkDistributionAndOrderingUtil</a></li>
 <li><a href="org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkExceptionUtil</a></li>
 <li><a href="org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkFilters</a></li>
+<li><a href="org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkFunctionCatalog</a></li>
 <li><a href="org/apache/iceberg/spark/functions/SparkFunctions.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">SparkFunctions</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkMetadataColumn.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkMetadataColumn</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkMicroBatchStream</a></li>
@@ -1033,6 +1054,9 @@
 <li><a href="org/apache/iceberg/spark/data/SparkParquetWriters.html" title="class in org.apache.iceberg.spark.data" target="classFrame">SparkParquetWriters</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkPartitionedFanoutWriter</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkPartitionedWriter</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkPositionDeletesRewrite</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.DeleteTaskCommit.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkPositionDeletesRewrite.DeleteTaskCommit</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkPositionDeletesRewriteBuilder</a></li>
 <li><a href="org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures" target="classFrame">SparkProcedures</a></li>
 <li><a href="org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures" target="classFrame"><span class="interfaceName">SparkProcedures.ProcedureBuilder</span></a></li>
 <li><a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkReadConf</a></li>
@@ -1040,7 +1064,6 @@
 <li><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkScanBuilder</a></li>
 <li><a href="org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkSchemaUtil</a></li>
 <li><a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkSessionCatalog</a></li>
-<li><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">SparkSortStrategy</a></li>
 <li><a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkSQLProperties</a></li>
 <li><a href="org/apache/iceberg/spark/SparkStructLike.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkStructLike</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkTable</a></li>
@@ -1054,7 +1077,8 @@
 <li><a href="org/apache/iceberg/spark/data/SparkValueWriters.html" title="class in org.apache.iceberg.spark.data" target="classFrame">SparkValueWriters</a></li>
 <li><a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkWriteConf</a></li>
 <li><a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkWriteOptions</a></li>
-<li><a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">SparkZOrderStrategy</a></li>
+<li><a href="org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkWriteRequirements</a></li>
+<li><a href="org/apache/iceberg/spark/SparkWriteUtil.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkWriteUtil</a></li>
 <li><a href="org/apache/iceberg/flink/source/assigner/SplitAssigner.html" title="interface in org.apache.iceberg.flink.source.assigner" target="classFrame"><span class="interfaceName">SplitAssigner</span></a></li>
 <li><a href="org/apache/iceberg/flink/source/assigner/SplitAssignerFactory.html" title="interface in org.apache.iceberg.flink.source.assigner" target="classFrame"><span class="interfaceName">SplitAssignerFactory</span></a></li>
 <li><a href="org/apache/iceberg/flink/source/assigner/SplitAssignerType.html" title="enum in org.apache.iceberg.flink.source.assigner" target="classFrame">SplitAssignerType</a></li>
@@ -1080,7 +1104,6 @@
 <li><a href="org/apache/iceberg/util/StructProjection.html" title="class in org.apache.iceberg.util" target="classFrame">StructProjection</a></li>
 <li><a href="org/apache/iceberg/flink/data/StructRowData.html" title="class in org.apache.iceberg.flink.data" target="classFrame">StructRowData</a></li>
 <li><a href="org/apache/iceberg/io/SupportsBulkOperations.html" title="interface in org.apache.iceberg.io" target="classFrame"><span class="interfaceName">SupportsBulkOperations</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">SupportsDelta</span></a></li>
 <li><a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog" target="classFrame"><span class="interfaceName">SupportsNamespaces</span></a></li>
 <li><a href="org/apache/iceberg/io/SupportsPrefixOperations.html" title="interface in org.apache.iceberg.io" target="classFrame"><span class="interfaceName">SupportsPrefixOperations</span></a></li>
 <li><a href="org/apache/iceberg/avro/SupportsRowPosition.html" title="interface in org.apache.iceberg.avro" target="classFrame"><span class="interfaceName">SupportsRowPosition</span></a></li>
@@ -1243,6 +1266,7 @@
 <li><a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io" target="classFrame">WriteResult.Builder</a></li>
 <li><a href="org/apache/iceberg/spark/functions/YearsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">YearsFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">YearsFunction.DateToYearsFunction</a></li>
+<li><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">YearsFunction.TimestampNtzToYearsFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">YearsFunction.TimestampToYearsFunction</a></li>
 <li><a href="org/apache/iceberg/expressions/Zorder.html" title="class in org.apache.iceberg.expressions" target="classFrame">Zorder</a></li>
 <li><a href="org/apache/iceberg/util/ZOrderByteUtils.html" title="class in org.apache.iceberg.util" target="classFrame">ZOrderByteUtils</a></li>
diff --git a/javadoc/allclasses-noframe.html b/javadoc/allclasses-noframe.html
index 3f986a4f..829ccda 100644
--- a/javadoc/allclasses-noframe.html
+++ b/javadoc/allclasses-noframe.html
@@ -62,6 +62,7 @@
 <li><a href="org/apache/iceberg/spark/data/AvroWithSparkSchemaVisitor.html" title="class in org.apache.iceberg.spark.data">AvroWithSparkSchemaVisitor</a></li>
 <li><a href="org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws">AwsClientFactories</a></li>
 <li><a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><span class="interfaceName">AwsClientFactory</span></a></li>
+<li><a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></li>
 <li><a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></li>
 <li><a href="org/apache/iceberg/exceptions/BadRequestException.html" title="class in org.apache.iceberg.exceptions">BadRequestException</a></li>
 <li><a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized">BaseBatchReader</a></li>
@@ -69,7 +70,6 @@
 <li><a href="org/apache/iceberg/BaseCombinedScanTask.html" title="class in org.apache.iceberg">BaseCombinedScanTask</a></li>
 <li><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteOrphanFilesActionResult</a></li>
 <li><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></li>
-<li><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></li>
 <li><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></li>
 <li><a href="org/apache/iceberg/BaseFileScanTask.html" title="class in org.apache.iceberg">BaseFileScanTask</a></li>
 <li><a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></li>
@@ -178,6 +178,7 @@
 <li><a href="org/apache/iceberg/metrics/CommitReportParser.html" title="class in org.apache.iceberg.metrics">CommitReportParser</a></li>
 <li><a href="org/apache/iceberg/exceptions/CommitStateUnknownException.html" title="class in org.apache.iceberg.exceptions">CommitStateUnknownException</a></li>
 <li><a href="org/apache/iceberg/types/Comparators.html" title="class in org.apache.iceberg.types">Comparators</a></li>
+<li><a href="org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark">ComputeUpdateIterator</a></li>
 <li><a href="org/apache/iceberg/hadoop/ConfigProperties.html" title="class in org.apache.iceberg.hadoop">ConfigProperties</a></li>
 <li><a href="org/apache/iceberg/rest/responses/ConfigResponse.html" title="class in org.apache.iceberg.rest.responses">ConfigResponse</a></li>
 <li><a href="org/apache/iceberg/rest/responses/ConfigResponse.Builder.html" title="class in org.apache.iceberg.rest.responses">ConfigResponse.Builder</a></li>
@@ -227,6 +228,7 @@
 <li><a href="org/apache/iceberg/transforms/Days.html" title="class in org.apache.iceberg.transforms">Days</a></li>
 <li><a href="org/apache/iceberg/spark/functions/DaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.DateToDaysFunction</a></li>
+<li><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampNtzToDaysFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampToDaysFunction</a></li>
 <li><a href="org/apache/iceberg/util/DecimalUtil.html" title="class in org.apache.iceberg.util">DecimalUtil</a></li>
 <li><a href="org/apache/iceberg/arrow/vectorized/parquet/DecimalVectorUtil.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">DecimalVectorUtil</a></li>
@@ -259,13 +261,9 @@
 <li><a href="org/apache/iceberg/dell/DellClientFactories.html" title="class in org.apache.iceberg.dell">DellClientFactories</a></li>
 <li><a href="org/apache/iceberg/dell/DellClientFactory.html" title="interface in org.apache.iceberg.dell"><span class="interfaceName">DellClientFactory</span></a></li>
 <li><a href="org/apache/iceberg/dell/DellProperties.html" title="class in org.apache.iceberg.dell">DellProperties</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">DeltaBatchWrite</span></a></li>
 <li><a href="org/apache/iceberg/delta/DeltaLakeToIcebergMigrationActionsProvider.html" title="interface in org.apache.iceberg.delta"><span class="interfaceName">DeltaLakeToIcebergMigrationActionsProvider</span></a></li>
 <li><a href="org/apache/iceberg/delta/DeltaLakeToIcebergMigrationActionsProvider.DefaultDeltaLakeToIcebergMigrationActions.html" title="class in org.apache.iceberg.delta">DeltaLakeToIcebergMigrationActionsProvider.DefaultDeltaLakeToIcebergMigrationActions</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">DeltaWrite</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">DeltaWriteBuilder</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">DeltaWriter</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">DeltaWriterFactory</span></a></li>
+<li><a href="org/apache/iceberg/arrow/DictEncodedArrowConverter.html" title="class in org.apache.iceberg.arrow">DictEncodedArrowConverter</a></li>
 <li><a href="org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></li>
 <li><a href="org/apache/iceberg/DoubleFieldMetrics.html" title="class in org.apache.iceberg">DoubleFieldMetrics</a></li>
 <li><a href="org/apache/iceberg/DoubleFieldMetrics.Builder.html" title="class in org.apache.iceberg">DoubleFieldMetrics.Builder</a></li>
@@ -329,7 +327,6 @@
 <li><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundVisitor</a></li>
 <li><a href="org/apache/iceberg/expressions/ExpressionVisitors.CustomOrderExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.CustomOrderExpressionVisitor</a></li>
 <li><a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.ExpressionVisitor</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">ExtendedLogicalWriteInfo</span></a></li>
 <li><a href="org/apache/iceberg/spark/ExtendedParser.html" title="interface in org.apache.iceberg.spark"><span class="interfaceName">ExtendedParser</span></a></li>
 <li><a href="org/apache/iceberg/spark/ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark">ExtendedParser.RawOrderField</a></li>
 <li><a href="org/apache/iceberg/expressions/False.html" title="class in org.apache.iceberg.expressions">False</a></li>
@@ -349,10 +346,10 @@
 <li><a href="org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a></li>
 <li><a href="org/apache/iceberg/puffin/FileMetadataParser.html" title="class in org.apache.iceberg.puffin">FileMetadataParser</a></li>
 <li><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></li>
+<li><a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">FileRewriter</span></a></li>
 <li><a href="org/apache/iceberg/Files.html" title="class in org.apache.iceberg">Files</a></li>
 <li><a href="org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg"><span class="interfaceName">FileScanTask</span></a></li>
 <li><a href="org/apache/iceberg/flink/source/FileScanTaskReader.html" title="interface in org.apache.iceberg.flink.source"><span class="interfaceName">FileScanTaskReader</span></a></li>
-<li><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></li>
 <li><a href="org/apache/iceberg/FilesTable.html" title="class in org.apache.iceberg">FilesTable</a></li>
 <li><a href="org/apache/iceberg/FilesTable.FilesTableScan.html" title="class in org.apache.iceberg">FilesTable.FilesTableScan</a></li>
 <li><a href="org/apache/iceberg/io/FileWriter.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">FileWriter</span></a></li>
@@ -386,6 +383,7 @@
 <li><a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html" title="class in org.apache.iceberg.flink.sink">FlinkSink.Builder</a></li>
 <li><a href="org/apache/iceberg/flink/source/FlinkSource.html" title="class in org.apache.iceberg.flink.source">FlinkSource</a></li>
 <li><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source">FlinkSource.Builder</a></li>
+<li><a href="org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink">FlinkSourceFilter</a></li>
 <li><a href="org/apache/iceberg/flink/source/FlinkSplitPlanner.html" title="class in org.apache.iceberg.flink.source">FlinkSplitPlanner</a></li>
 <li><a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink">FlinkTypeVisitor</a></li>
 <li><a href="org/apache/iceberg/flink/data/FlinkValueReaders.html" title="class in org.apache.iceberg.flink.data">FlinkValueReaders</a></li>
@@ -455,9 +453,11 @@
 <li><a href="org/apache/iceberg/hive/HiveVersion.html" title="enum in org.apache.iceberg.hive">HiveVersion</a></li>
 <li><a href="org/apache/iceberg/transforms/Hours.html" title="class in org.apache.iceberg.transforms">Hours</a></li>
 <li><a href="org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction</a></li>
+<li><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampNtzToHoursFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampToHoursFunction</a></li>
 <li><a href="org/apache/iceberg/rest/HTTPClient.html" title="class in org.apache.iceberg.rest">HTTPClient</a></li>
 <li><a href="org/apache/iceberg/rest/HTTPClient.Builder.html" title="class in org.apache.iceberg.rest">HTTPClient.Builder</a></li>
+<li><a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></li>
 <li><a href="org/apache/iceberg/spark/data/vectorized/IcebergArrowColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">IcebergArrowColumnVector</a></li>
 <li><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergBinaryObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergBinaryObjectInspector</a></li>
 <li><a href="org/apache/iceberg/IcebergBuild.html" title="class in org.apache.iceberg">IcebergBuild</a></li>
@@ -571,6 +571,10 @@
 <li><a href="org/apache/iceberg/events/IncrementalScanEvent.html" title="class in org.apache.iceberg.events">IncrementalScanEvent</a></li>
 <li><a href="org/apache/iceberg/types/IndexByName.html" title="class in org.apache.iceberg.types">IndexByName</a></li>
 <li><a href="org/apache/iceberg/types/IndexParents.html" title="class in org.apache.iceberg.types">IndexParents</a></li>
+<li><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></li>
+<li><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">InMemoryFileIO</a></li>
+<li><a href="org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryInputFile</a></li>
+<li><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryOutputFile</a></li>
 <li><a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">InputFile</span></a></li>
 <li><a href="org/apache/iceberg/encryption/InputFilesDecryptor.html" title="class in org.apache.iceberg.encryption">InputFilesDecryptor</a></li>
 <li><a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></li>
@@ -667,6 +671,7 @@
 <li><a href="org/apache/iceberg/MetricsModes.Truncate.html" title="class in org.apache.iceberg">MetricsModes.Truncate</a></li>
 <li><a href="org/apache/iceberg/metrics/MetricsReport.html" title="interface in org.apache.iceberg.metrics"><span class="interfaceName">MetricsReport</span></a></li>
 <li><a href="org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics"><span class="interfaceName">MetricsReporter</span></a></li>
+<li><a href="org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics">MetricsReporters</a></li>
 <li><a href="org/apache/iceberg/MetricsUtil.html" title="class in org.apache.iceberg">MetricsUtil</a></li>
 <li><a href="org/apache/iceberg/MetricsUtil.ReadableColMetricsStruct.html" title="class in org.apache.iceberg">MetricsUtil.ReadableColMetricsStruct</a></li>
 <li><a href="org/apache/iceberg/MetricsUtil.ReadableMetricColDefinition.html" title="class in org.apache.iceberg">MetricsUtil.ReadableMetricColDefinition</a></li>
@@ -683,6 +688,7 @@
 <li><a href="org/apache/iceberg/transforms/Months.html" title="class in org.apache.iceberg.transforms">Months</a></li>
 <li><a href="org/apache/iceberg/spark/functions/MonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.DateToMonthsFunction</a></li>
+<li><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampNtzToMonthsFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampToMonthsFunction</a></li>
 <li><a href="org/apache/iceberg/expressions/NamedReference.html" title="class in org.apache.iceberg.expressions">NamedReference</a></li>
 <li><a href="org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping">NameMapping</a></li>
@@ -697,6 +703,7 @@
 <li><a href="org/apache/iceberg/nessie/NessieIcebergClient.html" title="class in org.apache.iceberg.nessie">NessieIcebergClient</a></li>
 <li><a href="org/apache/iceberg/nessie/NessieTableOperations.html" title="class in org.apache.iceberg.nessie">NessieTableOperations</a></li>
 <li><a href="org/apache/iceberg/nessie/NessieUtil.html" title="class in org.apache.iceberg.nessie">NessieUtil</a></li>
+<li><a href="org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive">NoLock</a></li>
 <li><a href="org/apache/iceberg/exceptions/NoSuchIcebergTableException.html" title="class in org.apache.iceberg.exceptions">NoSuchIcebergTableException</a></li>
 <li><a href="org/apache/iceberg/exceptions/NoSuchNamespaceException.html" title="class in org.apache.iceberg.exceptions">NoSuchNamespaceException</a></li>
 <li><a href="org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.html" title="class in org.apache.spark.sql.catalyst.analysis">NoSuchProcedureException</a></li>
@@ -812,6 +819,7 @@
 <li><a href="org/apache/iceberg/encryption/PlaintextEncryptionManager.html" title="class in org.apache.iceberg.encryption">PlaintextEncryptionManager</a></li>
 <li><a href="org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes">PositionDelete</a></li>
 <li><a href="org/apache/iceberg/deletes/PositionDeleteIndex.html" title="interface in org.apache.iceberg.deletes"><span class="interfaceName">PositionDeleteIndex</span></a></li>
+<li><a href="org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark">PositionDeletesRewriteCoordinator</a></li>
 <li><a href="org/apache/iceberg/PositionDeletesScanTask.html" title="interface in org.apache.iceberg"><span class="interfaceName">PositionDeletesScanTask</span></a></li>
 <li><a href="org/apache/iceberg/PositionDeletesTable.html" title="class in org.apache.iceberg">PositionDeletesTable</a></li>
 <li><a href="org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html" title="class in org.apache.iceberg">PositionDeletesTable.PositionDeletesBatchScan</a></li>
@@ -887,7 +895,9 @@
 <li><a href="org/apache/iceberg/rest/RESTSessionCatalog.html" title="class in org.apache.iceberg.rest">RESTSessionCatalog</a></li>
 <li><a href="org/apache/iceberg/aws/RESTSigV4Signer.html" title="class in org.apache.iceberg.aws">RESTSigV4Signer</a></li>
 <li><a href="org/apache/iceberg/rest/RESTUtil.html" title="class in org.apache.iceberg.rest">RESTUtil</a></li>
+<li><a href="org/apache/iceberg/aws/util/RetryDetector.html" title="class in org.apache.iceberg.aws.util">RetryDetector</a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles.FileGroupFailureResult</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles.FileGroupInfo</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles.FileGroupRewriteResult</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteDataFiles.Result</span></a></li>
@@ -903,7 +913,13 @@
 <li><a href="org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteManifests.Result</span></a></li>
 <li><a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteManifestsSparkAction</a></li>
 <li><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewritePositionDeleteFiles</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewritePositionDeleteFiles.FileGroupInfo</span></a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewritePositionDeleteFiles.FileGroupRewriteResult</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewritePositionDeleteFiles.Result</span></a></li>
+<li><a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RewritePositionDeleteFilesProcedure</a></li>
+<li><a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesCommitManager</a></li>
+<li><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></li>
 <li><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewritePositionDeleteStrategy</span></a></li>
 <li><a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="interfaceName">RewriteStrategy</span></a></li>
 <li><a href="org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark">RollbackStagedTable</a></li>
@@ -925,6 +941,9 @@
 <li><a href="org/apache/iceberg/exceptions/RuntimeIOException.html" title="class in org.apache.iceberg.exceptions">RuntimeIOException</a></li>
 <li><a href="org/apache/iceberg/hive/RuntimeMetaException.html" title="class in org.apache.iceberg.hive">RuntimeMetaException</a></li>
 <li><a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></li>
+<li><a href="org/apache/iceberg/aws/S3FileIOAwsClientFactories.html" title="class in org.apache.iceberg.aws">S3FileIOAwsClientFactories</a></li>
+<li><a href="org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3"><span class="interfaceName">S3FileIOAwsClientFactory</span></a></li>
+<li><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></li>
 <li><a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></li>
 <li><a href="org/apache/iceberg/aws/s3/signer/S3ObjectMapper.html" title="class in org.apache.iceberg.aws.s3.signer">S3ObjectMapper</a></li>
 <li><a href="org/apache/iceberg/aws/s3/signer/S3ObjectMapper.S3SignRequestDeserializer.html" title="class in org.apache.iceberg.aws.s3.signer">S3ObjectMapper.S3SignRequestDeserializer</a></li>
@@ -977,6 +996,9 @@
 <li><a href="org/apache/iceberg/flink/source/assigner/SimpleSplitAssigner.html" title="class in org.apache.iceberg.flink.source.assigner">SimpleSplitAssigner</a></li>
 <li><a href="org/apache/iceberg/flink/source/assigner/SimpleSplitAssignerFactory.html" title="class in org.apache.iceberg.flink.source.assigner">SimpleSplitAssignerFactory</a></li>
 <li><a href="org/apache/iceberg/SingleValueParser.html" title="class in org.apache.iceberg">SingleValueParser</a></li>
+<li><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></li>
+<li><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></li>
+<li><a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedPositionDeletesRewriter</a></li>
 <li><a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><span class="interfaceName">Snapshot</span></a></li>
 <li><a href="org/apache/iceberg/delta/SnapshotDeltaLakeTable.html" title="interface in org.apache.iceberg.delta"><span class="interfaceName">SnapshotDeltaLakeTable</span></a></li>
 <li><a href="org/apache/iceberg/delta/SnapshotDeltaLakeTable.Result.html" title="interface in org.apache.iceberg.delta"><span class="interfaceName">SnapshotDeltaLakeTable.Result</span></a></li>
@@ -1015,14 +1037,13 @@
 <li><a href="org/apache/iceberg/spark/SparkAggregates.html" title="class in org.apache.iceberg.spark">SparkAggregates</a></li>
 <li><a href="org/apache/iceberg/spark/data/SparkAvroReader.html" title="class in org.apache.iceberg.spark.data">SparkAvroReader</a></li>
 <li><a href="org/apache/iceberg/spark/data/SparkAvroWriter.html" title="class in org.apache.iceberg.spark.data">SparkAvroWriter</a></li>
-<li><a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkBinPackStrategy</a></li>
 <li><a href="org/apache/iceberg/spark/SparkCachedTableCatalog.html" title="class in org.apache.iceberg.spark">SparkCachedTableCatalog</a></li>
 <li><a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkChangelogTable.html" title="class in org.apache.iceberg.spark.source">SparkChangelogTable</a></li>
 <li><a href="org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></li>
-<li><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></li>
 <li><a href="org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark">SparkExceptionUtil</a></li>
 <li><a href="org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark">SparkFilters</a></li>
+<li><a href="org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark">SparkFunctionCatalog</a></li>
 <li><a href="org/apache/iceberg/spark/functions/SparkFunctions.html" title="class in org.apache.iceberg.spark.functions">SparkFunctions</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkMetadataColumn.html" title="class in org.apache.iceberg.spark.source">SparkMetadataColumn</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source">SparkMicroBatchStream</a></li>
@@ -1033,6 +1054,9 @@
 <li><a href="org/apache/iceberg/spark/data/SparkParquetWriters.html" title="class in org.apache.iceberg.spark.data">SparkParquetWriters</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedFanoutWriter</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedWriter</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.html" title="class in org.apache.iceberg.spark.source">SparkPositionDeletesRewrite</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.DeleteTaskCommit.html" title="class in org.apache.iceberg.spark.source">SparkPositionDeletesRewrite.DeleteTaskCommit</a></li>
+<li><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.html" title="class in org.apache.iceberg.spark.source">SparkPositionDeletesRewriteBuilder</a></li>
 <li><a href="org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures">SparkProcedures</a></li>
 <li><a href="org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures"><span class="interfaceName">SparkProcedures.ProcedureBuilder</span></a></li>
 <li><a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></li>
@@ -1040,7 +1064,6 @@
 <li><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></li>
 <li><a href="org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark">SparkSchemaUtil</a></li>
 <li><a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></li>
-<li><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></li>
 <li><a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></li>
 <li><a href="org/apache/iceberg/spark/SparkStructLike.html" title="class in org.apache.iceberg.spark">SparkStructLike</a></li>
 <li><a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></li>
@@ -1054,7 +1077,8 @@
 <li><a href="org/apache/iceberg/spark/data/SparkValueWriters.html" title="class in org.apache.iceberg.spark.data">SparkValueWriters</a></li>
 <li><a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></li>
 <li><a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></li>
-<li><a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></li>
+<li><a href="org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a></li>
+<li><a href="org/apache/iceberg/spark/SparkWriteUtil.html" title="class in org.apache.iceberg.spark">SparkWriteUtil</a></li>
 <li><a href="org/apache/iceberg/flink/source/assigner/SplitAssigner.html" title="interface in org.apache.iceberg.flink.source.assigner"><span class="interfaceName">SplitAssigner</span></a></li>
 <li><a href="org/apache/iceberg/flink/source/assigner/SplitAssignerFactory.html" title="interface in org.apache.iceberg.flink.source.assigner"><span class="interfaceName">SplitAssignerFactory</span></a></li>
 <li><a href="org/apache/iceberg/flink/source/assigner/SplitAssignerType.html" title="enum in org.apache.iceberg.flink.source.assigner">SplitAssignerType</a></li>
@@ -1080,7 +1104,6 @@
 <li><a href="org/apache/iceberg/util/StructProjection.html" title="class in org.apache.iceberg.util">StructProjection</a></li>
 <li><a href="org/apache/iceberg/flink/data/StructRowData.html" title="class in org.apache.iceberg.flink.data">StructRowData</a></li>
 <li><a href="org/apache/iceberg/io/SupportsBulkOperations.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">SupportsBulkOperations</span></a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="interfaceName">SupportsDelta</span></a></li>
 <li><a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog"><span class="interfaceName">SupportsNamespaces</span></a></li>
 <li><a href="org/apache/iceberg/io/SupportsPrefixOperations.html" title="interface in org.apache.iceberg.io"><span class="interfaceName">SupportsPrefixOperations</span></a></li>
 <li><a href="org/apache/iceberg/avro/SupportsRowPosition.html" title="interface in org.apache.iceberg.avro"><span class="interfaceName">SupportsRowPosition</span></a></li>
@@ -1243,6 +1266,7 @@
 <li><a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io">WriteResult.Builder</a></li>
 <li><a href="org/apache/iceberg/spark/functions/YearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.DateToYearsFunction</a></li>
+<li><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampNtzToYearsFunction</a></li>
 <li><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampToYearsFunction</a></li>
 <li><a href="org/apache/iceberg/expressions/Zorder.html" title="class in org.apache.iceberg.expressions">Zorder</a></li>
 <li><a href="org/apache/iceberg/util/ZOrderByteUtils.html" title="class in org.apache.iceberg.util">ZOrderByteUtils</a></li>
diff --git a/javadoc/constant-values.html b/javadoc/constant-values.html
index 86abc0a..952019c 100644
--- a/javadoc/constant-values.html
+++ b/javadoc/constant-values.html
@@ -136,20 +136,6 @@
 <td class="colLast"><code>"app-id"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.AUTH_DEFAULT_REFRESH_ENABLED">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/iceberg/CatalogProperties.html#AUTH_DEFAULT_REFRESH_ENABLED">AUTH_DEFAULT_REFRESH_ENABLED</a></code></td>
-<td class="colLast"><code>"auth.default-refresh-enabled"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
-<td><code><a href="org/apache/iceberg/CatalogProperties.html#AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT">AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT</a></code></td>
-<td class="colLast"><code>false</code></td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.AUTH_SESSION_TIMEOUT_MS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -157,6 +143,20 @@
 <td class="colLast"><code>"auth.session-timeout-ms"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.CACHE_CASE_SENSITIVE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/CatalogProperties.html#CACHE_CASE_SENSITIVE">CACHE_CASE_SENSITIVE</a></code></td>
+<td class="colLast"><code>"cache.case-sensitive"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.CACHE_CASE_SENSITIVE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/CatalogProperties.html#CACHE_CASE_SENSITIVE_DEFAULT">CACHE_CASE_SENSITIVE_DEFAULT</a></code></td>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.CACHE_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -199,167 +199,174 @@
 <td class="colLast"><code>"client.pool.cache.eviction-interval-ms"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.CLIENT_POOL_CACHE_KEYS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_CACHE_KEYS">CLIENT_POOL_CACHE_KEYS</a></code></td>
+<td class="colLast"><code>"client-pool-cache-keys"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.CLIENT_POOL_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_SIZE">CLIENT_POOL_SIZE</a></code></td>
 <td class="colLast"><code>"clients"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.CLIENT_POOL_SIZE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_SIZE_DEFAULT">CLIENT_POOL_SIZE_DEFAULT</a></code></td>
 <td class="colLast"><code>2</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.FILE_IO_IMPL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#FILE_IO_IMPL">FILE_IO_IMPL</a></code></td>
 <td class="colLast"><code>"io-impl"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.IO_MANIFEST_CACHE_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_ENABLED">IO_MANIFEST_CACHE_ENABLED</a></code></td>
 <td class="colLast"><code>"io.manifest.cache-enabled"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.IO_MANIFEST_CACHE_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_ENABLED_DEFAULT">IO_MANIFEST_CACHE_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS">IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS</a></code></td>
 <td class="colLast"><code>"io.manifest.cache.expiration-interval-ms"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH">IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH</a></code></td>
 <td class="colLast"><code>"io.manifest.cache.max-content-length"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH_DEFAULT">IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH_DEFAULT</a></code></td>
 <td class="colLast"><code>8388608L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.IO_MANIFEST_CACHE_MAX_TOTAL_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_MAX_TOTAL_BYTES">IO_MANIFEST_CACHE_MAX_TOTAL_BYTES</a></code></td>
 <td class="colLast"><code>"io.manifest.cache.max-total-bytes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.IO_MANIFEST_CACHE_MAX_TOTAL_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_MAX_TOTAL_BYTES_DEFAULT">IO_MANIFEST_CACHE_MAX_TOTAL_BYTES_DEFAULT</a></code></td>
 <td class="colLast"><code>104857600L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.LOCK_ACQUIRE_INTERVAL_MS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_ACQUIRE_INTERVAL_MS">LOCK_ACQUIRE_INTERVAL_MS</a></code></td>
 <td class="colLast"><code>"lock.acquire-interval-ms"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.LOCK_ACQUIRE_TIMEOUT_MS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_ACQUIRE_TIMEOUT_MS">LOCK_ACQUIRE_TIMEOUT_MS</a></code></td>
 <td class="colLast"><code>"lock.acquire-timeout-ms"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.LOCK_HEARTBEAT_INTERVAL_MS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_INTERVAL_MS">LOCK_HEARTBEAT_INTERVAL_MS</a></code></td>
 <td class="colLast"><code>"lock.heartbeat-interval-ms"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.LOCK_HEARTBEAT_THREADS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_THREADS">LOCK_HEARTBEAT_THREADS</a></code></td>
 <td class="colLast"><code>"lock.heartbeat-threads"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.LOCK_HEARTBEAT_THREADS_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_THREADS_DEFAULT">LOCK_HEARTBEAT_THREADS_DEFAULT</a></code></td>
 <td class="colLast"><code>4</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.LOCK_HEARTBEAT_TIMEOUT_MS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_TIMEOUT_MS">LOCK_HEARTBEAT_TIMEOUT_MS</a></code></td>
 <td class="colLast"><code>"lock.heartbeat-timeout-ms"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.LOCK_IMPL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_IMPL">LOCK_IMPL</a></code></td>
 <td class="colLast"><code>"lock-impl"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.LOCK_TABLE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#LOCK_TABLE">LOCK_TABLE</a></code></td>
 <td class="colLast"><code>"lock.table"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.METRICS_REPORTER_IMPL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#METRICS_REPORTER_IMPL">METRICS_REPORTER_IMPL</a></code></td>
 <td class="colLast"><code>"metrics-reporter-impl"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.TABLE_DEFAULT_PREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#TABLE_DEFAULT_PREFIX">TABLE_DEFAULT_PREFIX</a></code></td>
 <td class="colLast"><code>"table-default."</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.TABLE_OVERRIDE_PREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#TABLE_OVERRIDE_PREFIX">TABLE_OVERRIDE_PREFIX</a></code></td>
 <td class="colLast"><code>"table-override."</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.URI">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#URI">URI</a></code></td>
 <td class="colLast"><code>"uri"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.USER">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/CatalogProperties.html#USER">USER</a></code></td>
 <td class="colLast"><code>"user"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.CatalogProperties.WAREHOUSE_LOCATION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -632,6 +639,39 @@
 </li>
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.iceberg.<a href="org/apache/iceberg/PositionDeletesTable.html" title="class in org.apache.iceberg">PositionDeletesTable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.PositionDeletesTable.DELETE_FILE_PATH">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/PositionDeletesTable.html#DELETE_FILE_PATH">DELETE_FILE_PATH</a></code></td>
+<td class="colLast"><code>"delete_file_path"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.PositionDeletesTable.PARTITION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/PositionDeletesTable.html#PARTITION">PARTITION</a></code></td>
+<td class="colLast"><code>"partition"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.PositionDeletesTable.SPEC_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/PositionDeletesTable.html#SPEC_ID">SPEC_ID</a></code></td>
+<td class="colLast"><code>"spec_id"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.iceberg.<a href="org/apache/iceberg/SnapshotRef.html" title="class in org.apache.iceberg">SnapshotRef</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -1327,762 +1367,769 @@
 <td class="colLast"><code>true</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.iceberg.TableProperties.HMS_TABLE_OWNER">
+<td class="colFirst"><a name="org.apache.iceberg.TableProperties.HIVE_LOCK_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/iceberg/TableProperties.html#HMS_TABLE_OWNER">HMS_TABLE_OWNER</a></code></td>
-<td class="colLast"><code>"hive.metastore.table.owner"</code></td>
+<td><code><a href="org/apache/iceberg/TableProperties.html#HIVE_LOCK_ENABLED">HIVE_LOCK_ENABLED</a></code></td>
+<td class="colLast"><code>"engine.hive.lock-enabled"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.TableProperties.HIVE_LOCK_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/TableProperties.html#HIVE_LOCK_ENABLED_DEFAULT">HIVE_LOCK_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MANIFEST_LISTS_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_LISTS_ENABLED">MANIFEST_LISTS_ENABLED</a></code></td>
 <td class="colLast"><code>"write.manifest-lists.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MANIFEST_LISTS_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_LISTS_ENABLED_DEFAULT">MANIFEST_LISTS_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MANIFEST_MERGE_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_MERGE_ENABLED">MANIFEST_MERGE_ENABLED</a></code></td>
 <td class="colLast"><code>"commit.manifest-merge.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MANIFEST_MERGE_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_MERGE_ENABLED_DEFAULT">MANIFEST_MERGE_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MANIFEST_MIN_MERGE_COUNT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_MIN_MERGE_COUNT">MANIFEST_MIN_MERGE_COUNT</a></code></td>
 <td class="colLast"><code>"commit.manifest.min-count-to-merge"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MANIFEST_MIN_MERGE_COUNT_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_MIN_MERGE_COUNT_DEFAULT">MANIFEST_MIN_MERGE_COUNT_DEFAULT</a></code></td>
 <td class="colLast"><code>100</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MANIFEST_TARGET_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_TARGET_SIZE_BYTES">MANIFEST_TARGET_SIZE_BYTES</a></code></td>
 <td class="colLast"><code>"commit.manifest.target-size-bytes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MANIFEST_TARGET_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MANIFEST_TARGET_SIZE_BYTES_DEFAULT">MANIFEST_TARGET_SIZE_BYTES_DEFAULT</a></code></td>
 <td class="colLast"><code>8388608L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MAX_REF_AGE_MS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MAX_REF_AGE_MS">MAX_REF_AGE_MS</a></code></td>
 <td class="colLast"><code>"history.expire.max-ref-age-ms"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MAX_REF_AGE_MS_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MAX_REF_AGE_MS_DEFAULT">MAX_REF_AGE_MS_DEFAULT</a></code></td>
 <td class="colLast"><code>9223372036854775807L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MAX_SNAPSHOT_AGE_MS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MAX_SNAPSHOT_AGE_MS">MAX_SNAPSHOT_AGE_MS</a></code></td>
 <td class="colLast"><code>"history.expire.max-snapshot-age-ms"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MAX_SNAPSHOT_AGE_MS_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MAX_SNAPSHOT_AGE_MS_DEFAULT">MAX_SNAPSHOT_AGE_MS_DEFAULT</a></code></td>
 <td class="colLast"><code>432000000L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MERGE_CARDINALITY_CHECK_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MERGE_CARDINALITY_CHECK_ENABLED">MERGE_CARDINALITY_CHECK_ENABLED</a></code></td>
 <td class="colLast"><code>"write.merge.cardinality-check.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT">MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MERGE_DISTRIBUTION_MODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MERGE_DISTRIBUTION_MODE">MERGE_DISTRIBUTION_MODE</a></code></td>
 <td class="colLast"><code>"write.merge.distribution-mode"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MERGE_ISOLATION_LEVEL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MERGE_ISOLATION_LEVEL">MERGE_ISOLATION_LEVEL</a></code></td>
 <td class="colLast"><code>"write.merge.isolation-level"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MERGE_ISOLATION_LEVEL_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MERGE_ISOLATION_LEVEL_DEFAULT">MERGE_ISOLATION_LEVEL_DEFAULT</a></code></td>
 <td class="colLast"><code>"serializable"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MERGE_MODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MERGE_MODE">MERGE_MODE</a></code></td>
 <td class="colLast"><code>"write.merge.mode"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METADATA_COMPRESSION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METADATA_COMPRESSION">METADATA_COMPRESSION</a></code></td>
 <td class="colLast"><code>"write.metadata.compression-codec"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METADATA_COMPRESSION_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METADATA_COMPRESSION_DEFAULT">METADATA_COMPRESSION_DEFAULT</a></code></td>
 <td class="colLast"><code>"none"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METADATA_DELETE_AFTER_COMMIT_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METADATA_DELETE_AFTER_COMMIT_ENABLED">METADATA_DELETE_AFTER_COMMIT_ENABLED</a></code></td>
 <td class="colLast"><code>"write.metadata.delete-after-commit.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT">METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METADATA_PREVIOUS_VERSIONS_MAX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METADATA_PREVIOUS_VERSIONS_MAX">METADATA_PREVIOUS_VERSIONS_MAX</a></code></td>
 <td class="colLast"><code>"write.metadata.previous-versions-max"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT">METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT</a></code></td>
 <td class="colLast"><code>100</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METADATA_SPLIT_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METADATA_SPLIT_SIZE">METADATA_SPLIT_SIZE</a></code></td>
 <td class="colLast"><code>"read.split.metadata-target-size"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METADATA_SPLIT_SIZE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METADATA_SPLIT_SIZE_DEFAULT">METADATA_SPLIT_SIZE_DEFAULT</a></code></td>
 <td class="colLast"><code>33554432L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METRICS_MAX_INFERRED_COLUMN_DEFAULTS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METRICS_MAX_INFERRED_COLUMN_DEFAULTS">METRICS_MAX_INFERRED_COLUMN_DEFAULTS</a></code></td>
 <td class="colLast"><code>"write.metadata.metrics.max-inferred-column-defaults"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METRICS_MAX_INFERRED_COLUMN_DEFAULTS_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METRICS_MAX_INFERRED_COLUMN_DEFAULTS_DEFAULT">METRICS_MAX_INFERRED_COLUMN_DEFAULTS_DEFAULT</a></code></td>
 <td class="colLast"><code>100</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.METRICS_MODE_COLUMN_CONF_PREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#METRICS_MODE_COLUMN_CONF_PREFIX">METRICS_MODE_COLUMN_CONF_PREFIX</a></code></td>
 <td class="colLast"><code>"write.metadata.metrics.column."</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MIN_SNAPSHOTS_TO_KEEP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MIN_SNAPSHOTS_TO_KEEP">MIN_SNAPSHOTS_TO_KEEP</a></code></td>
 <td class="colLast"><code>"history.expire.min-snapshots-to-keep"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.MIN_SNAPSHOTS_TO_KEEP_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#MIN_SNAPSHOTS_TO_KEEP_DEFAULT">MIN_SNAPSHOTS_TO_KEEP_DEFAULT</a></code></td>
 <td class="colLast"><code>1</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.OBJECT_STORE_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_ENABLED">OBJECT_STORE_ENABLED</a></code></td>
 <td class="colLast"><code>"write.object-storage.enabled"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.OBJECT_STORE_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_ENABLED_DEFAULT">OBJECT_STORE_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.OBJECT_STORE_PATH">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#OBJECT_STORE_PATH">OBJECT_STORE_PATH</a></code></td>
 <td class="colLast"><code>"write.object-storage.path"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_BATCH_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_BATCH_SIZE">ORC_BATCH_SIZE</a></code></td>
 <td class="colLast"><code>"read.orc.vectorization.batch-size"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_BATCH_SIZE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_BATCH_SIZE_DEFAULT">ORC_BATCH_SIZE_DEFAULT</a></code></td>
 <td class="colLast"><code>5000</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_BLOCK_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_BLOCK_SIZE_BYTES">ORC_BLOCK_SIZE_BYTES</a></code></td>
 <td class="colLast"><code>"write.orc.block-size-bytes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_BLOCK_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_BLOCK_SIZE_BYTES_DEFAULT">ORC_BLOCK_SIZE_BYTES_DEFAULT</a></code></td>
 <td class="colLast"><code>268435456L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_BLOOM_FILTER_COLUMNS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_BLOOM_FILTER_COLUMNS">ORC_BLOOM_FILTER_COLUMNS</a></code></td>
 <td class="colLast"><code>"write.orc.bloom.filter.columns"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_BLOOM_FILTER_COLUMNS_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_BLOOM_FILTER_COLUMNS_DEFAULT">ORC_BLOOM_FILTER_COLUMNS_DEFAULT</a></code></td>
 <td class="colLast"><code>""</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_BLOOM_FILTER_FPP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_BLOOM_FILTER_FPP">ORC_BLOOM_FILTER_FPP</a></code></td>
 <td class="colLast"><code>"write.orc.bloom.filter.fpp"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_BLOOM_FILTER_FPP_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_BLOOM_FILTER_FPP_DEFAULT">ORC_BLOOM_FILTER_FPP_DEFAULT</a></code></td>
 <td class="colLast"><code>0.05</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_COMPRESSION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_COMPRESSION">ORC_COMPRESSION</a></code></td>
 <td class="colLast"><code>"write.orc.compression-codec"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_COMPRESSION_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_COMPRESSION_DEFAULT">ORC_COMPRESSION_DEFAULT</a></code></td>
 <td class="colLast"><code>"zlib"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_COMPRESSION_STRATEGY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_COMPRESSION_STRATEGY">ORC_COMPRESSION_STRATEGY</a></code></td>
 <td class="colLast"><code>"write.orc.compression-strategy"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_COMPRESSION_STRATEGY_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_COMPRESSION_STRATEGY_DEFAULT">ORC_COMPRESSION_STRATEGY_DEFAULT</a></code></td>
 <td class="colLast"><code>"speed"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_STRIPE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_STRIPE_SIZE_BYTES">ORC_STRIPE_SIZE_BYTES</a></code></td>
 <td class="colLast"><code>"write.orc.stripe-size-bytes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_STRIPE_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_STRIPE_SIZE_BYTES_DEFAULT">ORC_STRIPE_SIZE_BYTES_DEFAULT</a></code></td>
 <td class="colLast"><code>67108864L</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_VECTORIZATION_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_VECTORIZATION_ENABLED">ORC_VECTORIZATION_ENABLED</a></code></td>
 <td class="colLast"><code>"read.orc.vectorization.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_VECTORIZATION_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_VECTORIZATION_ENABLED_DEFAULT">ORC_VECTORIZATION_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_WRITE_BATCH_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_WRITE_BATCH_SIZE">ORC_WRITE_BATCH_SIZE</a></code></td>
 <td class="colLast"><code>"write.orc.vectorized.batch-size"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.ORC_WRITE_BATCH_SIZE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#ORC_WRITE_BATCH_SIZE_DEFAULT">ORC_WRITE_BATCH_SIZE_DEFAULT</a></code></td>
 <td class="colLast"><code>1024</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_BATCH_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_BATCH_SIZE">PARQUET_BATCH_SIZE</a></code></td>
 <td class="colLast"><code>"read.parquet.vectorization.batch-size"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_BATCH_SIZE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_BATCH_SIZE_DEFAULT">PARQUET_BATCH_SIZE_DEFAULT</a></code></td>
 <td class="colLast"><code>5000</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_BLOOM_FILTER_COLUMN_ENABLED_PREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_BLOOM_FILTER_COLUMN_ENABLED_PREFIX">PARQUET_BLOOM_FILTER_COLUMN_ENABLED_PREFIX</a></code></td>
 <td class="colLast"><code>"write.parquet.bloom-filter-enabled.column."</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_BLOOM_FILTER_MAX_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_BLOOM_FILTER_MAX_BYTES">PARQUET_BLOOM_FILTER_MAX_BYTES</a></code></td>
 <td class="colLast"><code>"write.parquet.bloom-filter-max-bytes"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_BLOOM_FILTER_MAX_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_BLOOM_FILTER_MAX_BYTES_DEFAULT">PARQUET_BLOOM_FILTER_MAX_BYTES_DEFAULT</a></code></td>
 <td class="colLast"><code>1048576</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_COMPRESSION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION">PARQUET_COMPRESSION</a></code></td>
 <td class="colLast"><code>"write.parquet.compression-codec"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_COMPRESSION_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION_DEFAULT">PARQUET_COMPRESSION_DEFAULT</a></code></td>
 <td class="colLast"><code>"gzip"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_COMPRESSION_LEVEL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION_LEVEL">PARQUET_COMPRESSION_LEVEL</a></code></td>
 <td class="colLast"><code>"write.parquet.compression-level"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_DICT_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_DICT_SIZE_BYTES">PARQUET_DICT_SIZE_BYTES</a></code></td>
 <td class="colLast"><code>"write.parquet.dict-size-bytes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_DICT_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_DICT_SIZE_BYTES_DEFAULT">PARQUET_DICT_SIZE_BYTES_DEFAULT</a></code></td>
 <td class="colLast"><code>2097152</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_PAGE_ROW_LIMIT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_PAGE_ROW_LIMIT">PARQUET_PAGE_ROW_LIMIT</a></code></td>
 <td class="colLast"><code>"write.parquet.page-row-limit"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_PAGE_ROW_LIMIT_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_PAGE_ROW_LIMIT_DEFAULT">PARQUET_PAGE_ROW_LIMIT_DEFAULT</a></code></td>
 <td class="colLast"><code>20000</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_PAGE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_PAGE_SIZE_BYTES">PARQUET_PAGE_SIZE_BYTES</a></code></td>
 <td class="colLast"><code>"write.parquet.page-size-bytes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_PAGE_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_PAGE_SIZE_BYTES_DEFAULT">PARQUET_PAGE_SIZE_BYTES_DEFAULT</a></code></td>
 <td class="colLast"><code>1048576</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_ROW_GROUP_CHECK_MAX_RECORD_COUNT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_CHECK_MAX_RECORD_COUNT">PARQUET_ROW_GROUP_CHECK_MAX_RECORD_COUNT</a></code></td>
 <td class="colLast"><code>"write.parquet.row-group-check-max-record-count"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_ROW_GROUP_CHECK_MAX_RECORD_COUNT_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_CHECK_MAX_RECORD_COUNT_DEFAULT">PARQUET_ROW_GROUP_CHECK_MAX_RECORD_COUNT_DEFAULT</a></code></td>
 <td class="colLast"><code>10000</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_ROW_GROUP_CHECK_MIN_RECORD_COUNT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_CHECK_MIN_RECORD_COUNT">PARQUET_ROW_GROUP_CHECK_MIN_RECORD_COUNT</a></code></td>
 <td class="colLast"><code>"write.parquet.row-group-check-min-record-count"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_ROW_GROUP_CHECK_MIN_RECORD_COUNT_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_CHECK_MIN_RECORD_COUNT_DEFAULT">PARQUET_ROW_GROUP_CHECK_MIN_RECORD_COUNT_DEFAULT</a></code></td>
 <td class="colLast"><code>100</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_ROW_GROUP_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_SIZE_BYTES">PARQUET_ROW_GROUP_SIZE_BYTES</a></code></td>
 <td class="colLast"><code>"write.parquet.row-group-size-bytes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT">PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT</a></code></td>
 <td class="colLast"><code>134217728</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_VECTORIZATION_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_VECTORIZATION_ENABLED">PARQUET_VECTORIZATION_ENABLED</a></code></td>
 <td class="colLast"><code>"read.parquet.vectorization.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.PARQUET_VECTORIZATION_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#PARQUET_VECTORIZATION_ENABLED_DEFAULT">PARQUET_VECTORIZATION_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SNAPSHOT_COUNT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SNAPSHOT_COUNT">SNAPSHOT_COUNT</a></code></td>
 <td class="colLast"><code>"snapshot-count"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SNAPSHOT_ID_INHERITANCE_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SNAPSHOT_ID_INHERITANCE_ENABLED">SNAPSHOT_ID_INHERITANCE_ENABLED</a></code></td>
 <td class="colLast"><code>"compatibility.snapshot-id-inheritance.enabled"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT">SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SPARK_WRITE_ACCEPT_ANY_SCHEMA">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SPARK_WRITE_ACCEPT_ANY_SCHEMA">SPARK_WRITE_ACCEPT_ANY_SCHEMA</a></code></td>
 <td class="colLast"><code>"write.spark.accept-any-schema"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SPARK_WRITE_ACCEPT_ANY_SCHEMA_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SPARK_WRITE_ACCEPT_ANY_SCHEMA_DEFAULT">SPARK_WRITE_ACCEPT_ANY_SCHEMA_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SPARK_WRITE_PARTITIONED_FANOUT_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SPARK_WRITE_PARTITIONED_FANOUT_ENABLED">SPARK_WRITE_PARTITIONED_FANOUT_ENABLED</a></code></td>
 <td class="colLast"><code>"write.spark.fanout.enabled"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT">SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SPLIT_LOOKBACK">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_LOOKBACK">SPLIT_LOOKBACK</a></code></td>
 <td class="colLast"><code>"read.split.planning-lookback"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SPLIT_LOOKBACK_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_LOOKBACK_DEFAULT">SPLIT_LOOKBACK_DEFAULT</a></code></td>
 <td class="colLast"><code>10</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SPLIT_OPEN_FILE_COST">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_OPEN_FILE_COST">SPLIT_OPEN_FILE_COST</a></code></td>
 <td class="colLast"><code>"read.split.open-file-cost"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SPLIT_OPEN_FILE_COST_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_OPEN_FILE_COST_DEFAULT">SPLIT_OPEN_FILE_COST_DEFAULT</a></code></td>
 <td class="colLast"><code>4194304L</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SPLIT_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_SIZE">SPLIT_SIZE</a></code></td>
 <td class="colLast"><code>"read.split.target-size"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.SPLIT_SIZE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#SPLIT_SIZE_DEFAULT">SPLIT_SIZE_DEFAULT</a></code></td>
 <td class="colLast"><code>134217728L</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.UPDATE_DISTRIBUTION_MODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#UPDATE_DISTRIBUTION_MODE">UPDATE_DISTRIBUTION_MODE</a></code></td>
 <td class="colLast"><code>"write.update.distribution-mode"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.UPDATE_ISOLATION_LEVEL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#UPDATE_ISOLATION_LEVEL">UPDATE_ISOLATION_LEVEL</a></code></td>
 <td class="colLast"><code>"write.update.isolation-level"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.UPDATE_ISOLATION_LEVEL_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#UPDATE_ISOLATION_LEVEL_DEFAULT">UPDATE_ISOLATION_LEVEL_DEFAULT</a></code></td>
 <td class="colLast"><code>"serializable"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.UPDATE_MODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#UPDATE_MODE">UPDATE_MODE</a></code></td>
 <td class="colLast"><code>"write.update.mode"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.UPSERT_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#UPSERT_ENABLED">UPSERT_ENABLED</a></code></td>
 <td class="colLast"><code>"write.upsert.enabled"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.UPSERT_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#UPSERT_ENABLED_DEFAULT">UPSERT_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.UUID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#UUID">UUID</a></code></td>
 <td class="colLast"><code>"uuid"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_AUDIT_PUBLISH_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_AUDIT_PUBLISH_ENABLED">WRITE_AUDIT_PUBLISH_ENABLED</a></code></td>
 <td class="colLast"><code>"write.wap.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT">WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT</a></code></td>
 <td class="colLast"><code>"false"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_DATA_LOCATION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DATA_LOCATION">WRITE_DATA_LOCATION</a></code></td>
 <td class="colLast"><code>"write.data.path"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE">WRITE_DISTRIBUTION_MODE</a></code></td>
 <td class="colLast"><code>"write.distribution-mode"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE_HASH">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_HASH">WRITE_DISTRIBUTION_MODE_HASH</a></code></td>
 <td class="colLast"><code>"hash"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE_NONE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_NONE">WRITE_DISTRIBUTION_MODE_NONE</a></code></td>
 <td class="colLast"><code>"none"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_DISTRIBUTION_MODE_RANGE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_RANGE">WRITE_DISTRIBUTION_MODE_RANGE</a></code></td>
 <td class="colLast"><code>"range"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_FOLDER_STORAGE_LOCATION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_FOLDER_STORAGE_LOCATION">WRITE_FOLDER_STORAGE_LOCATION</a></code></td>
 <td class="colLast"><code>"write.folder-storage.path"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_LOCATION_PROVIDER_IMPL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_LOCATION_PROVIDER_IMPL">WRITE_LOCATION_PROVIDER_IMPL</a></code></td>
 <td class="colLast"><code>"write.location-provider.impl"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_METADATA_LOCATION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_METADATA_LOCATION">WRITE_METADATA_LOCATION</a></code></td>
 <td class="colLast"><code>"write.metadata.path"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_PARTITION_SUMMARY_LIMIT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_PARTITION_SUMMARY_LIMIT">WRITE_PARTITION_SUMMARY_LIMIT</a></code></td>
 <td class="colLast"><code>"write.summary.partition-limit"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT">WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT</a></code></td>
 <td class="colLast"><code>0</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/TableProperties.html#WRITE_TARGET_FILE_SIZE_BYTES">WRITE_TARGET_FILE_SIZE_BYTES</a></code></td>
 <td class="colLast"><code>"write.target-file-size-bytes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
@@ -2197,7 +2244,7 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/iceberg/actions/RewriteDataFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</a></code></td>
-<td class="colLast"><code>1</code></td>
+<td class="colLast"><code>5</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.actions.RewriteDataFiles.MAX_FILE_GROUP_SIZE_BYTES">
@@ -2272,6 +2319,182 @@
 </tbody>
 </table>
 </li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.RewritePositionDeleteFiles.MAX_CONCURRENT_FILE_GROUP_REWRITES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES">MAX_CONCURRENT_FILE_GROUP_REWRITES</a></code></td>
+<td class="colLast"><code>"max-concurrent-file-group-rewrites"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.RewritePositionDeleteFiles.MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</a></code></td>
+<td class="colLast"><code>5</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.RewritePositionDeleteFiles.PARTIAL_PROGRESS_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_ENABLED">PARTIAL_PROGRESS_ENABLED</a></code></td>
+<td class="colLast"><code>"partial-progress.enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.RewritePositionDeleteFiles.PARTIAL_PROGRESS_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_ENABLED_DEFAULT">PARTIAL_PROGRESS_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.RewritePositionDeleteFiles.PARTIAL_PROGRESS_MAX_COMMITS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_MAX_COMMITS">PARTIAL_PROGRESS_MAX_COMMITS</a></code></td>
+<td class="colLast"><code>"partial-progress.max-commits"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.RewritePositionDeleteFiles.PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT</a></code></td>
+<td class="colLast"><code>10</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.RewritePositionDeleteFiles.REWRITE_JOB_ORDER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#REWRITE_JOB_ORDER">REWRITE_JOB_ORDER</a></code></td>
+<td class="colLast"><code>"rewrite-job-order"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedDataRewriter.DELETE_FILE_THRESHOLD">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html#DELETE_FILE_THRESHOLD">DELETE_FILE_THRESHOLD</a></code></td>
+<td class="colLast"><code>"delete-file-threshold"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedDataRewriter.DELETE_FILE_THRESHOLD_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html#DELETE_FILE_THRESHOLD_DEFAULT">DELETE_FILE_THRESHOLD_DEFAULT</a></code></td>
+<td class="colLast"><code>2147483647</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a>&lt;<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="type parameter in SizeBasedFileRewriter">T</a> extends <a href="org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="type parameter in SizeBasedFileRewriter">F</a>&gt;,<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="type parameter in SizeBasedFileRewriter">F</a> extends <a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="type parameter in SizeBasedFileRewriter">F</a>&gt;&gt;</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.MAX_FILE_GROUP_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MAX_FILE_GROUP_SIZE_BYTES">MAX_FILE_GROUP_SIZE_BYTES</a></code></td>
+<td class="colLast"><code>"max-file-group-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.MAX_FILE_GROUP_SIZE_BYTES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MAX_FILE_GROUP_SIZE_BYTES_DEFAULT">MAX_FILE_GROUP_SIZE_BYTES_DEFAULT</a></code></td>
+<td class="colLast"><code>107374182400L</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.MAX_FILE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MAX_FILE_SIZE_BYTES">MAX_FILE_SIZE_BYTES</a></code></td>
+<td class="colLast"><code>"max-file-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.MAX_FILE_SIZE_DEFAULT_RATIO">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MAX_FILE_SIZE_DEFAULT_RATIO">MAX_FILE_SIZE_DEFAULT_RATIO</a></code></td>
+<td class="colLast"><code>1.8</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.MIN_FILE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MIN_FILE_SIZE_BYTES">MIN_FILE_SIZE_BYTES</a></code></td>
+<td class="colLast"><code>"min-file-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.MIN_FILE_SIZE_DEFAULT_RATIO">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MIN_FILE_SIZE_DEFAULT_RATIO">MIN_FILE_SIZE_DEFAULT_RATIO</a></code></td>
+<td class="colLast"><code>0.75</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.MIN_INPUT_FILES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MIN_INPUT_FILES">MIN_INPUT_FILES</a></code></td>
+<td class="colLast"><code>"min-input-files"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.MIN_INPUT_FILES_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MIN_INPUT_FILES_DEFAULT">MIN_INPUT_FILES_DEFAULT</a></code></td>
+<td class="colLast"><code>5</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.REWRITE_ALL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#REWRITE_ALL">REWRITE_ALL</a></code></td>
+<td class="colLast"><code>"rewrite-all"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.REWRITE_ALL_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#REWRITE_ALL_DEFAULT">REWRITE_ALL_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.actions.SizeBasedFileRewriter.TARGET_FILE_SIZE_BYTES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></code></td>
+<td class="colLast"><code>"target-file-size-bytes"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 <ul class="blockList">
 <li class="blockList">
@@ -2402,6 +2625,32 @@
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.AwsClientProperties.CLIENT_CREDENTIALS_PROVIDER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/AwsClientProperties.html#CLIENT_CREDENTIALS_PROVIDER">CLIENT_CREDENTIALS_PROVIDER</a></code></td>
+<td class="colLast"><code>"client.credentials-provider"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.AwsClientProperties.CLIENT_REGION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/AwsClientProperties.html#CLIENT_REGION">CLIENT_REGION</a></code></td>
+<td class="colLast"><code>"client.region"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -2645,7 +2894,7 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_DEFAULT">HTTP_CLIENT_TYPE_DEFAULT</a></code></td>
-<td class="colLast"><code>"urlconnection"</code></td>
+<td class="colLast"><code>"apache"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_TYPE_URLCONNECTION">
@@ -3063,6 +3312,123 @@
 </tbody>
 </table>
 </li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS">APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS</a></code></td>
+<td class="colLast"><code>"http-client.apache.connection-acquisition-timeout-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.APACHE_CONNECTION_MAX_IDLE_TIME_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_CONNECTION_MAX_IDLE_TIME_MS">APACHE_CONNECTION_MAX_IDLE_TIME_MS</a></code></td>
+<td class="colLast"><code>"http-client.apache.connection-max-idle-time-ms"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.APACHE_CONNECTION_TIME_TO_LIVE_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_CONNECTION_TIME_TO_LIVE_MS">APACHE_CONNECTION_TIME_TO_LIVE_MS</a></code></td>
+<td class="colLast"><code>"http-client.apache.connection-time-to-live-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.APACHE_CONNECTION_TIMEOUT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_CONNECTION_TIMEOUT_MS">APACHE_CONNECTION_TIMEOUT_MS</a></code></td>
+<td class="colLast"><code>"http-client.apache.connection-timeout-ms"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.APACHE_EXPECT_CONTINUE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_EXPECT_CONTINUE_ENABLED">APACHE_EXPECT_CONTINUE_ENABLED</a></code></td>
+<td class="colLast"><code>"http-client.apache.expect-continue-enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.APACHE_MAX_CONNECTIONS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_MAX_CONNECTIONS">APACHE_MAX_CONNECTIONS</a></code></td>
+<td class="colLast"><code>"http-client.apache.max-connections"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.APACHE_SOCKET_TIMEOUT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_SOCKET_TIMEOUT_MS">APACHE_SOCKET_TIMEOUT_MS</a></code></td>
+<td class="colLast"><code>"http-client.apache.socket-timeout-ms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.APACHE_TCP_KEEP_ALIVE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_TCP_KEEP_ALIVE_ENABLED">APACHE_TCP_KEEP_ALIVE_ENABLED</a></code></td>
+<td class="colLast"><code>"http-client.apache.tcp-keep-alive-enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED">APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED</a></code></td>
+<td class="colLast"><code>"http-client.apache.use-idle-connection-reaper-enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.CLIENT_TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#CLIENT_TYPE">CLIENT_TYPE</a></code></td>
+<td class="colLast"><code>"http-client.type"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.CLIENT_TYPE_APACHE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#CLIENT_TYPE_APACHE">CLIENT_TYPE_APACHE</a></code></td>
+<td class="colLast"><code>"apache"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.CLIENT_TYPE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#CLIENT_TYPE_DEFAULT">CLIENT_TYPE_DEFAULT</a></code></td>
+<td class="colLast"><code>"apache"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.CLIENT_TYPE_URLCONNECTION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#CLIENT_TYPE_URLCONNECTION">CLIENT_TYPE_URLCONNECTION</a></code></td>
+<td class="colLast"><code>"urlconnection"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.URLCONNECTION_CONNECTION_TIMEOUT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#URLCONNECTION_CONNECTION_TIMEOUT_MS">URLCONNECTION_CONNECTION_TIMEOUT_MS</a></code></td>
+<td class="colLast"><code>"http-client.urlconnection.connection-timeout-ms"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.HttpClientProperties.URLCONNECTION_SOCKET_TIMEOUT_MS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/HttpClientProperties.html#URLCONNECTION_SOCKET_TIMEOUT_MS">URLCONNECTION_SOCKET_TIMEOUT_MS</a></code></td>
+<td class="colLast"><code>"http-client.urlconnection.socket-timeout-ms"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 <ul class="blockList">
 <li class="blockList">
@@ -3088,6 +3454,363 @@
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.ACCELERATION_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ACCELERATION_ENABLED">ACCELERATION_ENABLED</a></code></td>
+<td class="colLast"><code>"s3.acceleration-enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.ACCELERATION_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ACCELERATION_ENABLED_DEFAULT">ACCELERATION_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.ACCESS_KEY_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ACCESS_KEY_ID">ACCESS_KEY_ID</a></code></td>
+<td class="colLast"><code>"s3.access-key-id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.ACCESS_POINTS_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ACCESS_POINTS_PREFIX">ACCESS_POINTS_PREFIX</a></code></td>
+<td class="colLast"><code>"s3.access-points."</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.ACL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ACL">ACL</a></code></td>
+<td class="colLast"><code>"s3.acl"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.CHECKSUM_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#CHECKSUM_ENABLED">CHECKSUM_ENABLED</a></code></td>
+<td class="colLast"><code>"s3.checksum-enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.CHECKSUM_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#CHECKSUM_ENABLED_DEFAULT">CHECKSUM_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.CLIENT_FACTORY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#CLIENT_FACTORY">CLIENT_FACTORY</a></code></td>
+<td class="colLast"><code>"s3.client-factory-impl"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_BATCH_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_BATCH_SIZE">DELETE_BATCH_SIZE</a></code></td>
+<td class="colLast"><code>"s3.delete.batch-size"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_BATCH_SIZE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_BATCH_SIZE_DEFAULT">DELETE_BATCH_SIZE_DEFAULT</a></code></td>
+<td class="colLast"><code>250</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_BATCH_SIZE_MAX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_BATCH_SIZE_MAX">DELETE_BATCH_SIZE_MAX</a></code></td>
+<td class="colLast"><code>1000</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_ENABLED">DELETE_ENABLED</a></code></td>
+<td class="colLast"><code>"s3.delete-enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_ENABLED_DEFAULT">DELETE_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>true</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_TAGS_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_TAGS_PREFIX">DELETE_TAGS_PREFIX</a></code></td>
+<td class="colLast"><code>"s3.delete.tags."</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.DELETE_THREADS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_THREADS">DELETE_THREADS</a></code></td>
+<td class="colLast"><code>"s3.delete.num-threads"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.DUALSTACK_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DUALSTACK_ENABLED">DUALSTACK_ENABLED</a></code></td>
+<td class="colLast"><code>"s3.dualstack-enabled"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.DUALSTACK_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DUALSTACK_ENABLED_DEFAULT">DUALSTACK_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.ENDPOINT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ENDPOINT">ENDPOINT</a></code></td>
+<td class="colLast"><code>"s3.endpoint"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_SIZE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_SIZE">MULTIPART_SIZE</a></code></td>
+<td class="colLast"><code>"s3.multipart.part-size-bytes"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_SIZE_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_SIZE_DEFAULT">MULTIPART_SIZE_DEFAULT</a></code></td>
+<td class="colLast"><code>33554432</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_SIZE_MIN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_SIZE_MIN">MULTIPART_SIZE_MIN</a></code></td>
+<td class="colLast"><code>5242880</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_THRESHOLD_FACTOR">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_THRESHOLD_FACTOR">MULTIPART_THRESHOLD_FACTOR</a></code></td>
+<td class="colLast"><code>"s3.multipart.threshold"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_THRESHOLD_FACTOR_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;double</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_THRESHOLD_FACTOR_DEFAULT">MULTIPART_THRESHOLD_FACTOR_DEFAULT</a></code></td>
+<td class="colLast"><code>1.5</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.MULTIPART_UPLOAD_THREADS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_UPLOAD_THREADS">MULTIPART_UPLOAD_THREADS</a></code></td>
+<td class="colLast"><code>"s3.multipart.num-threads"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.PATH_STYLE_ACCESS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#PATH_STYLE_ACCESS">PATH_STYLE_ACCESS</a></code></td>
+<td class="colLast"><code>"s3.path-style-access"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.PATH_STYLE_ACCESS_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#PATH_STYLE_ACCESS_DEFAULT">PATH_STYLE_ACCESS_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.PRELOAD_CLIENT_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#PRELOAD_CLIENT_ENABLED">PRELOAD_CLIENT_ENABLED</a></code></td>
+<td class="colLast"><code>"s3.preload-client-enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.PRELOAD_CLIENT_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#PRELOAD_CLIENT_ENABLED_DEFAULT">PRELOAD_CLIENT_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.REMOTE_SIGNING_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#REMOTE_SIGNING_ENABLED">REMOTE_SIGNING_ENABLED</a></code></td>
+<td class="colLast"><code>"s3.remote-signing-enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.REMOTE_SIGNING_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#REMOTE_SIGNING_ENABLED_DEFAULT">REMOTE_SIGNING_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.S3_TAG_ICEBERG_NAMESPACE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#S3_TAG_ICEBERG_NAMESPACE">S3_TAG_ICEBERG_NAMESPACE</a></code></td>
+<td class="colLast"><code>"iceberg.namespace"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.S3_TAG_ICEBERG_TABLE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#S3_TAG_ICEBERG_TABLE">S3_TAG_ICEBERG_TABLE</a></code></td>
+<td class="colLast"><code>"iceberg.table"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.SECRET_ACCESS_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SECRET_ACCESS_KEY">SECRET_ACCESS_KEY</a></code></td>
+<td class="colLast"><code>"s3.secret-access-key"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.SESSION_TOKEN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SESSION_TOKEN">SESSION_TOKEN</a></code></td>
+<td class="colLast"><code>"s3.session-token"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_KEY">SSE_KEY</a></code></td>
+<td class="colLast"><code>"s3.sse.key"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_MD5">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_MD5">SSE_MD5</a></code></td>
+<td class="colLast"><code>"s3.sse.md5"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE">SSE_TYPE</a></code></td>
+<td class="colLast"><code>"s3.sse.type"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_TYPE_CUSTOM">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE_CUSTOM">SSE_TYPE_CUSTOM</a></code></td>
+<td class="colLast"><code>"custom"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_TYPE_KMS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE_KMS">SSE_TYPE_KMS</a></code></td>
+<td class="colLast"><code>"kms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_TYPE_NONE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE_NONE">SSE_TYPE_NONE</a></code></td>
+<td class="colLast"><code>"none"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.SSE_TYPE_S3">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE_S3">SSE_TYPE_S3</a></code></td>
+<td class="colLast"><code>"s3"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.STAGING_DIRECTORY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#STAGING_DIRECTORY">STAGING_DIRECTORY</a></code></td>
+<td class="colLast"><code>"s3.staging-dir"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.USE_ARN_REGION_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#USE_ARN_REGION_ENABLED">USE_ARN_REGION_ENABLED</a></code></td>
+<td class="colLast"><code>"s3.use-arn-region-enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.USE_ARN_REGION_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#USE_ARN_REGION_ENABLED_DEFAULT">USE_ARN_REGION_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_NAMESPACE_TAG_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_NAMESPACE_TAG_ENABLED">WRITE_NAMESPACE_TAG_ENABLED</a></code></td>
+<td class="colLast"><code>"s3.write.namespace-tag-enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_TABLE_TAG_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_TABLE_TAG_ENABLED">WRITE_TABLE_TAG_ENABLED</a></code></td>
+<td class="colLast"><code>"s3.write.table-tag-enabled"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_TABLE_TAG_ENABLED_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_TABLE_TAG_ENABLED_DEFAULT">WRITE_TABLE_TAG_ENABLED_DEFAULT</a></code></td>
+<td class="colLast"><code>false</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties.WRITE_TAGS_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_TAGS_PREFIX">WRITE_TAGS_PREFIX</a></code></td>
+<td class="colLast"><code>"s3.write.tags."</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.iceberg.aws.s3.signer.<a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html" title="class in org.apache.iceberg.aws.s3.signer">S3V4RestSignerClient</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -3297,48 +4020,55 @@
 <td class="colLast"><code>"limit"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.flink.FlinkReadOptions.MAX_ALLOWED_PLANNING_FAILURES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/flink/FlinkReadOptions.html#MAX_ALLOWED_PLANNING_FAILURES">MAX_ALLOWED_PLANNING_FAILURES</a></code></td>
+<td class="colLast"><code>"max-allowed-planning-failures"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.flink.FlinkReadOptions.MAX_PLANNING_SNAPSHOT_COUNT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/flink/FlinkReadOptions.html#MAX_PLANNING_SNAPSHOT_COUNT">MAX_PLANNING_SNAPSHOT_COUNT</a></code></td>
 <td class="colLast"><code>"max-planning-snapshot-count"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.flink.FlinkReadOptions.MONITOR_INTERVAL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/flink/FlinkReadOptions.html#MONITOR_INTERVAL">MONITOR_INTERVAL</a></code></td>
 <td class="colLast"><code>"monitor-interval"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.flink.FlinkReadOptions.SPLIT_FILE_OPEN_COST">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/flink/FlinkReadOptions.html#SPLIT_FILE_OPEN_COST">SPLIT_FILE_OPEN_COST</a></code></td>
 <td class="colLast"><code>"split-file-open-cost"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.flink.FlinkReadOptions.SPLIT_LOOKBACK">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/flink/FlinkReadOptions.html#SPLIT_LOOKBACK">SPLIT_LOOKBACK</a></code></td>
 <td class="colLast"><code>"split-lookback"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.flink.FlinkReadOptions.SPLIT_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/flink/FlinkReadOptions.html#SPLIT_SIZE">SPLIT_SIZE</a></code></td>
 <td class="colLast"><code>"split-size"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.flink.FlinkReadOptions.STARTING_STRATEGY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/flink/FlinkReadOptions.html#STARTING_STRATEGY">STARTING_STRATEGY</a></code></td>
 <td class="colLast"><code>"starting-strategy"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.flink.FlinkReadOptions.STREAMING">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -3443,6 +4173,13 @@
 <td><code><a href="org/apache/iceberg/hadoop/ConfigProperties.html#KEEP_HIVE_STATS">KEEP_HIVE_STATS</a></code></td>
 <td class="colLast"><code>"iceberg.hive.keep.stats"</code></td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.hadoop.ConfigProperties.LOCK_HIVE_ENABLED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/hadoop/ConfigProperties.html#LOCK_HIVE_ENABLED">LOCK_HIVE_ENABLED</a></code></td>
+<td class="colLast"><code>"iceberg.engine.hive.lock-enabled"</code></td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -4604,139 +5341,146 @@
 <td class="colLast"><code>"file-open-cost"</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.FILE_SCAN_TASK_SET_ID">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#FILE_SCAN_TASK_SET_ID">FILE_SCAN_TASK_SET_ID</a></code></td>
-<td class="colLast"><code>"file-scan-task-set-id"</code></td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></code></td>
 <td class="colLast"><code>"handle-timestamp-without-timezone"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.LOCALITY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#LOCALITY">LOCALITY</a></code></td>
 <td class="colLast"><code>"locality"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.LOOKBACK">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#LOOKBACK">LOOKBACK</a></code></td>
 <td class="colLast"><code>"lookback"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.PATH">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#PATH">PATH</a></code></td>
 <td class="colLast"><code>"path"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.SCAN_TASK_SET_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#SCAN_TASK_SET_ID">SCAN_TASK_SET_ID</a></code></td>
 <td class="colLast"><code>"scan-task-set-id"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.SNAPSHOT_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#SNAPSHOT_ID">SNAPSHOT_ID</a></code></td>
 <td class="colLast"><code>"snapshot-id"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.SPLIT_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#SPLIT_SIZE">SPLIT_SIZE</a></code></td>
 <td class="colLast"><code>"split-size"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.START_SNAPSHOT_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#START_SNAPSHOT_ID">START_SNAPSHOT_ID</a></code></td>
 <td class="colLast"><code>"start-snapshot-id"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.START_TIMESTAMP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#START_TIMESTAMP">START_TIMESTAMP</a></code></td>
 <td class="colLast"><code>"start-timestamp"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.STREAM_FROM_TIMESTAMP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAM_FROM_TIMESTAMP">STREAM_FROM_TIMESTAMP</a></code></td>
 <td class="colLast"><code>"stream-from-timestamp"</code></td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.STREAMING_MAX_FILES_PER_MICRO_BATCH">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_MAX_FILES_PER_MICRO_BATCH">STREAMING_MAX_FILES_PER_MICRO_BATCH</a></code></td>
+<td class="colLast"><code>"streaming-max-files-per-micro-batch"</code></td>
+</tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.STREAMING_MAX_ROWS_PER_MICRO_BATCH">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_MAX_ROWS_PER_MICRO_BATCH">STREAMING_MAX_ROWS_PER_MICRO_BATCH</a></code></td>
+<td class="colLast"><code>"streaming-max-rows-per-micro-batch"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.STREAMING_SKIP_DELETE_SNAPSHOTS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_DELETE_SNAPSHOTS">STREAMING_SKIP_DELETE_SNAPSHOTS</a></code></td>
 <td class="colLast"><code>"streaming-skip-delete-snapshots"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.STREAMING_SKIP_DELETE_SNAPSHOTS_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_DELETE_SNAPSHOTS_DEFAULT">STREAMING_SKIP_DELETE_SNAPSHOTS_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.STREAMING_SKIP_OVERWRITE_SNAPSHOTS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_OVERWRITE_SNAPSHOTS">STREAMING_SKIP_OVERWRITE_SNAPSHOTS</a></code></td>
 <td class="colLast"><code>"streaming-skip-overwrite-snapshots"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.STREAMING_SKIP_OVERWRITE_SNAPSHOTS_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_OVERWRITE_SNAPSHOTS_DEFAULT">STREAMING_SKIP_OVERWRITE_SNAPSHOTS_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.TAG">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#TAG">TAG</a></code></td>
 <td class="colLast"><code>"tag"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.TIMESTAMP_AS_OF">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#TIMESTAMP_AS_OF">TIMESTAMP_AS_OF</a></code></td>
 <td class="colLast"><code>"timestampAsOf"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.VECTORIZATION_BATCH_SIZE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#VECTORIZATION_BATCH_SIZE">VECTORIZATION_BATCH_SIZE</a></code></td>
 <td class="colLast"><code>"batch-size"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.VECTORIZATION_ENABLED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkReadOptions.html#VECTORIZATION_ENABLED">VECTORIZATION_ENABLED</a></code></td>
 <td class="colLast"><code>"vectorization-enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkReadOptions.VERSION_AS_OF">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -4812,40 +5556,26 @@
 <td class="colLast"><code>"spark.sql.iceberg.handle-timestamp-without-timezone"</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.iceberg.spark.SparkSQLProperties.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
-<td><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT</a></code></td>
-<td class="colLast"><code>false</code></td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkSQLProperties.PRESERVE_DATA_GROUPING">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#PRESERVE_DATA_GROUPING">PRESERVE_DATA_GROUPING</a></code></td>
 <td class="colLast"><code>"spark.sql.iceberg.planning.preserve-data-grouping"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkSQLProperties.PRESERVE_DATA_GROUPING_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#PRESERVE_DATA_GROUPING_DEFAULT">PRESERVE_DATA_GROUPING_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkSQLProperties.USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</a></code></td>
 <td class="colLast"><code>"spark.sql.iceberg.use-timestamp-without-timezone-in-new-tables"</code></td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.iceberg.spark.SparkSQLProperties.USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
-<td><code><a href="org/apache/iceberg/spark/SparkSQLProperties.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT</a></code></td>
-<td class="colLast"><code>false</code></td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkSQLProperties.VECTORIZATION_ENABLED">
 <!--   -->
@@ -4943,69 +5673,76 @@
 <td class="colLast"><code>false</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.OUTPUT_SPEC_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#OUTPUT_SPEC_ID">OUTPUT_SPEC_ID</a></code></td>
+<td class="colLast"><code>"output-spec-id"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.OVERWRITE_MODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#OVERWRITE_MODE">OVERWRITE_MODE</a></code></td>
 <td class="colLast"><code>"overwrite-mode"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.REWRITTEN_FILE_SCAN_TASK_SET_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#REWRITTEN_FILE_SCAN_TASK_SET_ID">REWRITTEN_FILE_SCAN_TASK_SET_ID</a></code></td>
 <td class="colLast"><code>"rewritten-file-scan-task-set-id"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.SNAPSHOT_PROPERTY_PREFIX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#SNAPSHOT_PROPERTY_PREFIX">SNAPSHOT_PROPERTY_PREFIX</a></code></td>
 <td class="colLast"><code>"snapshot-property"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.SPARK_MERGE_SCHEMA">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#SPARK_MERGE_SCHEMA">SPARK_MERGE_SCHEMA</a></code></td>
 <td class="colLast"><code>"mergeSchema"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.TARGET_DELETE_FILE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#TARGET_DELETE_FILE_SIZE_BYTES">TARGET_DELETE_FILE_SIZE_BYTES</a></code></td>
 <td class="colLast"><code>"target-delete-file-size-bytes"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.TARGET_FILE_SIZE_BYTES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></code></td>
 <td class="colLast"><code>"target-file-size-bytes"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.USE_TABLE_DISTRIBUTION_AND_ORDERING">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#USE_TABLE_DISTRIBUTION_AND_ORDERING">USE_TABLE_DISTRIBUTION_AND_ORDERING</a></code></td>
 <td class="colLast"><code>"use-table-distribution-and-ordering"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.USE_TABLE_DISTRIBUTION_AND_ORDERING_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#USE_TABLE_DISTRIBUTION_AND_ORDERING_DEFAULT">USE_TABLE_DISTRIBUTION_AND_ORDERING_DEFAULT</a></code></td>
 <td class="colLast"><code>true</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.VALIDATE_FROM_SNAPSHOT_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
 <td><code><a href="org/apache/iceberg/spark/SparkWriteOptions.html#VALIDATE_FROM_SNAPSHOT_ID">VALIDATE_FROM_SNAPSHOT_ID</a></code></td>
 <td class="colLast"><code>"validate-from-snapshot-id"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.iceberg.spark.SparkWriteOptions.WRITE_FORMAT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
@@ -5399,6 +6136,60 @@
 </li>
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.spark.actions.RewritePositionDeleteFilesSparkAction.FILE_PATH">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code>FILE_PATH</code></td>
+<td class="colLast"><code>"file_path"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.spark.actions.RewritePositionDeleteFilesSparkAction.LAST_MODIFIED">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code>LAST_MODIFIED</code></td>
+<td class="colLast"><code>"last_modified"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.spark.actions.RewritePositionDeleteFilesSparkAction.MANIFEST">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code>MANIFEST</code></td>
+<td class="colLast"><code>"Manifest"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.spark.actions.RewritePositionDeleteFilesSparkAction.MANIFEST_LIST">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code>MANIFEST_LIST</code></td>
+<td class="colLast"><code>"Manifest List"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.iceberg.spark.actions.RewritePositionDeleteFilesSparkAction.OTHERS">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code>OTHERS</code></td>
+<td class="colLast"><code>"Others"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.iceberg.spark.actions.RewritePositionDeleteFilesSparkAction.STATISTICS_FILES">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+<td><code>STATISTICS_FILES</code></td>
+<td class="colLast"><code>"Statistics Files"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">SnapshotTableSparkAction</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -5465,25 +6256,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList">
-<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.iceberg.spark.actions.SparkSortStrategy.COMPRESSION_FACTOR">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#COMPRESSION_FACTOR">COMPRESSION_FACTOR</a></code></td>
-<td class="colLast"><code>"compression-factor"</code></td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 <ul class="blockList">
 <li class="blockList">
diff --git a/javadoc/deprecated-list.html b/javadoc/deprecated-list.html
index d6a9984..5d8d98a 100644
--- a/javadoc/deprecated-list.html
+++ b/javadoc/deprecated-list.html
@@ -76,7 +76,6 @@
 <li><a href="#exception">Deprecated Exceptions</a></li>
 <li><a href="#field">Deprecated Fields</a></li>
 <li><a href="#method">Deprecated Methods</a></li>
-<li><a href="#constructor">Deprecated Constructors</a></li>
 </ul>
 </div>
 <div class="contentContainer"><a name="interface">
@@ -100,6 +99,16 @@
 <div class="block"><span class="deprecationComment">will be removed in 2.0.0, use <a href="org/apache/iceberg/metrics/Counter.html" title="interface in org.apache.iceberg.metrics"><code>Counter</code></a> instead.</span></div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">org.apache.iceberg.actions.RewritePositionDeleteStrategy</a>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; Use <a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">org.apache.iceberg.actions.RewriteStrategy</a>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><code>FileRewriter</code></a> instead.</span></div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -116,20 +125,80 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BaseExpireSnapshotsActionResult</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0.</span></div>
+<td class="colOne"><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BaseDeleteOrphanFilesActionResult</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableDeleteOrphanFiles.Result.builder()</code>
+     instead.</span></div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">org.apache.iceberg.spark.FileScanTaskSetManager</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><code>ScanTaskSetManager</code></a> instead</span></div>
+<td class="colOne"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BaseDeleteReachableFilesActionResult</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableDeleteReachableFiles.Result.builder()</code>
+     instead.</span></div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BaseFileGroupRewriteResult</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.FileGroupRewriteResult.builder()</code> instead.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BaseMigrateTableActionResult</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableMigrateTable.Result.builder()</code> instead.</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BaseRewriteDataFilesFileGroupInfo</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.FileGroupInfo.builder()</code> instead.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BaseRewriteDataFilesResult</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.Result.builder()</code>
+     instead.</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BaseRewriteManifestsActionResult</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteManifests.Result.builder()</code>
+     instead.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/actions/BaseSnapshotTableActionResult.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BaseSnapshotTableActionResult</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableSnapshotTable.Result.builder()</code>
+     instead.</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BinPackStrategy</a>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/iceberg/parquet/ParquetWriteAdapter.html" title="class in org.apache.iceberg.parquet">org.apache.iceberg.parquet.ParquetWriteAdapter</a>
 <div class="block"><span class="deprecationComment">use <code>ParquetWriter</code></span></div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.SortStrategy</a>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">org.apache.iceberg.arrow.vectorized.parquet.VectorizedColumnIterator.FixedLengthDecimalBatchReader</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">org.apache.iceberg.arrow.vectorized.parquet.VectorizedColumnIterator.IntBackedDecimalBatchReader</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">org.apache.iceberg.arrow.vectorized.parquet.VectorizedColumnIterator.LongBackedDecimalBatchReader</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -167,25 +236,114 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/CatalogProperties.html#AUTH_DEFAULT_REFRESH_ENABLED">org.apache.iceberg.CatalogProperties.AUTH_DEFAULT_REFRESH_ENABLED</a>
-<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; Use <a href="org/apache/iceberg/rest/auth/OAuth2Properties.html#TOKEN_REFRESH_ENABLED"><code>OAuth2Properties.TOKEN_REFRESH_ENABLED</code></a> to control token
-     refresh behavior.</span></div>
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_CREDENTIALS_PROVIDER">org.apache.iceberg.aws.AwsProperties.CLIENT_CREDENTIALS_PROVIDER</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/iceberg/CatalogProperties.html#AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT">org.apache.iceberg.CatalogProperties.AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT</a>
-<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; Use <a href="org/apache/iceberg/rest/auth/OAuth2Properties.html#TOKEN_REFRESH_ENABLED_DEFAULT"><code>OAuth2Properties.TOKEN_REFRESH_ENABLED_DEFAULT</code></a> to control
-     default token refresh behavior.</span></div>
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_REGION">org.apache.iceberg.aws.AwsProperties.CLIENT_REGION</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/spark/SparkReadOptions.html#FILE_SCAN_TASK_SET_ID">org.apache.iceberg.spark.SparkReadOptions.FILE_SCAN_TASK_SET_ID</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use SCAN_TASK_SET_ID instead</span></div>
+<td class="colOne"><a href="org/apache/iceberg/spark/SparkReadOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">org.apache.iceberg.spark.SparkReadOptions.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">org.apache.iceberg.spark.SparkSQLProperties.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">org.apache.iceberg.spark.SparkWriteOptions.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_MAX_IDLE_TIME_MS">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_APACHE_CONNECTION_MAX_IDLE_TIME_MS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/iceberg/TableProperties.html#HMS_TABLE_OWNER">org.apache.iceberg.TableProperties.HMS_TABLE_OWNER</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use the HMS_TABLE_OWNER constant from HiveCatalog</span></div>
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_TIME_TO_LIVE_MS">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_APACHE_CONNECTION_TIME_TO_LIVE_MS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_TIMEOUT_MS">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_APACHE_CONNECTION_TIMEOUT_MS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_EXPECT_CONTINUE_ENABLED">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_APACHE_EXPECT_CONTINUE_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_MAX_CONNECTIONS">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_APACHE_MAX_CONNECTIONS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_SOCKET_TIMEOUT_MS">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_APACHE_SOCKET_TIMEOUT_MS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_TCP_KEEP_ALIVE_ENABLED">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_APACHE_TCP_KEEP_ALIVE_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_TYPE</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_TYPE_APACHE</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_DEFAULT">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_TYPE_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_URLCONNECTION">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_TYPE_URLCONNECTION</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_URLCONNECTION_CONNECTION_TIMEOUT_MS">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_URLCONNECTION_CONNECTION_TIMEOUT_MS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_URLCONNECTION_SOCKET_TIMEOUT_MS">org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_URLCONNECTION_SOCKET_TIMEOUT_MS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 </td>
 </tr>
 <tr class="altColor">
@@ -216,6 +374,294 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_ACCELERATION_ENABLED">org.apache.iceberg.aws.AwsProperties.S3_ACCELERATION_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_ACCELERATION_ENABLED_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3_ACCELERATION_ENABLED_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_ACCESS_POINTS_PREFIX">org.apache.iceberg.aws.AwsProperties.S3_ACCESS_POINTS_PREFIX</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_CHECKSUM_ENABLED">org.apache.iceberg.aws.AwsProperties.S3_CHECKSUM_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_CHECKSUM_ENABLED_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3_CHECKSUM_ENABLED_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_ENABLED">org.apache.iceberg.aws.AwsProperties.S3_DELETE_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_ENABLED_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3_DELETE_ENABLED_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_TAGS_PREFIX">org.apache.iceberg.aws.AwsProperties.S3_DELETE_TAGS_PREFIX</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_DUALSTACK_ENABLED">org.apache.iceberg.aws.AwsProperties.S3_DUALSTACK_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_DUALSTACK_ENABLED_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3_DUALSTACK_ENABLED_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_PRELOAD_CLIENT_ENABLED">org.apache.iceberg.aws.AwsProperties.S3_PRELOAD_CLIENT_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_PRELOAD_CLIENT_ENABLED_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3_PRELOAD_CLIENT_ENABLED_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_REMOTE_SIGNING_ENABLED">org.apache.iceberg.aws.AwsProperties.S3_REMOTE_SIGNING_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_REMOTE_SIGNING_ENABLED_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3_REMOTE_SIGNING_ENABLED_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_TAG_ICEBERG_NAMESPACE">org.apache.iceberg.aws.AwsProperties.S3_TAG_ICEBERG_NAMESPACE</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_TAG_ICEBERG_TABLE">org.apache.iceberg.aws.AwsProperties.S3_TAG_ICEBERG_TABLE</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_USE_ARN_REGION_ENABLED">org.apache.iceberg.aws.AwsProperties.S3_USE_ARN_REGION_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_USE_ARN_REGION_ENABLED_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3_USE_ARN_REGION_ENABLED_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_NAMESPACE_TAG_ENABLED">org.apache.iceberg.aws.AwsProperties.S3_WRITE_NAMESPACE_TAG_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TABLE_TAG_ENABLED">org.apache.iceberg.aws.AwsProperties.S3_WRITE_TABLE_TAG_ENABLED</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TABLE_TAG_ENABLED_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3_WRITE_TABLE_TAG_ENABLED_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TAGS_PREFIX">org.apache.iceberg.aws.AwsProperties.S3_WRITE_TAGS_PREFIX</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ACCESS_KEY_ID">org.apache.iceberg.aws.AwsProperties.S3FILEIO_ACCESS_KEY_ID</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ACL">org.apache.iceberg.aws.AwsProperties.S3FILEIO_ACL</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_BATCH_SIZE">org.apache.iceberg.aws.AwsProperties.S3FILEIO_DELETE_BATCH_SIZE</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_BATCH_SIZE_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3FILEIO_DELETE_BATCH_SIZE_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_BATCH_SIZE_MAX">org.apache.iceberg.aws.AwsProperties.S3FILEIO_DELETE_BATCH_SIZE_MAX</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_THREADS">org.apache.iceberg.aws.AwsProperties.S3FILEIO_DELETE_THREADS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ENDPOINT">org.apache.iceberg.aws.AwsProperties.S3FILEIO_ENDPOINT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE">org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_SIZE</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_SIZE_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE_MIN">org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_SIZE_MIN</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_THRESHOLD_FACTOR">org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_THRESHOLD_FACTOR</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_UPLOAD_THREADS">org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_UPLOAD_THREADS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_PATH_STYLE_ACCESS">org.apache.iceberg.aws.AwsProperties.S3FILEIO_PATH_STYLE_ACCESS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_PATH_STYLE_ACCESS_DEFAULT">org.apache.iceberg.aws.AwsProperties.S3FILEIO_PATH_STYLE_ACCESS_DEFAULT</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SECRET_ACCESS_KEY">org.apache.iceberg.aws.AwsProperties.S3FILEIO_SECRET_ACCESS_KEY</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SESSION_TOKEN">org.apache.iceberg.aws.AwsProperties.S3FILEIO_SESSION_TOKEN</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_KEY">org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_KEY</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_MD5">org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_MD5</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE">org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_TYPE</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_CUSTOM">org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_TYPE_CUSTOM</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_KMS">org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_TYPE_KMS</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_NONE">org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_TYPE_NONE</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_S3">org.apache.iceberg.aws.AwsProperties.S3FILEIO_SSE_TYPE_S3</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_STAGING_DIRECTORY">org.apache.iceberg.aws.AwsProperties.S3FILEIO_STAGING_DIRECTORY</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#tokenNames">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.tokenNames</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#VOCABULARY"><code>IcebergSqlExtensionsParser.VOCABULARY</code></a> instead.</span></div>
 </td>
@@ -226,6 +672,9 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">org.apache.iceberg.spark.SparkSQLProperties.USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</a></td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/iceberg/TableProperties.html#WRITE_FOLDER_STORAGE_LOCATION">org.apache.iceberg.TableProperties.WRITE_FOLDER_STORAGE_LOCATION</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/iceberg/TableProperties.html#WRITE_DATA_LOCATION"><code>TableProperties.WRITE_DATA_LOCATION</code></a> instead.</span></div>
 </td>
@@ -263,34 +712,47 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#applyClientRegionConfiguration-T-">org.apache.iceberg.aws.AwsProperties.applyClientRegionConfiguration(T)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#applyHttpClientConfigurations-T-">org.apache.iceberg.aws.AwsProperties.applyHttpClientConfigurations(T)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#applyS3CredentialConfigurations-T-">org.apache.iceberg.aws.AwsProperties.applyS3CredentialConfigurations(T)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#applyS3EndpointConfigurations-T-">org.apache.iceberg.aws.AwsProperties.applyS3EndpointConfigurations(T)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#applyS3ServiceConfigurations-T-">org.apache.iceberg.aws.AwsProperties.applyS3ServiceConfigurations(T)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#applyS3SignerConfiguration-T-">org.apache.iceberg.aws.AwsProperties.applyS3SignerConfiguration(T)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/iceberg/transforms/Transforms.html#bucket-org.apache.iceberg.types.Type-int-">org.apache.iceberg.transforms.Transforms.bucket(Type, int)</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#bucket-int-"><code>Transforms.bucket(int)</code></a> instead; will be removed in 2.0.0</span></div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/rest/HTTPClient.html#builder--">org.apache.iceberg.rest.HTTPClient.builder()</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/HTTPClient.html#builder-java.util.Map-"><code>HTTPClient.builder(Map)</code></a></span></div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-">org.apache.iceberg.spark.data.vectorized.VectorizedSparkParquetReaders.buildReader(Schema, MessageType, boolean)</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>VectorizedSparkParquetReaders.buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-java.util.Map-">org.apache.iceberg.spark.data.vectorized.VectorizedSparkParquetReaders.buildReader(Schema, MessageType, boolean, Map&lt;Integer, ?&gt;)</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>VectorizedSparkParquetReaders.buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-java.util.Map-org.apache.iceberg.data.DeleteFilter-">org.apache.iceberg.spark.data.vectorized.VectorizedSparkParquetReaders.buildReader(Schema, MessageType, boolean, Map&lt;Integer, ?&gt;, DeleteFilter&lt;InternalRow&gt;)</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>VectorizedSparkParquetReaders.buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colOne"><a href="org/apache/iceberg/aws/AwsClientFactories.html#configureEndpoint-T-java.lang.String-">org.apache.iceberg.aws.AwsClientFactories.configureEndpoint(T, String)</a>
 <div class="block"><span class="deprecationComment">Not for public use. To configure the endpoint for a client, please use <a href="org/apache/iceberg/aws/AwsProperties.html#applyS3EndpointConfigurations-T-"><code>AwsProperties.applyS3EndpointConfigurations(S3ClientBuilder)</code></a>, <a href="org/apache/iceberg/aws/AwsProperties.html#applyGlueEndpointConfigurations-T-"><code>AwsProperties.applyGlueEndpointConfigurations(GlueClientBuilder)</code></a>, or <a href="org/apache/iceberg/aws/AwsProperties.html#applyDynamoDbEndpointConfigurations-T-"><code>AwsProperties.applyDynamoDbEndpointConfigurations(DynamoDbClientBuilder)</code></a> accordingly. It
      will be removed in 2.0.0</span></div>
@@ -323,8 +785,8 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/spark/SparkReadConf.html#fileScanTaskSetId--">org.apache.iceberg.spark.SparkReadConf.fileScanTaskSetId()</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/SparkReadConf.html#scanTaskSetId--"><code>SparkReadConf.scanTaskSetId()</code></a> instead</span></div>
+<td class="colOne"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#fixedLengthDecimalBatchReader--">org.apache.iceberg.arrow.vectorized.parquet.VectorizedColumnIterator.fixedLengthDecimalBatchReader()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -333,21 +795,10 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-">org.apache.iceberg.spark.Spark3Util.getPartitions(SparkSession, Path, String, Map&lt;String, String&gt;)</a>
-<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-org.apache.iceberg.PartitionSpec-"><code>Spark3Util.getPartitions(SparkSession, Path, String, Map,
-     PartitionSpec)</code></a></span></div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#getTokenNames--">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.getTokenNames()</a></td>
 </tr>
-<tr class="altColor">
-<td class="colOne"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#getTokenNames--">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.getTokenNames()</a></td>
-</tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/iceberg/Partitioning.html#groupingKeyType-java.util.Collection-">org.apache.iceberg.Partitioning.groupingKeyType(Collection&lt;PartitionSpec&gt;)</a>
-<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/Partitioning.html#groupingKeyType-org.apache.iceberg.Schema-java.util.Collection-"><code>Partitioning.groupingKeyType(Schema, Collection)</code></a> instead; will be removed in 1.3.0</span></div>
-</td>
+<td class="colOne"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#getTokenNames--">org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsLexer.getTokenNames()</a></td>
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="org/apache/iceberg/transforms/Transforms.html#hour-org.apache.iceberg.types.Type-">org.apache.iceberg.transforms.Transforms.hour(Type)</a>
@@ -360,61 +811,252 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/spark/SparkTableUtil.html#listPartition-org.apache.iceberg.spark.SparkTableUtil.SparkPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.hadoop.SerializableConfiguration-org.apache.iceberg.MetricsConfig-">org.apache.iceberg.spark.SparkTableUtil.listPartition(SparkTableUtil.SparkPartition, PartitionSpec, SerializableConfiguration, MetricsConfig)</a>
-<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec,
-     Configuration, MetricsConfig, NameMapping)</code></a></span></div>
+<td class="colOne"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#intBackedDecimalBatchReader--">org.apache.iceberg.arrow.vectorized.parquet.VectorizedColumnIterator.intBackedDecimalBatchReader()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/iceberg/spark/SparkTableUtil.html#listPartition-org.apache.iceberg.spark.SparkTableUtil.SparkPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.hadoop.SerializableConfiguration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-">org.apache.iceberg.spark.SparkTableUtil.listPartition(SparkTableUtil.SparkPartition, PartitionSpec, SerializableConfiguration, MetricsConfig, NameMapping)</a>
-<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec,
-     Configuration, MetricsConfig, NameMapping)</code></a></span></div>
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#isS3ChecksumEnabled--">org.apache.iceberg.aws.AwsProperties.isS3ChecksumEnabled()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/spark/SparkTableUtil.html#loadCatalogMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-">org.apache.iceberg.spark.SparkTableUtil.loadCatalogMetadataTable(SparkSession, Table, MetadataTableType)</a>
-<div class="block"><span class="deprecationComment">since 0.14.0, will be removed in 0.15.0; use <a href="org/apache/iceberg/spark/SparkTableUtil.html#loadMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-"><code>SparkTableUtil.loadMetadataTable(SparkSession, Table, MetadataTableType)</code></a>.</span></div>
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#isS3DeleteEnabled--">org.apache.iceberg.aws.AwsProperties.isS3DeleteEnabled()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#longBackedDecimalBatchReader--">org.apache.iceberg.arrow.vectorized.parquet.VectorizedColumnIterator.longBackedDecimalBatchReader()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/iceberg/transforms/Transforms.html#month-org.apache.iceberg.types.Type-">org.apache.iceberg.transforms.Transforms.month(Type)</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/transforms/Transforms.html#month--"><code>Transforms.month()</code></a> instead; will be removed in 2.0.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/iceberg/BaseMetadataTable.html#operations--">org.apache.iceberg.BaseMetadataTable.operations()</a>
-<div class="block"><span class="deprecationComment">will be removed in 2.0.0; do not use metadata table TableOperations</span></div>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; do not use metadata table TableOperations</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#properties-java.util.Map-">org.apache.iceberg.flink.source.FlinkSource.Builder.properties(Map&lt;String, String&gt;)</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#setAll-java.util.Map-"><code>FlinkSource.Builder.setAll(java.util.Map&lt;java.lang.String, java.lang.String&gt;)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/iceberg/flink/source/IcebergSource.Builder.html#properties-java.util.Map-">org.apache.iceberg.flink.source.IcebergSource.Builder.properties(Map&lt;String, String&gt;)</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/iceberg/flink/source/IcebergSource.Builder.html#setAll-java.util.Map-"><code>IcebergSource.Builder.setAll(java.util.Map&lt;java.lang.String, java.lang.String&gt;)</code></a> instead.</span></div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/RewriteFiles.html#rewriteFiles-java.util.Set-java.util.Set-">org.apache.iceberg.RewriteFiles.rewriteFiles(Set&lt;DataFile&gt;, Set&lt;DataFile&gt;)</a>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
+</td>
+</tr>
 <tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/RewriteFiles.html#rewriteFiles-java.util.Set-java.util.Set-long-">org.apache.iceberg.RewriteFiles.rewriteFiles(Set&lt;DataFile&gt;, Set&lt;DataFile&gt;, long)</a>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/RewriteFiles.html#rewriteFiles-java.util.Set-java.util.Set-java.util.Set-java.util.Set-">org.apache.iceberg.RewriteFiles.rewriteFiles(Set&lt;DataFile&gt;, Set&lt;DeleteFile&gt;, Set&lt;DataFile&gt;, Set&lt;DeleteFile&gt;)</a>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3BucketToAccessPointMapping--">org.apache.iceberg.aws.AwsProperties.s3BucketToAccessPointMapping()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/iceberg/aws/AwsClientFactories.html#s3Configuration-java.lang.Boolean-java.lang.Boolean-">org.apache.iceberg.aws.AwsClientFactories.s3Configuration(Boolean, Boolean)</a>
 <div class="block"><span class="deprecationComment">Not for public use. To build an S3Configuration object, use
      S3Configuration.builder() directly. It will be removed in 2.0.0</span></div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3DeleteTags--">org.apache.iceberg.aws.AwsProperties.s3DeleteTags()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">org.apache.iceberg.jdbc.JdbcCatalog.setConf(Configuration)</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-java.lang.Object-"><code>JdbcCatalog.setConf(Object)</code></a></span></div>
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoAcl--">org.apache.iceberg.aws.AwsProperties.s3FileIoAcl()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">org.apache.iceberg.rest.RESTSessionCatalog.setConf(Configuration)</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-java.lang.Object-"><code>RESTSessionCatalog.setConf(Object)</code></a></span></div>
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoDeleteBatchSize--">org.apache.iceberg.aws.AwsProperties.s3FileIoDeleteBatchSize()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/rest/RESTCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">org.apache.iceberg.rest.RESTCatalog.setConf(Configuration)</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/RESTCatalog.html#setConf-java.lang.Object-"><code>RESTCatalog.setConf(Object)</code></a></span></div>
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoDeleteThreads--">org.apache.iceberg.aws.AwsProperties.s3FileIoDeleteThreads()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoMultiPartSize--">org.apache.iceberg.aws.AwsProperties.s3FileIoMultiPartSize()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIOMultipartThresholdFactor--">org.apache.iceberg.aws.AwsProperties.s3FileIOMultipartThresholdFactor()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoMultipartUploadThreads--">org.apache.iceberg.aws.AwsProperties.s3FileIoMultipartUploadThreads()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseKey--">org.apache.iceberg.aws.AwsProperties.s3FileIoSseKey()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseMd5--">org.apache.iceberg.aws.AwsProperties.s3FileIoSseMd5()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseType--">org.apache.iceberg.aws.AwsProperties.s3FileIoSseType()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3fileIoStagingDirectory--">org.apache.iceberg.aws.AwsProperties.s3fileIoStagingDirectory()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3PreloadClientEnabled--">org.apache.iceberg.aws.AwsProperties.s3PreloadClientEnabled()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3WriteNamespaceTagEnabled--">org.apache.iceberg.aws.AwsProperties.s3WriteNamespaceTagEnabled()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3WriteTableTagEnabled--">org.apache.iceberg.aws.AwsProperties.s3WriteTableTagEnabled()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#s3WriteTags--">org.apache.iceberg.aws.AwsProperties.s3WriteTags()</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3ChecksumEnabled-boolean-">org.apache.iceberg.aws.AwsProperties.setS3ChecksumEnabled(boolean)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3DeleteEnabled-boolean-">org.apache.iceberg.aws.AwsProperties.setS3DeleteEnabled(boolean)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoAcl-software.amazon.awssdk.services.s3.model.ObjectCannedACL-">org.apache.iceberg.aws.AwsProperties.setS3FileIoAcl(ObjectCannedACL)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoDeleteBatchSize-int-">org.apache.iceberg.aws.AwsProperties.setS3FileIoDeleteBatchSize(int)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoDeleteThreads-int-">org.apache.iceberg.aws.AwsProperties.setS3FileIoDeleteThreads(int)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultiPartSize-int-">org.apache.iceberg.aws.AwsProperties.setS3FileIoMultiPartSize(int)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultipartThresholdFactor-double-">org.apache.iceberg.aws.AwsProperties.setS3FileIoMultipartThresholdFactor(double)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultipartUploadThreads-int-">org.apache.iceberg.aws.AwsProperties.setS3FileIoMultipartUploadThreads(int)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseKey-java.lang.String-">org.apache.iceberg.aws.AwsProperties.setS3FileIoSseKey(String)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseMd5-java.lang.String-">org.apache.iceberg.aws.AwsProperties.setS3FileIoSseMd5(String)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseType-java.lang.String-">org.apache.iceberg.aws.AwsProperties.setS3FileIoSseType(String)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3fileIoStagingDirectory-java.lang.String-">org.apache.iceberg.aws.AwsProperties.setS3fileIoStagingDirectory(String)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3PreloadClientEnabled-boolean-">org.apache.iceberg.aws.AwsProperties.setS3PreloadClientEnabled(boolean)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3WriteNamespaceTagEnabled-boolean-">org.apache.iceberg.aws.AwsProperties.setS3WriteNamespaceTagEnabled(boolean)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3WriteTableTagEnabled-boolean-">org.apache.iceberg.aws.AwsProperties.setS3WriteTableTagEnabled(boolean)</a>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -436,50 +1078,6 @@
 </table>
 </li>
 </ul>
-<a name="constructor">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Constructors table, listing deprecated constructors, and an explanation">
-<caption><span>Deprecated Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-">org.apache.iceberg.rest.auth.OAuth2Util.AuthSession(Map&lt;String, String&gt;, String, String)</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-java.lang.String-java.lang.String-"><code>AuthSession(Map, String, String,
-     String, String)</code></a> instead.</span></div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#BaseFileGroupRewriteResult-org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo-int-int-">org.apache.iceberg.actions.BaseFileGroupRewriteResult(RewriteDataFiles.FileGroupInfo, int, int)</a>
-<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; use <code>BaseFileGroupRewriteResult#BaseFileGroupRewriteResult(FileGroupInfo, int, int, long)</code>
-     instead.</span></div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/BaseMetadataTable.html#BaseMetadataTable-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-java.lang.String-">org.apache.iceberg.BaseMetadataTable(TableOperations, Table, String)</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use BaseMetadataTable(Table, String) instead.</span></div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="org/apache/iceberg/DataTableScan.html#DataTableScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-">org.apache.iceberg.DataTableScan(TableOperations, Table)</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use DataTableScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><a href="org/apache/iceberg/DataTableScan.html#DataTableScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">org.apache.iceberg.DataTableScan(TableOperations, Table, Schema, TableScanContext)</a>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use DataTableScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/javadoc/index-all.html b/javadoc/index-all.html
index a8ca438..fe99cbf 100644
--- a/javadoc/index-all.html
+++ b/javadoc/index-all.html
@@ -72,6 +72,11 @@
 </a>
 <h2 class="title">A</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html#abort-org.apache.iceberg.actions.RewritePositionDeletesGroup-">abort(RewritePositionDeletesGroup)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesCommitManager</a></dt>
+<dd>
+<div class="block">Clean up a specified file set by removing any files created for that operation, should not
+ throw any exceptions.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BaseTaskWriter.html#abort--">abort()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BaseTaskWriter.html" title="class in org.apache.iceberg.io">BaseTaskWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/TaskWriter.html#abort--">abort()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/TaskWriter.html" title="interface in org.apache.iceberg.io">TaskWriter</a></dt>
@@ -83,6 +88,10 @@
 <div class="block">Clean up a specified file set by removing any files created for that operation, should not
  throw any exceptions</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#abortFileGroup-org.apache.iceberg.actions.RewriteFileGroup-">abortFileGroup(RewriteFileGroup)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager.CommitService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.CommitService.html#abortFileGroup-org.apache.iceberg.actions.RewritePositionDeletesGroup-">abortFileGroup(RewritePositionDeletesGroup)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesCommitManager.CommitService</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergOutputCommitter.html#abortJob-org.apache.hadoop.mapred.JobContext-int-">abortJob(JobContext, int)</a></span> - Method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergOutputCommitter.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergOutputCommitter</a></dt>
 <dd>
 <div class="block">Removes the generated data files if there is a commit file already generated for them.</div>
@@ -101,6 +110,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/mapred/AbstractMapredIcebergRecordReader.html#AbstractMapredIcebergRecordReader-org.apache.iceberg.mr.mapreduce.IcebergInputFormat-org.apache.iceberg.mr.mapreduce.IcebergSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">AbstractMapredIcebergRecordReader(IcebergInputFormat&lt;?&gt;, IcebergSplit, JobConf, Reporter)</a></span> - Constructor for class org.apache.iceberg.mr.mapred.<a href="org/apache/iceberg/mr/mapred/AbstractMapredIcebergRecordReader.html" title="class in org.apache.iceberg.mr.mapred">AbstractMapredIcebergRecordReader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ACCELERATION_ENABLED">ACCELERATION_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Determines if S3 client will use the Acceleration Mode, default to false.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ACCELERATION_ENABLED_DEFAULT">ACCELERATION_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HiddenPathFilter.html#accept-org.apache.hadoop.fs.Path-">accept(Path)</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HiddenPathFilter.html" title="class in org.apache.iceberg.hadoop">HiddenPathFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.AddPartitionFieldContext.html#accept-org.antlr.v4.runtime.tree.ParseTreeVisitor-">accept(ParseTreeVisitor&lt;? extends T&gt;)</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.AddPartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.AddPartitionFieldContext</a></dt>
@@ -217,10 +232,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteSpecContext.html#accept-org.antlr.v4.runtime.tree.ParseTreeVisitor-">accept(ParseTreeVisitor&lt;? extends T&gt;)</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteSpecContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ACCESS_KEY_ID">ACCESS_KEY_ID</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Configure the static access key ID used to access S3FileIO.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ACCESS_POINTS_PREFIX">ACCESS_POINTS_PREFIX</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Used by <a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a>, prefix used for bucket access point configuration.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/auth/OAuth2Properties.html#ACCESS_TOKEN_TYPE">ACCESS_TOKEN_TYPE</a></span> - Static variable in class org.apache.iceberg.rest.auth.<a href="org/apache/iceberg/rest/auth/OAuth2Properties.html" title="class in org.apache.iceberg.rest.auth">OAuth2Properties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#accessKeyId--">accessKeyId()</a></span> - Method in class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#accessKeyId--">accessKeyId()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#accessKeySecret--">accessKeySecret()</a></span> - Method in class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/Accessor.html" title="interface in org.apache.iceberg"><span class="typeNameLink">Accessor</span></a>&lt;<a href="org/apache/iceberg/Accessor.html" title="type parameter in Accessor">T</a>&gt; - Interface in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -237,6 +262,12 @@
 <dd>
 <div class="block">Position2Accessor and Position3Accessor here is an optimization.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ACL">ACL</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Used to configure canned access control list (ACL) for S3 client to use during write.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#acl--">acl()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/dynamodb/DynamoDbLockManager.html#acquire-java.lang.String-java.lang.String-">acquire(String, String)</a></span> - Method in class org.apache.iceberg.aws.dynamodb.<a href="org/apache/iceberg/aws/dynamodb/DynamoDbLockManager.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbLockManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/LockManager.html#acquire-java.lang.String-java.lang.String-">acquire(String, String)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/LockManager.html" title="interface in org.apache.iceberg">LockManager</a></dt>
@@ -395,6 +426,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestFile.html#ADDED_ROWS_COUNT">ADDED_ROWS_COUNT</a></span> - Static variable in interface org.apache.iceberg.<a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#addedBytes--">addedBytes()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html#addedBytesCount--">addedBytesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupRewriteResult</a></dt>
+<dd>
+<div class="block">Returns the number of bytes of newly added position delete files in this group.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#addedBytesCount--">addedBytesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a></dt>
+<dd>
+<div class="block">Returns the number of bytes of newly added position delete files</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFilesActionResult.html#addedDataFiles--">addedDataFiles()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesActionResult.html" title="class in org.apache.iceberg.actions">RewriteDataFilesActionResult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/metrics/CommitMetricsResult.html#addedDataFiles--">addedDataFiles()</a></span> - Method in interface org.apache.iceberg.metrics.<a href="org/apache/iceberg/metrics/CommitMetricsResult.html" title="interface in org.apache.iceberg.metrics">CommitMetricsResult</a></dt>
@@ -404,20 +445,28 @@
 <div class="block">Return all data files added to the table in this snapshot.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#addedDataFilesCount--">addedDataFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html#addedDataFilesCount--">addedDataFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html#addedDataFilesCount--">addedDataFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#addedDeleteFiles--">addedDeleteFiles()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/metrics/CommitMetricsResult.html#addedDeleteFiles--">addedDeleteFiles()</a></span> - Method in interface org.apache.iceberg.metrics.<a href="org/apache/iceberg/metrics/CommitMetricsResult.html" title="interface in org.apache.iceberg.metrics">CommitMetricsResult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Snapshot.html#addedDeleteFiles-org.apache.iceberg.io.FileIO-">addedDeleteFiles(FileIO)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></dt>
 <dd>
 <div class="block">Return all delete files added to the table in this snapshot.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html#addedDeleteFilesCount--">addedDeleteFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupRewriteResult</a></dt>
+<dd>
+<div class="block">Returns the count of the added position delete files in this group.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#addedDeleteFilesCount--">addedDeleteFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a></dt>
 <dd>
-<div class="block">Returns the count of the added delete files.</div>
+<div class="block">Returns the count of the added position delete files.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DeletedRowsScanTask.html#addedDeletes--">addedDeletes()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/DeletedRowsScanTask.html" title="interface in org.apache.iceberg">DeletedRowsScanTask</a></dt>
 <dd>
@@ -446,7 +495,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotSummary.Builder.html#addedManifest-org.apache.iceberg.ManifestFile-">addedManifest(ManifestFile)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotSummary.Builder.html" title="class in org.apache.iceberg">SnapshotSummary.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html#addedManifests--">addedManifests()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">BaseRewriteManifestsActionResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteManifests.Result.html#addedManifests--">addedManifests()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions">RewriteManifests.Result</a></dt>
 <dd>
 <div class="block">Returns added manifests.</div>
@@ -500,6 +551,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseReplacePartitions.html#addFile-org.apache.iceberg.DataFile-">addFile(DataFile)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseReplacePartitions.html" title="class in org.apache.iceberg">BaseReplacePartitions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html#addFile-java.lang.String-byte:A-">addFile(String, byte[])</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">InMemoryFileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/OverwriteFiles.html#addFile-org.apache.iceberg.DataFile-">addFile(DataFile)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></dt>
 <dd>
 <div class="block">Add a <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to the table.</div>
@@ -508,6 +561,18 @@
 <dd>
 <div class="block">Add a <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to the table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteFiles.html#addFile-org.apache.iceberg.DataFile-">addFile(DataFile)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></dt>
+<dd>
+<div class="block">Add a new data file.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteFiles.html#addFile-org.apache.iceberg.DeleteFile-">addFile(DeleteFile)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></dt>
+<dd>
+<div class="block">Add a new delete file.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteFiles.html#addFile-org.apache.iceberg.DeleteFile-long-">addFile(DeleteFile, long)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></dt>
+<dd>
+<div class="block">Add a new delete file with the given data sequence number.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseRewriteManifests.html#addManifest-org.apache.iceberg.ManifestFile-">addManifest(ManifestFile)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseRewriteManifests.html" title="class in org.apache.iceberg">BaseRewriteManifests</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteManifests.html#addManifest-org.apache.iceberg.ManifestFile-">addManifest(ManifestFile)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RewriteManifests.html" title="interface in org.apache.iceberg">RewriteManifests</a></dt>
@@ -817,6 +882,10 @@
 <dd>
 <div class="block">Calls alter_table method using the metastore client.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/MetastoreUtil.html#alterTable-org.apache.hadoop.hive.metastore.IMetaStoreClient-java.lang.String-java.lang.String-org.apache.hadoop.hive.metastore.api.Table-java.util.Map-">alterTable(IMetaStoreClient, String, String, Table, Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/MetastoreUtil.html" title="class in org.apache.iceberg.hive">MetastoreUtil</a></dt>
+<dd>
+<div class="block">Calls alter_table method using the metastore client.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkCachedTableCatalog.html#alterTable-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.connector.catalog.TableChange...-">alterTable(Identifier, TableChange...)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkCachedTableCatalog.html" title="class in org.apache.iceberg.spark">SparkCachedTableCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkCatalog.html#alterTable-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.connector.catalog.TableChange...-">alterTable(Identifier, TableChange...)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></dt>
@@ -871,11 +940,47 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html#and-R-R-">and(R, R)</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.ExpressionVisitor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS">APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure the connection acquisition timeout in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_CONNECTION_MAX_IDLE_TIME_MS">APACHE_CONNECTION_MAX_IDLE_TIME_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure the connection max idle time in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_CONNECTION_TIME_TO_LIVE_MS">APACHE_CONNECTION_TIME_TO_LIVE_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure the connection time to live in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_CONNECTION_TIMEOUT_MS">APACHE_CONNECTION_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure the connection timeout in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/puffin/StandardBlobTypes.html#APACHE_DATASKETCHES_THETA_V1">APACHE_DATASKETCHES_THETA_V1</a></span> - Static variable in class org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/StandardBlobTypes.html" title="class in org.apache.iceberg.puffin">StandardBlobTypes</a></dt>
 <dd>
 <div class="block">A serialized form of a "compact" Theta sketch produced by the <a
  href="https://datasketches.apache.org/">Apache DataSketches</a> library</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_EXPECT_CONTINUE_ENABLED">APACHE_EXPECT_CONTINUE_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure whether to enable the expect continue setting for <code>ApacheHttpClient.Builder</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_MAX_CONNECTIONS">APACHE_MAX_CONNECTIONS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure the max connections number for <code>ApacheHttpClient.Builder</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_SOCKET_TIMEOUT_MS">APACHE_SOCKET_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure the socket timeout in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_TCP_KEEP_ALIVE_ENABLED">APACHE_TCP_KEEP_ALIVE_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure whether to enable the tcp keep alive setting for <code>ApacheHttpClient.Builder</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED">APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure whether to use idle connection reaper for <code>ApacheHttpClient.Builder</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#APP_ID">APP_ID</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DataOperations.html#APPEND">APPEND</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/DataOperations.html" title="class in org.apache.iceberg">DataOperations</a></dt>
@@ -956,14 +1061,27 @@
 <dd>
 <div class="block">Configure the credential provider for AWS clients.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#applyClientRegionConfiguration-T-">applyClientRegionConfiguration(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientProperties.html#applyClientRegionConfiguration-T-">applyClientRegionConfiguration(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></dt>
 <dd>
 <div class="block">Configure a client AWS region.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#applyClientRegionConfiguration-T-">applyClientRegionConfiguration(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#applyCredentialConfigurations-org.apache.iceberg.aws.AwsClientProperties-T-">applyCredentialConfigurations(AwsClientProperties, T)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#applyDynamoDbEndpointConfigurations-T-">applyDynamoDbEndpointConfigurations(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
 <div class="block">Override the endpoint for a dynamoDb client.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#applyEndpointConfigurations-T-">applyEndpointConfigurations(T)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Override the endpoint for an S3 client.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/IcebergTableSource.html#applyFilters-java.util.List-">applyFilters(List&lt;ResolvedExpression&gt;)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/IcebergTableSource.html" title="class in org.apache.iceberg.flink.source">IcebergTableSource</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#applyGlueEndpointConfigurations-T-">applyGlueEndpointConfigurations(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
@@ -972,6 +1090,13 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#applyHttpClientConfigurations-T-">applyHttpClientConfigurations(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#applyHttpClientConfigurations-T-">applyHttpClientConfigurations(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
 <div class="block">Configure the httpClient for a client according to the HttpClientType.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/IcebergTableSource.html#applyLimit-long-">applyLimit(long)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/IcebergTableSource.html" title="class in org.apache.iceberg.flink.source">IcebergTableSource</a></dt>
@@ -988,19 +1113,31 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#applyS3CredentialConfigurations-T-">applyS3CredentialConfigurations(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Configure the credentials for an S3 client.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#applyS3EndpointConfigurations-T-">applyS3EndpointConfigurations(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Override the endpoint for an S3 client.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#applyS3ServiceConfigurations-T-">applyS3ServiceConfigurations(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Configure services settings for an S3 client.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#applyS3SignerConfiguration-T-">applyS3SignerConfiguration(T)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Configure a signer for an S3 client.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#applySchemaChanges-org.apache.iceberg.UpdateSchema-java.util.List-">applySchemaChanges(UpdateSchema, List&lt;TableChange&gt;)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
 <dd>
@@ -1008,6 +1145,14 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/PropertyUtil.html#applySchemaChanges-java.util.Map-java.util.List-java.util.Map-java.util.Set-">applySchemaChanges(Map&lt;String, String&gt;, List&lt;String&gt;, Map&lt;String, String&gt;, Set&lt;String&gt;)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/PropertyUtil.html" title="class in org.apache.iceberg.util">PropertyUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#applyServiceConfigurations-T-">applyServiceConfigurations(T)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Configure services settings for an S3 client.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#applySignerConfiguration-T-">applySignerConfiguration(T)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Configure a signer for an S3 client.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/IcebergTableSink.html#applyStaticPartition-java.util.Map-">applyStaticPartition(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/IcebergTableSink.html" title="class in org.apache.iceberg.flink">IcebergTableSink</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.AddPartitionSpec.html#applyTo-org.apache.iceberg.TableMetadata.Builder-">applyTo(TableMetadata.Builder)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.AddPartitionSpec.html" title="class in org.apache.iceberg">MetadataUpdate.AddPartitionSpec</a></dt>
@@ -1244,6 +1389,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteFileGroup.html#asResult--">asResult()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#asResult--">asResult()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/requests/UpdateTableRequest.UpdateRequirement.AssertLastAssignedFieldId.html#AssertLastAssignedFieldId-int-">AssertLastAssignedFieldId(int)</a></span> - Constructor for class org.apache.iceberg.rest.requests.<a href="org/apache/iceberg/rest/requests/UpdateTableRequest.UpdateRequirement.AssertLastAssignedFieldId.html" title="class in org.apache.iceberg.rest.requests">UpdateTableRequest.UpdateRequirement.AssertLastAssignedFieldId</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/requests/UpdateTableRequest.UpdateRequirement.AssertLastAssignedPartitionId.html#AssertLastAssignedPartitionId-int-">AssertLastAssignedPartitionId(int)</a></span> - Constructor for class org.apache.iceberg.rest.requests.<a href="org/apache/iceberg/rest/requests/UpdateTableRequest.UpdateRequirement.AssertLastAssignedPartitionId.html" title="class in org.apache.iceberg.rest.requests">UpdateTableRequest.UpdateRequirement.AssertLastAssignedPartitionId</a></dt>
@@ -1327,33 +1474,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/metrics/CommitMetricsResult.html#attempts--">attempts()</a></span> - Method in interface org.apache.iceberg.metrics.<a href="org/apache/iceberg/metrics/CommitMetricsResult.html" title="interface in org.apache.iceberg.metrics">CommitMetricsResult</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#AUTH_DEFAULT_REFRESH_ENABLED">AUTH_DEFAULT_REFRESH_ENABLED</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; Use <a href="org/apache/iceberg/rest/auth/OAuth2Properties.html#TOKEN_REFRESH_ENABLED"><code>OAuth2Properties.TOKEN_REFRESH_ENABLED</code></a> to control token
-     refresh behavior.</span></div>
-</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT">AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; Use <a href="org/apache/iceberg/rest/auth/OAuth2Properties.html#TOKEN_REFRESH_ENABLED_DEFAULT"><code>OAuth2Properties.TOKEN_REFRESH_ENABLED_DEFAULT</code></a> to control
-     default token refresh behavior.</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#AUTH_SESSION_TIMEOUT_MS">AUTH_SESSION_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#AUTH_SESSION_TIMEOUT_MS_DEFAULT">AUTH_SESSION_TIMEOUT_MS_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/auth/OAuth2Util.html#authHeaders-java.lang.String-">authHeaders(String)</a></span> - Static method in class org.apache.iceberg.rest.auth.<a href="org/apache/iceberg/rest/auth/OAuth2Util.html" title="class in org.apache.iceberg.rest.auth">OAuth2Util</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-">AuthSession(Map&lt;String, String&gt;, String, String)</a></span> - Constructor for class org.apache.iceberg.rest.auth.<a href="org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html" title="class in org.apache.iceberg.rest.auth">OAuth2Util.AuthSession</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-java.lang.String-java.lang.String-"><code>AuthSession(Map, String, String,
-     String, String)</code></a> instead.</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">AuthSession(Map&lt;String, String&gt;, String, String, String, String)</a></span> - Constructor for class org.apache.iceberg.rest.auth.<a href="org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html" title="class in org.apache.iceberg.rest.auth">OAuth2Util.AuthSession</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/avro/Avro.html" title="class in org.apache.iceberg.avro"><span class="typeNameLink">Avro</span></a> - Class in <a href="org/apache/iceberg/avro/package-summary.html">org.apache.iceberg.avro</a></dt>
@@ -1388,7 +1514,7 @@
 <dd>
 <div class="block">Read Iceberg rows as <code>GenericRecord</code>.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/reader/AvroGenericRecordReaderFunction.html#AvroGenericRecordReaderFunction-java.lang.String-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-">AvroGenericRecordReaderFunction(String, ReadableConfig, Schema, Schema, String, boolean, FileIO, EncryptionManager)</a></span> - Constructor for class org.apache.iceberg.flink.source.reader.<a href="org/apache/iceberg/flink/source/reader/AvroGenericRecordReaderFunction.html" title="class in org.apache.iceberg.flink.source.reader">AvroGenericRecordReaderFunction</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/reader/AvroGenericRecordReaderFunction.html#AvroGenericRecordReaderFunction-java.lang.String-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-java.util.List-">AvroGenericRecordReaderFunction(String, ReadableConfig, Schema, Schema, String, boolean, FileIO, EncryptionManager, List&lt;Expression&gt;)</a></span> - Constructor for class org.apache.iceberg.flink.source.reader.<a href="org/apache/iceberg/flink/source/reader/AvroGenericRecordReaderFunction.html" title="class in org.apache.iceberg.flink.source.reader">AvroGenericRecordReaderFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/flink/sink/AvroGenericRecordToRowDataMapper.html" title="class in org.apache.iceberg.flink.sink"><span class="typeNameLink">AvroGenericRecordToRowDataMapper</span></a> - Class in <a href="org/apache/iceberg/flink/sink/package-summary.html">org.apache.iceberg.flink.sink</a></dt>
 <dd>
@@ -1428,6 +1554,12 @@
 <dd>
 <div class="block">Interface to customize AWS clients used by Iceberg.</div>
 </dd>
+<dt><a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">AwsClientProperties</span></a> - Class in <a href="org/apache/iceberg/aws/package-summary.html">org.apache.iceberg.aws</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientProperties.html#AwsClientProperties--">AwsClientProperties()</a></span> - Constructor for class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientProperties.html#AwsClientProperties-java.util.Map-">AwsClientProperties(Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AssumeRoleAwsClientFactory.html#awsProperties--">awsProperties()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AssumeRoleAwsClientFactory.html" title="class in org.apache.iceberg.aws">AssumeRoleAwsClientFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">AwsProperties</span></a> - Class in <a href="org/apache/iceberg/aws/package-summary.html">org.apache.iceberg.aws</a></dt>
@@ -1475,42 +1607,47 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseCombinedScanTask.html#BaseCombinedScanTask-java.util.List-">BaseCombinedScanTask(List&lt;FileScanTask&gt;)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/BaseCombinedScanTask.html" title="class in org.apache.iceberg">BaseCombinedScanTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseDeleteOrphanFilesActionResult</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html#BaseDeleteOrphanFilesActionResult-java.lang.Iterable-">BaseDeleteOrphanFilesActionResult(Iterable&lt;String&gt;)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteOrphanFilesActionResult</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseDeleteReachableFilesActionResult</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#BaseDeleteReachableFilesActionResult-long-long-long-long-">BaseDeleteReachableFilesActionResult(long, long, long, long)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#BaseDeleteReachableFilesActionResult-long-long-long-long-long-long-">BaseDeleteReachableFilesActionResult(long, long, long, long, long, long)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BaseTaskWriter.BaseEqualityDeltaWriter.html#BaseEqualityDeltaWriter-org.apache.iceberg.StructLike-org.apache.iceberg.Schema-org.apache.iceberg.Schema-">BaseEqualityDeltaWriter(StructLike, Schema, Schema)</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BaseTaskWriter.BaseEqualityDeltaWriter.html" title="class in org.apache.iceberg.io">BaseTaskWriter.BaseEqualityDeltaWriter</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseExpireSnapshotsActionResult</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0.</span></div>
-</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#BaseExpireSnapshotsActionResult-long-long-long-">BaseExpireSnapshotsActionResult(long, long, long)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#BaseExpireSnapshotsActionResult-long-long-long-long-long-">BaseExpireSnapshotsActionResult(long, long, long, long, long)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
-<dt><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseFileGroupRewriteResult</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#BaseFileGroupRewriteResult-org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo-int-int-">BaseFileGroupRewriteResult(RewriteDataFiles.FileGroupInfo, int, int)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; use <code>BaseFileGroupRewriteResult#BaseFileGroupRewriteResult(FileGroupInfo, int, int, long)</code>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableDeleteOrphanFiles.Result.builder()</code>
      instead.</span></div>
 </div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#BaseFileGroupRewriteResult-org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo-int-int-long-">BaseFileGroupRewriteResult(RewriteDataFiles.FileGroupInfo, int, int, long)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html#BaseDeleteOrphanFilesActionResult-java.lang.Iterable-">BaseDeleteOrphanFilesActionResult(Iterable&lt;String&gt;)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteOrphanFilesActionResult</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseDeleteReachableFilesActionResult</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableDeleteReachableFiles.Result.builder()</code>
+     instead.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#BaseDeleteReachableFilesActionResult-long-long-long-long-">BaseDeleteReachableFilesActionResult(long, long, long, long)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#BaseDeleteReachableFilesActionResult-long-long-long-long-long-long-">BaseDeleteReachableFilesActionResult(long, long, long, long, long, long)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BaseTaskWriter.BaseEqualityDeltaWriter.html#BaseEqualityDeltaWriter-org.apache.iceberg.StructLike-org.apache.iceberg.Schema-org.apache.iceberg.Schema-">BaseEqualityDeltaWriter(StructLike, Schema, Schema)</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BaseTaskWriter.BaseEqualityDeltaWriter.html" title="class in org.apache.iceberg.io">BaseTaskWriter.BaseEqualityDeltaWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseFileGroupRewriteResult</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.FileGroupRewriteResult.builder()</code> instead.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#BaseFileGroupRewriteResult-org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo-int-int-">BaseFileGroupRewriteResult(RewriteDataFiles.FileGroupInfo, int, int)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#BaseFileGroupRewriteResult-org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo-int-int-long-">BaseFileGroupRewriteResult(RewriteDataFiles.FileGroupInfo, int, int, long)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/iceberg/BaseFileScanTask.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseFileScanTask</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseFileScanTask.html#BaseFileScanTask-org.apache.iceberg.DataFile-org.apache.iceberg.DeleteFile:A-java.lang.String-java.lang.String-org.apache.iceberg.expressions.ResidualEvaluator-">BaseFileScanTask(DataFile, DeleteFile[], String, String, ResidualEvaluator)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/BaseFileScanTask.html" title="class in org.apache.iceberg">BaseFileScanTask</a></dt>
@@ -1527,12 +1664,6 @@
 <dd>
 <div class="block">Base class for metadata tables.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetadataTable.html#BaseMetadataTable-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-java.lang.String-">BaseMetadataTable(TableOperations, Table, String)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetadataTable.html" title="class in org.apache.iceberg">BaseMetadataTable</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use BaseMetadataTable(Table, String) instead.</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetadataTable.html#BaseMetadataTable-org.apache.iceberg.Table-java.lang.String-">BaseMetadataTable(Table, String)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetadataTable.html" title="class in org.apache.iceberg">BaseMetadataTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseMetastoreCatalog</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -1550,9 +1681,15 @@
 <dt><a href="org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg"><span class="typeNameLink">BaseMetastoreTableOperations.CommitStatus</span></a> - Enum in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseMigrateTableActionResult</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableMigrateTable.Result.builder()</code> instead.</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseMigrateTableActionResult.html#BaseMigrateTableActionResult-long-">BaseMigrateTableActionResult(long)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions">BaseMigrateTableActionResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/iceberg/BaseOverwriteFiles.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseOverwriteFiles</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseOverwriteFiles.html#BaseOverwriteFiles-java.lang.String-org.apache.iceberg.TableOperations-">BaseOverwriteFiles(String, TableOperations)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/BaseOverwriteFiles.html" title="class in org.apache.iceberg">BaseOverwriteFiles</a></dt>
@@ -1573,6 +1710,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">BasePositionDeltaWriter</span></a>&lt;<a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="type parameter in BasePositionDeltaWriter">T</a>&gt; - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html#BasePositionDeltaWriter-org.apache.iceberg.io.PartitioningWriter-org.apache.iceberg.io.PartitioningWriter-">BasePositionDeltaWriter(PartitioningWriter&lt;T, DataWriteResult&gt;, PartitioningWriter&lt;PositionDelete&lt;T&gt;, DeleteWriteResult&gt;)</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io">BasePositionDeltaWriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html#BasePositionDeltaWriter-org.apache.iceberg.io.PartitioningWriter-org.apache.iceberg.io.PartitioningWriter-org.apache.iceberg.io.PartitioningWriter-">BasePositionDeltaWriter(PartitioningWriter&lt;T, DataWriteResult&gt;, PartitioningWriter&lt;T, DataWriteResult&gt;, PartitioningWriter&lt;PositionDelete&lt;T&gt;, DeleteWriteResult&gt;)</a></span> - Constructor for class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io">BasePositionDeltaWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/BaseReplacePartitions.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseReplacePartitions</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -1584,19 +1723,39 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#BaseRewriteDataFilesAction-org.apache.iceberg.Table-">BaseRewriteDataFilesAction(Table)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseRewriteDataFilesFileGroupInfo</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.FileGroupInfo.builder()</code> instead.</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#BaseRewriteDataFilesFileGroupInfo-int-int-org.apache.iceberg.StructLike-">BaseRewriteDataFilesFileGroupInfo(int, int, StructLike)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesFileGroupInfo</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/BaseRewriteDataFilesResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseRewriteDataFilesResult</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.Result.builder()</code>
+     instead.</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesResult.html#BaseRewriteDataFilesResult-java.util.List-">BaseRewriteDataFilesResult(List&lt;RewriteDataFiles.FileGroupRewriteResult&gt;)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesResult.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/iceberg/BaseRewriteManifests.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseRewriteManifests</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseRewriteManifestsActionResult</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteManifests.Result.builder()</code>
+     instead.</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html#BaseRewriteManifestsActionResult-java.lang.Iterable-java.lang.Iterable-">BaseRewriteManifestsActionResult(Iterable&lt;ManifestFile&gt;, Iterable&lt;ManifestFile&gt;)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">BaseRewriteManifestsActionResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/iceberg/BaseScanTaskGroup.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseScanTaskGroup</span></a>&lt;<a href="org/apache/iceberg/BaseScanTaskGroup.html" title="type parameter in BaseScanTaskGroup">T</a> extends <a href="org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>&gt; - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseScanTaskGroup.html#BaseScanTaskGroup-org.apache.iceberg.StructLike-java.util.Collection-">BaseScanTaskGroup(StructLike, Collection&lt;T&gt;)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/BaseScanTaskGroup.html" title="class in org.apache.iceberg">BaseScanTaskGroup</a></dt>
@@ -1612,9 +1771,16 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html#baseSignerUri--">baseSignerUri()</a></span> - Method in class org.apache.iceberg.aws.s3.signer.<a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html" title="class in org.apache.iceberg.aws.s3.signer">S3V4RestSignerClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/BaseSnapshotTableActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseSnapshotTableActionResult</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableSnapshotTable.Result.builder()</code>
+     instead.</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseSnapshotTableActionResult.html#BaseSnapshotTableActionResult-long-">BaseSnapshotTableActionResult(long)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseSnapshotTableActionResult.html" title="class in org.apache.iceberg.actions">BaseSnapshotTableActionResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/iceberg/BaseTable.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseTable</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>
 <div class="block">Base <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation.</div>
@@ -1801,10 +1967,14 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BinPackStrategy</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
 <dd>
-<div class="block">A rewrite strategy for data files which determines which files to rewrite based on their size.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead.</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#BinPackStrategy--">BinPackStrategy()</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/iceberg/puffin/Blob.html" title="class in org.apache.iceberg.puffin"><span class="typeNameLink">Blob</span></a> - Class in <a href="org/apache/iceberg/puffin/package-summary.html">org.apache.iceberg.puffin</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/puffin/Blob.html#Blob-java.lang.String-java.util.List-long-long-java.nio.ByteBuffer-">Blob(String, List&lt;Integer&gt;, long, long, ByteBuffer)</a></span> - Constructor for class org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/Blob.html" title="class in org.apache.iceberg.puffin">Blob</a></dt>
@@ -1989,6 +2159,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/BucketFunction.BucketString.html#BucketString--">BucketString()</a></span> - Constructor for class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/BucketFunction.BucketString.html" title="class in org.apache.iceberg.spark.functions">BucketFunction.BucketString</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#bucketToAccessPointMapping--">bucketToAccessPointMapping()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/util/BucketUtil.html" title="class in org.apache.iceberg.util"><span class="typeNameLink">BucketUtil</span></a> - Class in <a href="org/apache/iceberg/util/package-summary.html">org.apache.iceberg.util</a></dt>
 <dd>
 <div class="block">Contains the logic for hashing various types for use with the <code>bucket</code> partition
@@ -2114,14 +2286,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html#build--">build()</a></span> - Method in interface org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures">SparkProcedures.ProcedureBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.html#build--">build()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.html" title="class in org.apache.iceberg.spark.source">SparkPositionDeletesRewriteBuilder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html#build--">build()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.Builder.html#build--">build()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html#build--">build()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriteBuilder</a></dt>
-<dd>
-<div class="block">Returns a logical delta write.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#buildAvroProjection-org.apache.avro.Schema-org.apache.iceberg.Schema-java.util.Map-">buildAvroProjection(Schema, Schema, Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/AvroSchemaUtil.html" title="class in org.apache.iceberg.avro">AvroSchemaUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html#buildChangelogScan--">buildChangelogScan()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></dt>
@@ -2152,10 +2322,6 @@
 <div class="block">Returns the first valid implementation as a BoundMethod or throws a NoSuchMethodException if
  there is none.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildCopyOnWriteDistribution-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.iceberg.DistributionMode-">buildCopyOnWriteDistribution(Table, RowLevelOperation.Command, DistributionMode)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildCopyOnWriteOrdering-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.spark.sql.connector.distributions.Distribution-">buildCopyOnWriteOrdering(Table, RowLevelOperation.Command, Distribution)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html#buildCopyOnWriteScan--">buildCopyOnWriteScan()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html#buildEqualityWriter--">buildEqualityWriter()</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DeleteWriteBuilder</a></dt>
@@ -2200,12 +2366,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/WriteResult.html#builder--">builder()</a></span> - Static method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/WriteResult.html" title="class in org.apache.iceberg.io">WriteResult</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/HTTPClient.html#builder--">builder()</a></span> - Static method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/HTTPClient.html" title="class in org.apache.iceberg.rest">HTTPClient</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/HTTPClient.html#builder-java.util.Map-"><code>HTTPClient.builder(Map)</code></a></span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/HTTPClient.html#builder-java.util.Map-">builder(Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/HTTPClient.html" title="class in org.apache.iceberg.rest">HTTPClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/requests/CreateNamespaceRequest.html#builder--">builder()</a></span> - Static method in class org.apache.iceberg.rest.requests.<a href="org/apache/iceberg/rest/requests/CreateNamespaceRequest.html" title="class in org.apache.iceberg.rest.requests">CreateNamespaceRequest</a></dt>
@@ -2248,6 +2408,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html#builder--">builder()</a></span> - Static method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html#builder--">builder()</a></span> - Static method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RewritePositionDeleteFilesProcedure</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/Tasks.Builder.html#Builder-java.lang.Iterable-">Builder(Iterable&lt;I&gt;)</a></span> - Constructor for class org.apache.iceberg.util.<a href="org/apache/iceberg/util/Tasks.Builder.html" title="class in org.apache.iceberg.util">Tasks.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/sink/FlinkSink.html#builderFor-org.apache.flink.streaming.api.datastream.DataStream-org.apache.flink.api.common.functions.MapFunction-org.apache.flink.api.common.typeinfo.TypeInformation-">builderFor(DataStream&lt;T&gt;, MapFunction&lt;T, RowData&gt;, TypeInformation&lt;RowData&gt;)</a></span> - Static method in class org.apache.iceberg.flink.sink.<a href="org/apache/iceberg/flink/sink/FlinkSink.html" title="class in org.apache.iceberg.flink.sink">FlinkSink</a></dt>
@@ -2316,10 +2478,6 @@
 <div class="block">Converts an Iceberg schema to a corresponding ORC schema within the context of an existing ORC
  file schema.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildPositionDeltaDistribution-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.iceberg.DistributionMode-">buildPositionDeltaDistribution(Table, RowLevelOperation.Command, DistributionMode)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildPositionDeltaOrdering-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-">buildPositionDeltaOrdering(Table, RowLevelOperation.Command)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html#buildPositionWriter--">buildPositionWriter()</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DeleteWriteBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/ORC.DeleteWriteBuilder.html#buildPositionWriter--">buildPositionWriter()</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/ORC.DeleteWriteBuilder.html" title="class in org.apache.iceberg.orc">ORC.DeleteWriteBuilder</a></dt>
@@ -2348,35 +2506,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkOrcReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.orc.TypeDescription-java.util.Map-">buildReader(Schema, TypeDescription, Map&lt;Integer, ?&gt;)</a></span> - Static method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkOrcReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkOrcReaders</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-">buildReader(Schema, MessageType, boolean)</a></span> - Static method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkParquetReaders</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>VectorizedSparkParquetReaders.buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-java.util.Map-">buildReader(Schema, MessageType, boolean, Map&lt;Integer, ?&gt;)</a></span> - Static method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkParquetReaders</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>VectorizedSparkParquetReaders.buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-java.util.Map-org.apache.iceberg.data.DeleteFilter-">buildReader(Schema, MessageType, boolean, Map&lt;Integer, ?&gt;, DeleteFilter&lt;InternalRow&gt;)</a></span> - Static method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkParquetReaders</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>VectorizedSparkParquetReaders.buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-">buildReader(Schema, MessageType, Map&lt;Integer, ?&gt;, DeleteFilter&lt;InternalRow&gt;)</a></span> - Static method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html" title="class in org.apache.iceberg.spark.data.vectorized">VectorizedSparkParquetReaders</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.html#buildReplacement-org.apache.iceberg.Schema-org.apache.iceberg.PartitionSpec-org.apache.iceberg.SortOrder-java.lang.String-java.util.Map-">buildReplacement(Schema, PartitionSpec, SortOrder, String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildRequiredDistribution-org.apache.iceberg.Table-org.apache.iceberg.DistributionMode-">buildRequiredDistribution(Table, DistributionMode)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildRequiredOrdering-org.apache.iceberg.Table-org.apache.spark.sql.connector.distributions.Distribution-">buildRequiredOrdering(Table, Distribution)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SortOrderUtil.html#buildSortOrder-org.apache.iceberg.Table-">buildSortOrder(Table)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SortOrderUtil.html" title="class in org.apache.iceberg.util">SortOrderUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SortOrderUtil.html#buildSortOrder-org.apache.iceberg.Table-org.apache.iceberg.SortOrder-">buildSortOrder(Table, SortOrder)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SortOrderUtil.html" title="class in org.apache.iceberg.util">SortOrderUtil</a></dt>
@@ -2512,6 +2645,12 @@
 </a>
 <h2 class="title">C</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CACHE_CASE_SENSITIVE">CACHE_CASE_SENSITIVE</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
+<dd>
+<div class="block">Controls whether the caching catalog will cache table entries using case sensitive keys.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CACHE_CASE_SENSITIVE_DEFAULT">CACHE_CASE_SENSITIVE_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CACHE_ENABLED">CACHE_ENABLED</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>
 <div class="block">Controls whether the catalog will cache table entries upon load.</div>
@@ -2527,7 +2666,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CACHE_EXPIRATION_INTERVAL_MS_OFF">CACHE_EXPIRATION_INTERVAL_MS_OFF</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/hive/CachedClientPool.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">CachedClientPool</span></a> - Class in <a href="org/apache/iceberg/hive/package-summary.html">org.apache.iceberg.hive</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">A ClientPool that caches the underlying HiveClientPool instances.</div>
+</dd>
 <dt><a href="org/apache/iceberg/CachingCatalog.html" title="class in org.apache.iceberg"><span class="typeNameLink">CachingCatalog</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>
 <div class="block">Class that wraps an Iceberg Catalog to cache tables.</div>
@@ -2544,6 +2685,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html#call-org.apache.spark.sql.catalyst.InternalRow-">call(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html#call-org.apache.spark.sql.catalyst.InternalRow-">call(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RewritePositionDeleteFilesProcedure</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#CALL">CALL</a></span> - Static variable in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#CALL">CALL</a></span> - Static variable in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser</a></dt>
@@ -2594,12 +2737,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.DateToDaysFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampNtzToDaysFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampToDaysFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampNtzToHoursFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampToHoursFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.DateToMonthsFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampNtzToMonthsFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampToMonthsFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateBigInt</a></dt>
@@ -2618,6 +2767,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.DateToYearsFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampNtzToYearsFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html#canonicalName--">canonicalName()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampToYearsFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/transforms/Hours.html#canTransform-org.apache.iceberg.types.Type-">canTransform(Type)</a></span> - Method in class org.apache.iceberg.transforms.<a href="org/apache/iceberg/transforms/Hours.html" title="class in org.apache.iceberg.transforms">Hours</a></dt>
@@ -2668,6 +2819,8 @@
 <dd>
 <div class="block">Is it case sensitive</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseReplaceSortOrder.html#caseSensitive-boolean-">caseSensitive(boolean)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseReplaceSortOrder.html" title="class in org.apache.iceberg">BaseReplaceSortOrder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DeleteFiles.html#caseSensitive-boolean-">caseSensitive(boolean)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></dt>
 <dd>
 <div class="block">Enables or disables case sensitive expression binding for methods that accept expressions.</div>
@@ -2709,6 +2862,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SortOrder.Builder.html#caseSensitive-boolean-">caseSensitive(boolean)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SortOrder.Builder.html" title="class in org.apache.iceberg">SortOrder.Builder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/SortOrderBuilder.html#caseSensitive-boolean-">caseSensitive(boolean)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/SortOrderBuilder.html" title="interface in org.apache.iceberg">SortOrderBuilder</a></dt>
+<dd>
+<div class="block">Set case sensitivity of sort column name resolution.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkScanBuilder.html#caseSensitive-boolean-">caseSensitive(boolean)</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadConf.html#caseSensitive--">caseSensitive()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></dt>
@@ -2815,6 +2972,8 @@
 <dd>
 <div class="block">An iterator that transforms rows from changelog tables within a single Spark task.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#ChangelogIterator-java.util.Iterator-org.apache.spark.sql.types.StructType-">ChangelogIterator(Iterator&lt;Row&gt;, StructType)</a></span> - Constructor for class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/ChangelogOperation.html" title="enum in org.apache.iceberg"><span class="typeNameLink">ChangelogOperation</span></a> - Enum in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>
 <div class="block">An enum representing possible operations in a changelog.</div>
@@ -2833,6 +2992,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.html#changes--">changes()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#changeTypeIndex--">changeTypeIndex()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#channelNames">channelNames</a></span> - Static variable in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/gcp/GCPProperties.html#channelReadChunkSize--">channelReadChunkSize()</a></span> - Method in class org.apache.iceberg.gcp.<a href="org/apache/iceberg/gcp/GCPProperties.html" title="class in org.apache.iceberg.gcp">GCPProperties</a></dt>
@@ -2855,6 +3016,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/exceptions/ValidationException.html#check-boolean-java.lang.String-java.lang.Object...-">check(boolean, String, Object...)</a></span> - Static method in exception org.apache.iceberg.exceptions.<a href="org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions">ValidationException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/view/ViewVersion.html#check--">check()</a></span> - Method in interface org.apache.iceberg.view.<a href="org/apache/iceberg/view/ViewVersion.html" title="interface in org.apache.iceberg.view">ViewVersion</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#CHECK_NULLABILITY">CHECK_NULLABILITY</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#CHECK_NULLABILITY">CHECK_NULLABILITY</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></dt>
@@ -2894,6 +3057,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html#checkSourceCatalog-org.apache.spark.sql.connector.catalog.CatalogPlugin-">checkSourceCatalog(CatalogPlugin)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">SnapshotTableSparkAction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#CHECKSUM_ENABLED">CHECKSUM_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Enables eTag checks for S3 PUT and MULTIPART upload requests.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#CHECKSUM_ENABLED_DEFAULT">CHECKSUM_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManageSnapshots.html#cherrypick-long-">cherrypick(long)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></dt>
 <dd>
 <div class="block">Apply supported changes in given snapshot and create a new snapshot which will be set as the
@@ -2950,8 +3119,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/StructLikeSet.html#clear--">clear()</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/StructLikeSet.html" title="class in org.apache.iceberg.util">StructLikeSet</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html#clearRewrite-org.apache.iceberg.Table-java.lang.String-">clearRewrite(Table, String)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#CLIENT_ACCESS_KEY_ID">CLIENT_ACCESS_KEY_ID</a></span> - Static variable in class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
 <dd>
 <div class="block">Aliyun uses an AccessKey pair, which includes an AccessKey ID and an AccessKey secret to
@@ -2988,10 +3155,17 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_ASSUME_ROLE_TIMEOUT_SEC_DEFAULT">CLIENT_ASSUME_ROLE_TIMEOUT_SEC_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_CREDENTIALS_PROVIDER">CLIENT_CREDENTIALS_PROVIDER</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientProperties.html#CLIENT_CREDENTIALS_PROVIDER">CLIENT_CREDENTIALS_PROVIDER</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></dt>
 <dd>
 <div class="block">Configure the AWS credentials provider used to create AWS clients.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_CREDENTIALS_PROVIDER">CLIENT_CREDENTIALS_PROVIDER</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/AliyunProperties.html#CLIENT_FACTORY">CLIENT_FACTORY</a></span> - Static variable in class org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunProperties.html" title="class in org.apache.iceberg.aliyun">AliyunProperties</a></dt>
 <dd>
 <div class="block">The implementation class of <a href="org/apache/iceberg/aliyun/AliyunClientFactory.html" title="interface in org.apache.iceberg.aliyun"><code>AliyunClientFactory</code></a> to customize Aliyun client
@@ -3001,6 +3175,10 @@
 <dd>
 <div class="block">The implementation class of <a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a> to customize AWS client configurations.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#CLIENT_FACTORY">CLIENT_FACTORY</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">This property is used to pass in the aws client factory implementation class for S3 FileIO.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/dell/DellProperties.html#CLIENT_FACTORY">CLIENT_FACTORY</a></span> - Static variable in class org.apache.iceberg.dell.<a href="org/apache/iceberg/dell/DellProperties.html" title="class in org.apache.iceberg.dell">DellProperties</a></dt>
 <dd>
 <div class="block">The implementation class of <a href="org/apache/iceberg/dell/DellClientFactory.html" title="interface in org.apache.iceberg.dell"><code>DellClientFactory</code></a> to customize Dell client configurations.</div>
@@ -3009,15 +3187,42 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_CACHE_EVICTION_INTERVAL_MS_DEFAULT">CLIENT_POOL_CACHE_EVICTION_INTERVAL_MS_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_CACHE_KEYS">CLIENT_POOL_CACHE_KEYS</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
+<dd>
+<div class="block">A comma separated list of elements used, in addition to the <a href="org/apache/iceberg/CatalogProperties.html#URI"><code>CatalogProperties.URI</code></a>, to compose the key of
+ the client pool cache.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_SIZE">CLIENT_POOL_SIZE</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_SIZE_DEFAULT">CLIENT_POOL_SIZE_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_REGION">CLIENT_REGION</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientProperties.html#CLIENT_REGION">CLIENT_REGION</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></dt>
 <dd>
 <div class="block">Used by <code>AwsClientFactories.DefaultAwsClientFactory</code> and also
  other client factory classes.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#CLIENT_REGION">CLIENT_REGION</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#CLIENT_TYPE">CLIENT_TYPE</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">The type of <code>SdkHttpClient</code> implementation used by <a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a> If set, all AWS clients will use this specified HTTP client.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#CLIENT_TYPE_APACHE">CLIENT_TYPE_APACHE</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">If this is set under <a href="org/apache/iceberg/aws/HttpClientProperties.html#CLIENT_TYPE"><code>HttpClientProperties.CLIENT_TYPE</code></a>, <code>ApacheHttpClient</code> will be used as the HTTP Client in <a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#CLIENT_TYPE_DEFAULT">CLIENT_TYPE_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#CLIENT_TYPE_URLCONNECTION">CLIENT_TYPE_URLCONNECTION</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">If this is set under <a href="org/apache/iceberg/aws/HttpClientProperties.html#CLIENT_TYPE"><code>HttpClientProperties.CLIENT_TYPE</code></a>, <code>UrlConnectionHttpClient</code> will be used as the HTTP
+ Client in <a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a></div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#clientAssumeRoleArn--">clientAssumeRoleArn()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#clientAssumeRoleExternalId--">clientAssumeRoleExternalId()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
@@ -3038,13 +3243,33 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ClientPoolImpl.html#ClientPoolImpl-int-java.lang.Class-boolean-">ClientPoolImpl(int, Class&lt;? extends E&gt;, boolean)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientProperties.html#clientRegion--">clientRegion()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#clientRegion--">clientRegion()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/CatalogLoader.html#clone--">clone()</a></span> - Method in interface org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></dt>
+<dd>
+<div class="block">Clone a CatalogLoader.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html#clone--">clone()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.CustomCatalogLoader</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html#clone--">clone()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.HadoopCatalogLoader</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html#clone--">clone()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.HiveCatalogLoader</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html#clone--">clone()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.RESTCatalogLoader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/RowDataUtil.html#clone-org.apache.flink.table.data.RowData-org.apache.flink.table.data.RowData-org.apache.flink.table.types.logical.RowType-org.apache.flink.api.common.typeutils.TypeSerializer:A-">clone(RowData, RowData, RowType, TypeSerializer[])</a></span> - Static method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/RowDataUtil.html" title="class in org.apache.iceberg.flink.data">RowDataUtil</a></dt>
 <dd>
 <div class="block">Similar to the private <code>RowDataSerializer.copyRowData(RowData, RowData)</code> method.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#close--">close()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager.CommitService</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html#clone--">clone()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.CatalogTableLoader</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/TableLoader.html#clone--">clone()</a></span> - Method in interface org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></dt>
+<dd>
+<div class="block">Clone a TableLoader</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html#clone--">clone()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.HadoopTableLoader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/oss/OSSFileIO.html#close--">close()</a></span> - Method in class org.apache.iceberg.aliyun.oss.<a href="org/apache/iceberg/aliyun/oss/OSSFileIO.html" title="class in org.apache.iceberg.aliyun.oss">OSSFileIO</a></dt>
 <dd>&nbsp;</dd>
@@ -3074,6 +3299,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIO.html#close--">close()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/util/RetryDetector.html#close--">close()</a></span> - Method in class org.apache.iceberg.aws.util.<a href="org/apache/iceberg/aws/util/RetryDetector.html" title="class in org.apache.iceberg.aws.util">RetryDetector</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ClientPoolImpl.html#close-C-">close(C)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ClientPoolImpl.html#close--">close()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></dt>
@@ -3115,6 +3342,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveClientPool.html#close-org.apache.hadoop.hive.metastore.IMetaStoreClient-">close(IMetaStoreClient)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveClientPool.html" title="class in org.apache.iceberg.hive">HiveClientPool</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#close--">close()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html#close--">close()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">InMemoryFileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html#close--">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io">BasePositionDeltaWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BaseTaskWriter.BaseEqualityDeltaWriter.html#close--">close()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BaseTaskWriter.BaseEqualityDeltaWriter.html" title="class in org.apache.iceberg.io">BaseTaskWriter.BaseEqualityDeltaWriter</a></dt>
@@ -3241,6 +3472,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/puffin/PuffinCompressionCodec.html#codecName--">codecName()</a></span> - Method in enum org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/PuffinCompressionCodec.html" title="enum in org.apache.iceberg.puffin">PuffinCompressionCodec</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/PartitionUtil.html#coercePartition-org.apache.iceberg.types.Types.StructType-org.apache.iceberg.PartitionSpec-org.apache.iceberg.StructLike-">coercePartition(Types.StructType, PartitionSpec, StructLike)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/PartitionUtil.html" title="class in org.apache.iceberg.util">PartitionUtil</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/FindFiles.Builder.html#collect--">collect()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/FindFiles.Builder.html" title="class in org.apache.iceberg">FindFiles.Builder</a></dt>
 <dd>
 <div class="block">Returns all files in the table that match all of the filters.</div>
@@ -3332,10 +3565,17 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/CloseableIterable.html#combine-java.lang.Iterable-java.io.Closeable-">combine(Iterable&lt;E&gt;, Closeable)</a></span> - Static method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/metrics/MetricsReporters.html#combine-org.apache.iceberg.metrics.MetricsReporter-org.apache.iceberg.metrics.MetricsReporter-">combine(MetricsReporter, MetricsReporter)</a></span> - Static method in class org.apache.iceberg.metrics.<a href="org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics">MetricsReporters</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg"><span class="typeNameLink">CombinedScanTask</span></a> - Interface in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>
 <div class="block">A scan task made of several ranges from files.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html#commit-java.util.Set-">commit(Set&lt;RewritePositionDeletesGroup&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesCommitManager</a></dt>
+<dd>
+<div class="block">Perform a commit operation on the table adding and removing files as required for this set of
+ file groups.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetastoreTableOperations.html#commit-org.apache.iceberg.TableMetadata-org.apache.iceberg.TableMetadata-">commit(TableMetadata, TableMetadata)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetastoreTableOperations.html" title="class in org.apache.iceberg">BaseMetastoreTableOperations</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseReplaceSortOrder.html#commit--">commit()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseReplaceSortOrder.html" title="class in org.apache.iceberg">BaseReplaceSortOrder</a></dt>
@@ -3446,6 +3686,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.html#commitOrClean-java.util.Set-">commitOrClean(Set&lt;RewriteFileGroup&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#commitOrClean-java.util.Set-">commitOrClean(Set&lt;RewriteFileGroup&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager.CommitService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html#commitOrClean-java.util.Set-">commitOrClean(Set&lt;RewritePositionDeletesGroup&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesCommitManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.CommitService.html#commitOrClean-java.util.Set-">commitOrClean(Set&lt;RewritePositionDeletesGroup&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesCommitManager.CommitService</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/CommitMetadata.html#commitProperties--">commitProperties()</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/CommitMetadata.html" title="class in org.apache.iceberg.spark">CommitMetadata</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/metrics/CommitReport.html" title="interface in org.apache.iceberg.metrics"><span class="typeNameLink">CommitReport</span></a> - Interface in <a href="org/apache/iceberg/metrics/package-summary.html">org.apache.iceberg.metrics</a></dt>
@@ -3482,6 +3728,10 @@
 <dd>
 <div class="block">Apply the pending changes from all actions and commit.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteFileGroup.html#comparator-org.apache.iceberg.RewriteJobOrder-">comparator(RewriteJobOrder)</a></span> - Static method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#comparator-org.apache.iceberg.RewriteJobOrder-">comparator(RewriteJobOrder)</a></span> - Static method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/BoundTerm.html#comparator--">comparator()</a></span> - Method in interface org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/BoundTerm.html" title="interface in org.apache.iceberg.expressions">BoundTerm</a></dt>
 <dd>
 <div class="block">Returns a <code>Comparator</code> for values produced by this term.</div>
@@ -3516,17 +3766,22 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkWriteOptions.html#COMPRESSION_CODEC">COMPRESSION_CODEC</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkWriteOptions.html" title="class in org.apache.iceberg.flink">FlinkWriteOptions</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#COMPRESSION_FACTOR">COMPRESSION_FACTOR</a></span> - Static variable in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>
-<div class="block">The number of shuffle partitions and consequently the number of output files created by the
- Spark Sort is based on the size of the input data files used in this rewrite operation.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkWriteOptions.html#COMPRESSION_LEVEL">COMPRESSION_LEVEL</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkWriteOptions.html" title="class in org.apache.iceberg.flink">FlinkWriteOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkWriteOptions.html#COMPRESSION_STRATEGY">COMPRESSION_STRATEGY</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkWriteOptions.html" title="class in org.apache.iceberg.flink">FlinkWriteOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/puffin/BlobMetadata.html#compressionCodec--">compressionCodec()</a></span> - Method in class org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/BlobMetadata.html" title="class in org.apache.iceberg.puffin">BlobMetadata</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ComputeUpdateIterator</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
+<dd>
+<div class="block">An iterator that finds delete/insert rows which represent an update, and converts them into
+ update records from changelog tables within a single Spark task.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#computeUpdates-java.util.Iterator-org.apache.spark.sql.types.StructType-java.lang.String:A-">computeUpdates(Iterator&lt;Row&gt;, StructType, String[])</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dd>
+<div class="block">Creates an iterator composing <code>RemoveCarryoverIterator</code> and <a href="org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark"><code>ComputeUpdateIterator</code></a>
+ to remove carry-over rows and compute update rows</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/CloseableIterable.html#concat-java.lang.Iterable-">concat(Iterable&lt;CloseableIterable&lt;E&gt;&gt;)</a></span> - Static method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/Parquet.html#concat-java.lang.Iterable-java.io.File-int-org.apache.iceberg.Schema-java.util.Map-">concat(Iterable&lt;File&gt;, File, int, Schema, Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/Parquet.html" title="class in org.apache.iceberg.parquet">Parquet</a></dt>
@@ -3759,7 +4014,7 @@
 </dd>
 <dt><a href="org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html" title="class in org.apache.iceberg.flink.source.enumerator"><span class="typeNameLink">ContinuousSplitPlannerImpl</span></a> - Class in <a href="org/apache/iceberg/flink/source/enumerator/package-summary.html">org.apache.iceberg.flink.source.enumerator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html#ContinuousSplitPlannerImpl-org.apache.iceberg.Table-org.apache.iceberg.flink.source.ScanContext-java.lang.String-">ContinuousSplitPlannerImpl(Table, ScanContext, String)</a></span> - Constructor for class org.apache.iceberg.flink.source.enumerator.<a href="org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html" title="class in org.apache.iceberg.flink.source.enumerator">ContinuousSplitPlannerImpl</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html#ContinuousSplitPlannerImpl-org.apache.iceberg.flink.TableLoader-org.apache.iceberg.flink.source.ScanContext-java.lang.String-">ContinuousSplitPlannerImpl(TableLoader, ScanContext, String)</a></span> - Constructor for class org.apache.iceberg.flink.source.enumerator.<a href="org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html" title="class in org.apache.iceberg.flink.source.enumerator">ContinuousSplitPlannerImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/types/Conversions.html" title="class in org.apache.iceberg.types"><span class="typeNameLink">Conversions</span></a> - Class in <a href="org/apache/iceberg/types/package-summary.html">org.apache.iceberg.types</a></dt>
 <dd>&nbsp;</dd>
@@ -3865,8 +4120,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkAggregates.html#convert-org.apache.spark.sql.connector.expressions.aggregate.AggregateFunc-">convert(AggregateFunc)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkAggregates.html" title="class in org.apache.iceberg.spark">SparkAggregates</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#convert-org.apache.iceberg.SortOrder-">convert(SortOrder)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkFilters.html#convert-org.apache.spark.sql.sources.Filter:A-">convert(Filter[])</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark">SparkFilters</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkFilters.html#convert-org.apache.spark.sql.sources.Filter-">convert(Filter)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark">SparkFilters</a></dt>
@@ -3883,10 +4136,6 @@
 <dd>
 <div class="block">Convert a Spark <code>struct</code> to a <a href="org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> with new field ids.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSchemaUtil.html#convert-org.apache.spark.sql.types.StructType-boolean-">convert(StructType, boolean)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark">SparkSchemaUtil</a></dt>
-<dd>
-<div class="block">Convert a Spark <code>struct</code> to a <a href="org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> with new field ids.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSchemaUtil.html#convert-org.apache.spark.sql.types.DataType-">convert(DataType)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark">SparkSchemaUtil</a></dt>
 <dd>
 <div class="block">Convert a Spark <code>struct</code> to a <a href="org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types"><code>Type</code></a> with new field ids.</div>
@@ -3945,6 +4194,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/UUIDUtil.html#convertToByteBuffer-java.util.UUID-">convertToByteBuffer(UUID)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/UUIDUtil.html" title="class in org.apache.iceberg.util">UUIDUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/UUIDUtil.html#convertToByteBuffer-java.util.UUID-java.nio.ByteBuffer-">convertToByteBuffer(UUID, ByteBuffer)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/UUIDUtil.html" title="class in org.apache.iceberg.util">UUIDUtil</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkValueConverter.html#convertToSpark-org.apache.iceberg.types.Type-java.lang.Object-">convertToSpark(Type, Object)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkValueConverter.html" title="class in org.apache.iceberg.spark">SparkValueConverter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#convertTypes-org.apache.iceberg.types.Types.StructType-java.lang.String-">convertTypes(Types.StructType, String)</a></span> - Static method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/AvroSchemaUtil.html" title="class in org.apache.iceberg.avro">AvroSchemaUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSchemaUtil.html#convertWithFreshIds-org.apache.iceberg.Schema-org.apache.spark.sql.types.StructType-">convertWithFreshIds(Schema, StructType)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark">SparkSchemaUtil</a></dt>
@@ -4061,8 +4314,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SerializableMap.html#copyOf-java.util.Map-">copyOf(Map&lt;K, V&gt;)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SerializableMap.html" title="class in org.apache.iceberg.util">SerializableMap</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#copyOnWriteMergeDistributionMode--">copyOnWriteMergeDistributionMode()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#copyOnWriteRequirements-org.apache.spark.sql.connector.write.RowLevelOperation.Command-">copyOnWriteRequirements(RowLevelOperation.Command)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteUtil.html#copyOnWriteRequirements-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.iceberg.DistributionMode-boolean-">copyOnWriteRequirements(Table, RowLevelOperation.Command, DistributionMode, boolean)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteUtil.html" title="class in org.apache.iceberg.spark">SparkWriteUtil</a></dt>
+<dd>
+<div class="block">Builds requirements for copy-on-write DELETE, UPDATE, MERGE operations.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/ScanContext.html#copyWithAppendsBetween-java.lang.Long-long-">copyWithAppendsBetween(Long, long)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/ScanContext.html" title="class in org.apache.iceberg.flink.source">ScanContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkTable.html#copyWithBranch-java.lang.String-">copyWithBranch(String)</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></dt>
@@ -4234,6 +4491,8 @@
 <dd>
 <div class="block">Create a table using the FileSystem implementation resolve from location.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html#create--">create()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryOutputFile</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/OutputFile.html#create--">create()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></dt>
 <dd>
 <div class="block">Create a new file and return a <a href="org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io"><code>PositionOutputStream</code></a> to it.</div>
@@ -4248,10 +4507,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/OrcValueReaders.StructReader.html#create--">create()</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/OrcValueReaders.StructReader.html" title="class in org.apache.iceberg.orc">OrcValueReaders.StructReader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#create-java.util.Iterator-org.apache.spark.sql.types.StructType-java.lang.String:A-">create(Iterator&lt;Row&gt;, StructType, String[])</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
-<dd>
-<div class="block">Creates an iterator for records of a changelog table.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Tables.html#create-org.apache.iceberg.Schema-java.lang.String-">create(Schema, String)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/Tables.html" title="interface in org.apache.iceberg">Tables</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Tables.html#create-org.apache.iceberg.Schema-org.apache.iceberg.PartitionSpec-java.lang.String-">create(Schema, PartitionSpec, String)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/Tables.html" title="interface in org.apache.iceberg">Tables</a></dt>
@@ -4308,8 +4563,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/Parquet.ReadBuilder.html#createBatchedReaderFunc-java.util.function.Function-">createBatchedReaderFunc(Function&lt;MessageType, VectorizedReader&lt;?&gt;&gt;)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/Parquet.ReadBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.ReadBuilder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html#createBatchWriterFactory-org.apache.spark.sql.connector.write.PhysicalWriteInfo-">createBatchWriterFactory(PhysicalWriteInfo)</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaBatchWrite</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManageSnapshots.html#createBranch-java.lang.String-long-">createBranch(String, long)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a></dt>
 <dd>
 <div class="block">Create a new branch pointing to the given snapshot id.</div>
@@ -4394,6 +4647,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#createNamespace-org.apache.iceberg.catalog.Namespace-java.util.Map-">createNamespace(Namespace, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#createNamespace-org.apache.iceberg.catalog.Namespace-">createNamespace(Namespace)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#createNamespace-org.apache.iceberg.catalog.Namespace-java.util.Map-">createNamespace(Namespace, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#createNamespace-org.apache.iceberg.catalog.Namespace-java.util.Map-">createNamespace(Namespace, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieCatalog.html#createNamespace-org.apache.iceberg.catalog.Namespace-java.util.Map-">createNamespace(Namespace, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></dt>
@@ -4437,6 +4694,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopOutputFile.html#createOrOverwrite--">createOrOverwrite()</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopOutputFile.html" title="class in org.apache.iceberg.hadoop">HadoopOutputFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html#createOrOverwrite--">createOrOverwrite()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryOutputFile</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/OutputFile.html#createOrOverwrite--">createOrOverwrite()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></dt>
 <dd>
 <div class="block">Create a new file and return a <a href="org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io"><code>PositionOutputStream</code></a> to it.</div>
@@ -4577,8 +4836,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html#createWriter-org.apache.parquet.schema.MessageType-">createWriter(MessageType)</a></span> - Method in class org.apache.iceberg.data.parquet.<a href="org/apache/iceberg/data/parquet/BaseParquetWriter.html" title="class in org.apache.iceberg.data.parquet">BaseParquetWriter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html#createWriter-int-long-">createWriter(int, long)</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriterFactory</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html#createWriterFunc-java.util.function.Function-">createWriterFunc(Function&lt;Schema, DatumWriter&lt;?&gt;&gt;)</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DataWriteBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html#createWriterFunc-java.util.function.Function-">createWriterFunc(Function&lt;Schema, DatumWriter&lt;?&gt;&gt;)</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/Avro.DeleteWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DeleteWriteBuilder</a></dt>
@@ -4611,6 +4868,10 @@
 <dd>
 <div class="block">Returns the session's credential map.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientProperties.html#credentialsProvider-java.lang.String-java.lang.String-java.lang.String-">credentialsProvider(String, String, String)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></dt>
+<dd>
+<div class="block">Returns a credentials provider instance.</div>
+</dd>
 <dt><a href="org/apache/iceberg/io/CredentialSupplier.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">CredentialSupplier</span></a> - Interface in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>
 <div class="block">Interface used to expose credentials held by a FileIO instance.</div>
@@ -4749,6 +5010,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/DataFiles.Builder.html" title="class in org.apache.iceberg"><span class="typeNameLink">DataFiles.Builder</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html#dataFilesCount--">dataFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupFailureResult</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/DataFilesTable.html" title="class in org.apache.iceberg"><span class="typeNameLink">DataFilesTable</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>
 <div class="block">A <a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> implementation that exposes a table's data files as rows.</div>
@@ -4786,22 +5049,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/BaseFileWriterFactory.html#dataSchema--">dataSchema()</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data">BaseFileWriterFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/ContentFile.html#dataSequenceNumber--">dataSequenceNumber()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a></dt>
+<dd>
+<div class="block">Returns the data sequence number of the file.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteFiles.html#dataSequenceNumber-long-">dataSequenceNumber(long)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></dt>
+<dd>
+<div class="block">Configure the data sequence number for this rewrite operation.</div>
+</dd>
 <dt><a href="org/apache/iceberg/DataTableScan.html" title="class in org.apache.iceberg"><span class="typeNameLink">DataTableScan</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/DataTableScan.html#DataTableScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-">DataTableScan(TableOperations, Table)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/DataTableScan.html" title="class in org.apache.iceberg">DataTableScan</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use DataTableScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/DataTableScan.html#DataTableScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">DataTableScan(TableOperations, Table, Schema, TableScanContext)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/DataTableScan.html" title="class in org.apache.iceberg">DataTableScan</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use DataTableScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DataTableScan.html#DataTableScan-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">DataTableScan(Table, Schema, TableScanContext)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/DataTableScan.html" title="class in org.apache.iceberg">DataTableScan</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/DataTask.html" title="interface in org.apache.iceberg"><span class="typeNameLink">DataTask</span></a> - Interface in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -4902,6 +5159,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction.DateToDaysFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction.TimestampNtzToDaysFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction.TimestampToDaysFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/DateTimeUtil.html#daysToIsoDate-int-">daysToIsoDate(int)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/DateTimeUtil.html" title="class in org.apache.iceberg.util">DateTimeUtil</a></dt>
@@ -5075,6 +5334,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.html#defaultSpecId--">defaultSpecId()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html#defaultTargetFileSize--">defaultTargetFileSize()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#defaultTargetFileSize--">defaultTargetFileSize()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html#defaultTargetFileSize--">defaultTargetFileSize()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedPositionDeletesRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/metrics/DefaultTimer.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">DefaultTimer</span></a> - Class in <a href="org/apache/iceberg/metrics/package-summary.html">org.apache.iceberg.metrics</a></dt>
 <dd>
 <div class="block">A default <a href="org/apache/iceberg/metrics/Timer.html" title="interface in org.apache.iceberg.metrics"><code>Timer</code></a> implementation that uses a <code>Stopwatch</code> instance internally to
@@ -5096,6 +5361,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#defaultWarehouseLocation-org.apache.iceberg.catalog.TableIdentifier-">defaultWarehouseLocation(TableIdentifier)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#defaultWarehouseLocation-org.apache.iceberg.catalog.TableIdentifier-">defaultWarehouseLocation(TableIdentifier)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#defaultWarehouseLocation-org.apache.iceberg.catalog.TableIdentifier-">defaultWarehouseLocation(TableIdentifier)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieCatalog.html#defaultWarehouseLocation-org.apache.iceberg.catalog.TableIdentifier-">defaultWarehouseLocation(TableIdentifier)</a></span> - Method in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></dt>
@@ -5155,20 +5422,38 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/RESTClient.html#delete-java.lang.String-java.util.Map-java.lang.Class-java.util.Map-java.util.function.Consumer-">delete(String, Map&lt;String, String&gt;, Class&lt;T&gt;, Map&lt;String, String&gt;, Consumer&lt;ErrorResponse&gt;)</a></span> - Method in interface org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/RESTClient.html" title="interface in org.apache.iceberg.rest">RESTClient</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html#delete-T-T-">delete(T, T)</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriter</a></dt>
-<dd>
-<div class="block">Passes information for a row that must be deleted.</div>
-</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#DELETE">DELETE</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_AVRO_COMPRESSION">DELETE_AVRO_COMPRESSION</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_AVRO_COMPRESSION_LEVEL">DELETE_AVRO_COMPRESSION_LEVEL</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_BATCH_SIZE">DELETE_BATCH_SIZE</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Configure the batch size used when deleting multiple files from a given S3 bucket</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_BATCH_SIZE_DEFAULT">DELETE_BATCH_SIZE_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Default batch size used when deleting files.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_BATCH_SIZE_MAX">DELETE_BATCH_SIZE_MAX</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Max possible batch size for deletion.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_DEFAULT_FILE_FORMAT">DELETE_DEFAULT_FILE_FORMAT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_DISTRIBUTION_MODE">DELETE_DISTRIBUTION_MODE</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_ENABLED">DELETE_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Determines if <a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> deletes the object when io.delete() is called, default to true.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_ENABLED_DEFAULT">DELETE_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#DELETE_FILE_PATH">DELETE_FILE_PATH</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/PositionDeletesTable.html#DELETE_FILE_PATH">DELETE_FILE_PATH</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/PositionDeletesTable.html" title="class in org.apache.iceberg">PositionDeletesTable</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#DELETE_FILE_POS">DELETE_FILE_POS</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#DELETE_FILE_ROW_DOC">DELETE_FILE_ROW_DOC</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
@@ -5179,10 +5464,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD">DELETE_FILE_THRESHOLD</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">The minimum number of deletes that needs to be associated with a data file for it to be
+ considered for rewriting.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html#DELETE_FILE_THRESHOLD">DELETE_FILE_THRESHOLD</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></dt>
+<dd>
 <div class="block">The minimum number of deletes that needs to be associated with a data file for it to be
  considered for rewriting.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD_DEFAULT">DELETE_FILE_THRESHOLD_DEFAULT</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html#DELETE_FILE_THRESHOLD_DEFAULT">DELETE_FILE_THRESHOLD_DEFAULT</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#DELETE_FORMAT">DELETE_FORMAT</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></dt>
 <dd>&nbsp;</dd>
@@ -5220,10 +5515,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_PARQUET_ROW_GROUP_SIZE_BYTES">DELETE_PARQUET_ROW_GROUP_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_TAGS_PREFIX">DELETE_TAGS_PREFIX</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Used by <a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when deleting.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_TARGET_FILE_SIZE_BYTES">DELETE_TARGET_FILE_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#DELETE_TARGET_FILE_SIZE_BYTES_DEFAULT">DELETE_TARGET_FILE_SIZE_BYTES_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DELETE_THREADS">DELETE_THREADS</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Number of threads to use for adding delete tags to S3 objects, default to <code>Runtime.availableProcessors()</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#deleteBatchSize--">deleteBatchSize()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/UpdateSchema.html#deleteColumn-java.lang.String-">deleteColumn(String)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/UpdateSchema.html" title="interface in org.apache.iceberg">UpdateSchema</a></dt>
 <dd>
 <div class="block">Delete a column in the schema.</div>
@@ -5255,8 +5560,6 @@
 <div class="block">A scan task for deletes generated by removing a data file from the table.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedDataFilesCount--">deletedDataFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedDataFilesCount--">deletedDataFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
@@ -5269,8 +5572,6 @@
 <div class="block">Returns the number of deleted data files.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedEqualityDeleteFilesCount--">deletedEqualityDeleteFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedEqualityDeleteFilesCount--">deletedEqualityDeleteFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
@@ -5296,11 +5597,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html#deletedFilesCount--">deletedFilesCount()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#deleteDistributionMode--">deleteDistributionMode()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedManifestListsCount--">deletedManifestListsCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedManifestListsCount--">deletedManifestListsCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
@@ -5313,8 +5610,6 @@
 <div class="block">Returns the number of deleted manifest lists.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedManifestsCount--">deletedManifestsCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedManifestsCount--">deletedManifestsCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
@@ -5327,14 +5622,14 @@
 <div class="block">Returns the number of deleted manifests.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedOtherFilesCount--">deletedOtherFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/DeleteReachableFiles.Result.html#deletedOtherFilesCount--">deletedOtherFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles.Result</a></dt>
 <dd>
 <div class="block">Returns the number of deleted metadata json, version hint files.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedPositionDeleteFilesCount--">deletedPositionDeleteFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedPositionDeleteFilesCount--">deletedPositionDeleteFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
@@ -5394,6 +5689,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopFileIO.html#deleteFile-java.lang.String-">deleteFile(String)</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopFileIO.html" title="class in org.apache.iceberg.hadoop">HadoopFileIO</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html#deleteFile-java.lang.String-">deleteFile(String)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">InMemoryFileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FileIO.html#deleteFile-java.lang.String-">deleteFile(String)</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a></dt>
 <dd>
 <div class="block">Delete the file at the given path.</div>
@@ -5412,6 +5709,14 @@
 <dd>
 <div class="block">Delete a <a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> from the table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteFiles.html#deleteFile-org.apache.iceberg.DataFile-">deleteFile(DataFile)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></dt>
+<dd>
+<div class="block">Remove a data file from the current table state.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteFiles.html#deleteFile-org.apache.iceberg.DeleteFile-">deleteFile(DeleteFile)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></dt>
+<dd>
+<div class="block">Remove a delete file from the table state.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/StreamingDelete.html#deleteFile-java.lang.CharSequence-">deleteFile(CharSequence)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/StreamingDelete.html#deleteFile-org.apache.iceberg.DataFile-">deleteFile(DataFile)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></dt>
@@ -5424,6 +5729,10 @@
 <dd>
 <div class="block">Deletes the given paths in a batched manner.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogUtil.html#deleteFiles-org.apache.iceberg.io.FileIO-java.lang.Iterable-java.lang.String-boolean-">deleteFiles(FileIO, Iterable&lt;String&gt;, String, boolean)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogUtil.html" title="class in org.apache.iceberg">CatalogUtil</a></dt>
+<dd>
+<div class="block">Helper to delete files.</div>
+</dd>
 <dt><a href="org/apache/iceberg/DeleteFiles.html" title="interface in org.apache.iceberg"><span class="typeNameLink">DeleteFiles</span></a> - Interface in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>
 <div class="block">API for deleting files from a table.</div>
@@ -5547,6 +5856,10 @@
 </dd>
 <dt><a href="org/apache/iceberg/io/DeleteSchemaUtil.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">DeleteSchemaUtil</span></a> - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#deleteTags--">deleteTags()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#deleteThreads--">deleteThreads()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/RollbackStagedTable.html#deleteWhere-org.apache.spark.sql.sources.Filter:A-">deleteWhere(Filter[])</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark">RollbackStagedTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkTable.html#deleteWhere-org.apache.spark.sql.sources.Filter:A-">deleteWhere(Filter[])</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></dt>
@@ -5600,10 +5913,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/dell/DellProperties.html#DellProperties-java.util.Map-">DellProperties(Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.iceberg.dell.<a href="org/apache/iceberg/dell/DellProperties.html" title="class in org.apache.iceberg.dell">DellProperties</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaBatchWrite</span></a> - Interface in <a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a></dt>
-<dd>
-<div class="block">An interface that defines how to write a delta of rows during batch processing.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/delta/SnapshotDeltaLakeTable.html#deltaLakeConfiguration-org.apache.hadoop.conf.Configuration-">deltaLakeConfiguration(Configuration)</a></span> - Method in interface org.apache.iceberg.delta.<a href="org/apache/iceberg/delta/SnapshotDeltaLakeTable.html" title="interface in org.apache.iceberg.delta">SnapshotDeltaLakeTable</a></dt>
 <dd>
 <div class="block">Sets the Hadoop configuration used to access delta lake table's logs and datafiles.</div>
@@ -5614,22 +5923,6 @@
 </dd>
 <dt><a href="org/apache/iceberg/delta/DeltaLakeToIcebergMigrationActionsProvider.DefaultDeltaLakeToIcebergMigrationActions.html" title="class in org.apache.iceberg.delta"><span class="typeNameLink">DeltaLakeToIcebergMigrationActionsProvider.DefaultDeltaLakeToIcebergMigrationActions</span></a> - Class in <a href="org/apache/iceberg/delta/package-summary.html">org.apache.iceberg.delta</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWrite</span></a> - Interface in <a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a></dt>
-<dd>
-<div class="block">A logical representation of a data source write that handles a delta of rows.</div>
-</dd>
-<dt><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWriteBuilder</span></a> - Interface in <a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a></dt>
-<dd>
-<div class="block">An interface for building delta writes.</div>
-</dd>
-<dt><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWriter</span></a>&lt;<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&gt; - Interface in <a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a></dt>
-<dd>
-<div class="block">A data writer responsible for writing a delta of rows.</div>
-</dd>
-<dt><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWriterFactory</span></a> - Interface in <a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a></dt>
-<dd>
-<div class="block">A factory for creating and initializing delta writers at the executor side.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseReplaceSortOrder.html#desc-org.apache.iceberg.expressions.Term-org.apache.iceberg.NullOrder-">desc(Term, NullOrder)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseReplaceSortOrder.html" title="class in org.apache.iceberg">BaseReplaceSortOrder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/BaseColumnIterator.html#desc">desc</a></span> - Variable in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/BaseColumnIterator.html" title="class in org.apache.iceberg.parquet">BaseColumnIterator</a></dt>
@@ -5678,6 +5971,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#describe-org.apache.iceberg.SortOrder-">describe(SortOrder)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/FileRewriter.html#description--">description()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions">FileRewriter</a></dt>
+<dd>
+<div class="block">Returns a description for this rewriter.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/BucketFunction.html#description--">description()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/BucketFunction.html" title="class in org.apache.iceberg.spark.functions">BucketFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.html#description--">description()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction</a></dt>
@@ -5702,6 +5999,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html#description--">description()</a></span> - Method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html#description--">description()</a></span> - Method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RewritePositionDeleteFilesProcedure</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/metrics/NumDeletes.html#description--">description()</a></span> - Method in class org.apache.iceberg.spark.source.metrics.<a href="org/apache/iceberg/spark/source/metrics/NumDeletes.html" title="class in org.apache.iceberg.spark.source.metrics">NumDeletes</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/metrics/NumSplits.html#description--">description()</a></span> - Method in class org.apache.iceberg.spark.source.metrics.<a href="org/apache/iceberg/spark/source/metrics/NumSplits.html" title="class in org.apache.iceberg.spark.source.metrics">NumSplits</a></dt>
@@ -5766,10 +6065,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetSchemaUtil.html#determineListElementType-org.apache.parquet.schema.GroupType-">determineListElementType(GroupType)</a></span> - Static method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetSchemaUtil.html" title="class in org.apache.iceberg.parquet">ParquetSchemaUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkTableUtil.html#determineWriteBranch-org.apache.spark.sql.SparkSession-java.lang.String-">determineWriteBranch(SparkSession, String)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark">SparkTableUtil</a></dt>
+<dd>
+<div class="block">Determine the write branch.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/view/SQLViewRepresentation.html#dialect--">dialect()</a></span> - Method in interface org.apache.iceberg.view.<a href="org/apache/iceberg/view/SQLViewRepresentation.html" title="interface in org.apache.iceberg.view">SQLViewRepresentation</a></dt>
 <dd>
 <div class="block">The view query SQL dialect.</div>
 </dd>
+<dt><a href="org/apache/iceberg/arrow/DictEncodedArrowConverter.html" title="class in org.apache.iceberg.arrow"><span class="typeNameLink">DictEncodedArrowConverter</span></a> - Class in <a href="org/apache/iceberg/arrow/package-summary.html">org.apache.iceberg.arrow</a></dt>
+<dd>
+<div class="block">This converts dictionary encoded arrow vectors to a correctly typed arrow vector.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html#dictionary--">dictionary()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/BaseColumnIterator.html#dictionary">dictionary</a></span> - Variable in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/BaseColumnIterator.html" title="class in org.apache.iceberg.parquet">BaseColumnIterator</a></dt>
@@ -5806,6 +6113,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteDistributionSpecContext.html#DISTRIBUTED--">DISTRIBUTED()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteDistributionSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteDistributionSpecContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteRequirements.html#distribution--">distribution()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkWriteOptions.html#DISTRIBUTION_MODE">DISTRIBUTION_MODE</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkWriteOptions.html" title="class in org.apache.iceberg.flink">FlinkWriteOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#DISTRIBUTION_MODE">DISTRIBUTION_MODE</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
@@ -5823,8 +6132,6 @@
 <dd>
 <div class="block">Configure the write <a href="org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg"><code>DistributionMode</code></a> that the flink sink will use.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#distributionMode--">distributionMode()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.html#doBind-org.apache.spark.sql.types.DataType-">doBind(DataType)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.html#doBind-org.apache.spark.sql.types.DataType-">doBind(DataType)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction</a></dt>
@@ -5949,6 +6256,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#dropNamespace-org.apache.iceberg.catalog.Namespace-">dropNamespace(Namespace)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#dropNamespace-org.apache.iceberg.catalog.Namespace-">dropNamespace(Namespace)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#dropNamespace-org.apache.iceberg.catalog.Namespace-">dropNamespace(Namespace)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieCatalog.html#dropNamespace-org.apache.iceberg.catalog.Namespace-">dropNamespace(Namespace)</a></span> - Method in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></dt>
@@ -6011,6 +6320,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#dropTable-org.apache.iceberg.catalog.TableIdentifier-boolean-">dropTable(TableIdentifier, boolean)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#dropTable-org.apache.iceberg.catalog.TableIdentifier-boolean-">dropTable(TableIdentifier, boolean)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#dropTable-org.apache.iceberg.catalog.TableIdentifier-boolean-">dropTable(TableIdentifier, boolean)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/Catalogs.html#dropTable-org.apache.hadoop.conf.Configuration-java.util.Properties-">dropTable(Configuration, Properties)</a></span> - Static method in class org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/Catalogs.html" title="class in org.apache.iceberg.mr">Catalogs</a></dt>
@@ -6047,6 +6358,12 @@
 <dd>
 <div class="block">Drop a view.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DUALSTACK_ENABLED">DUALSTACK_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Determines if S3 client will use the Dualstack Mode, default to false.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#DUALSTACK_ENABLED_DEFAULT">DUALSTACK_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html#dummyHolder-int-">dummyHolder(int)</a></span> - Static method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/exceptions/DuplicateWAPCommitException.html" title="class in org.apache.iceberg.exceptions"><span class="typeNameLink">DuplicateWAPCommitException</span></a> - Exception in <a href="org/apache/iceberg/exceptions/package-summary.html">org.apache.iceberg.exceptions</a></dt>
@@ -6184,7 +6501,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/Types.ListType.html#elementType--">elementType()</a></span> - Method in class org.apache.iceberg.types.<a href="org/apache/iceberg/types/Types.ListType.html" title="class in org.apache.iceberg.types">Types.ListType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html#empty--">empty()</a></span> - Static method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">BaseRewriteManifestsActionResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/catalog/Namespace.html#empty--">empty()</a></span> - Static method in class org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/encryption/EncryptionKeyMetadata.html#EMPTY">EMPTY</a></span> - Static variable in interface org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/EncryptionKeyMetadata.html" title="interface in org.apache.iceberg.encryption">EncryptionKeyMetadata</a></dt>
@@ -6201,6 +6520,8 @@
 <dd>
 <div class="block">A new <a href="org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html" title="class in org.apache.iceberg.rest.auth"><code>OAuth2Util.AuthSession</code></a> with empty headers.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteRequirements.html#EMPTY">EMPTY</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/CharSequenceSet.html#empty--">empty()</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/ArrayUtil.html#EMPTY_BOOLEAN_ARRAY">EMPTY_BOOLEAN_ARRAY</a></span> - Static variable in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/ArrayUtil.html" title="class in org.apache.iceberg.util">ArrayUtil</a></dt>
@@ -6345,6 +6666,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MicroBatches.MicroBatch.html#endFileIndex--">endFileIndex()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/MicroBatches.MicroBatch.html" title="class in org.apache.iceberg">MicroBatches.MicroBatch</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#ENDPOINT">ENDPOINT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Configure an alternative endpoint of the S3 service for S3FileIO to access.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#endpoint--">endpoint()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html#endpoint--">endpoint()</a></span> - Method in class org.apache.iceberg.aws.s3.signer.<a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html" title="class in org.apache.iceberg.aws.s3.signer">S3V4RestSignerClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkReadConf.html#endSnapshotId--">endSnapshotId()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkReadConf.html" title="class in org.apache.iceberg.flink">FlinkReadConf</a></dt>
@@ -6381,6 +6708,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/EnvironmentContext.html#ENGINE_VERSION">ENGINE_VERSION</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/EnvironmentContext.html" title="class in org.apache.iceberg">EnvironmentContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#enoughContent-java.util.List-">enoughContent(List&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#enoughInputFiles-java.util.List-">enoughInputFiles(List&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/TezUtil.html#enrichContextWithAttemptWrapper-org.apache.hadoop.mapred.TaskAttemptContext-">enrichContextWithAttemptWrapper(TaskAttemptContext)</a></span> - Static method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/TezUtil.html" title="class in org.apache.iceberg.mr.hive">TezUtil</a></dt>
 <dd>
 <div class="block">Creates a new taskAttemptContext by replacing the taskAttemptID with a wrapped object.</div>
@@ -6390,6 +6721,8 @@
 <div class="block">If the Tez vertex id is present in config, creates a new jobContext by appending the Tez vertex
  id to the jobID.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/NoLock.html#ensureActive--">ensureActive()</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive">NoLock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsBaseListener.html#enterAddPartitionField-org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.AddPartitionFieldContext-">enterAddPartitionField(IcebergSqlExtensionsParser.AddPartitionFieldContext)</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsBaseListener.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsBaseListener</a></dt>
 <dd>
 <div class="block">Enter a parse tree produced by the <code>addPartitionField</code>
@@ -7112,6 +7445,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/GenericRecord.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/GenericRecord.html" title="class in org.apache.iceberg.data">GenericRecord</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/RowDataProjection.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/RowDataProjection.html" title="class in org.apache.iceberg.flink.data">RowDataProjection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/GenericBlobMetadata.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/GenericBlobMetadata.html" title="class in org.apache.iceberg">GenericBlobMetadata</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/GenericManifestFile.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/GenericManifestFile.html" title="class in org.apache.iceberg">GenericManifestFile</a></dt>
@@ -7305,6 +7640,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html#execute--">execute()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteManifestsSparkAction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html#execute--">execute()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html#execute--">execute()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">SnapshotTableSparkAction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/DeleteOrphanFiles.html#executeDeleteWith-java.util.concurrent.ExecutorService-">executeDeleteWith(ExecutorService)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></dt>
@@ -7369,6 +7706,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopTables.html#exists-java.lang.String-">exists(String)</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopTables.html" title="class in org.apache.iceberg.hadoop">HadoopTables</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryInputFile.html#exists--">exists()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryInputFile</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/InputFile.html#exists--">exists()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a></dt>
 <dd>
 <div class="block">Checks whether the file exists.</div>
@@ -8151,10 +8490,6 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="class in org.apache.iceberg.expressions"><span class="typeNameLink">ExpressionVisitors.ExpressionVisitor</span></a>&lt;<a href="org/apache/iceberg/expressions/ExpressionVisitors.ExpressionVisitor.html" title="type parameter in ExpressionVisitors.ExpressionVisitor">R</a>&gt; - Class in <a href="org/apache/iceberg/expressions/package-summary.html">org.apache.iceberg.expressions</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">ExtendedLogicalWriteInfo</span></a> - Interface in <a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a></dt>
-<dd>
-<div class="block">A class that holds logical write information not covered by LogicalWriteInfo in Spark.</div>
-</dd>
 <dt><a href="org/apache/iceberg/spark/ExtendedParser.html" title="interface in org.apache.iceberg.spark"><span class="typeNameLink">ExtendedParser</span></a> - Interface in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ExtendedParser.RawOrderField</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
@@ -8178,6 +8513,10 @@
 <div class="block">Takes in a map, and returns a copy filtered on the entries with keys beginning with the
  designated prefix.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetUtil.html#extractTimestampInt96-java.nio.ByteBuffer-">extractTimestampInt96(ByteBuffer)</a></span> - Static method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetUtil.html" title="class in org.apache.iceberg.parquet">ParquetUtil</a></dt>
+<dd>
+<div class="block">Method to read timestamp (parquet Int96) from bytebuffer.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/IcebergSource.html#extractTimeTravelTimestamp-org.apache.spark.sql.util.CaseInsensitiveStringMap-">extractTimeTravelTimestamp(CaseInsensitiveStringMap)</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/IcebergSource.html" title="class in org.apache.iceberg.spark.source">IcebergSource</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/IcebergSource.html#extractTimeTravelVersion-org.apache.spark.sql.util.CaseInsensitiveStringMap-">extractTimeTravelVersion(CaseInsensitiveStringMap)</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/IcebergSource.html" title="class in org.apache.iceberg.spark.source">IcebergSource</a></dt>
@@ -8196,6 +8535,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkDynamicTableFactory.html#factoryIdentifier--">factoryIdentifier()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkDynamicTableFactory.html" title="class in org.apache.iceberg.flink">FlinkDynamicTableFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html#failedDataFilesCount--">failedDataFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/expressions/False.html" title="class in org.apache.iceberg.expressions"><span class="typeNameLink">False</span></a> - Class in <a href="org/apache/iceberg/expressions/package-summary.html">org.apache.iceberg.expressions</a></dt>
 <dd>
 <div class="block">An <a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>expression</code></a> that is always false.</div>
@@ -8226,20 +8567,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotManager.html#fastForwardBranch-java.lang.String-java.lang.String-">fastForwardBranch(String, String)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotManager.html" title="class in org.apache.iceberg">SnapshotManager</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html#fetchNewDataFiles-org.apache.iceberg.Table-java.lang.String-">fetchNewDataFiles(Table, String)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html#fetchSetIDs-org.apache.iceberg.Table-">fetchSetIDs(Table)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html#fetchSetIDs-org.apache.iceberg.Table-">fetchSetIDs(Table)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ScanTaskSetManager.html#fetchSetIds-org.apache.iceberg.Table-">fetchSetIds(Table)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark">ScanTaskSetManager</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html#fetchTasks-org.apache.iceberg.Table-java.lang.String-">fetchTasks(Table, String)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ScanTaskSetManager.html#fetchTasks-org.apache.iceberg.Table-java.lang.String-">fetchTasks(Table, String)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark">ScanTaskSetManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/auth/OAuth2Util.html#fetchToken-org.apache.iceberg.rest.RESTClient-java.util.Map-java.lang.String-java.lang.String-">fetchToken(RESTClient, Map&lt;String, String&gt;, String, String)</a></span> - Static method in class org.apache.iceberg.rest.auth.<a href="org/apache/iceberg/rest/auth/OAuth2Util.html" title="class in org.apache.iceberg.rest.auth">OAuth2Util</a></dt>
@@ -8414,12 +8743,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#FILE_PATH_COLUMN_ID">FILE_PATH_COLUMN_ID</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadOptions.html#FILE_SCAN_TASK_SET_ID">FILE_SCAN_TASK_SET_ID</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use SCAN_TASK_SET_ID instead</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DataFile.html#FILE_SIZE">FILE_SIZE</a></span> - Static variable in interface org.apache.iceberg.<a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">FileAppender</span></a>&lt;<a href="org/apache/iceberg/io/FileAppender.html" title="type parameter in FileAppender">D</a>&gt; - Interface in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
@@ -8434,6 +8757,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ScanSummary.PartitionMetrics.html#fileCount--">fileCount()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ScanSummary.PartitionMetrics.html" title="class in org.apache.iceberg">ScanSummary.PartitionMetrics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html#fileExists-java.lang.String-">fileExists(String)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">InMemoryFileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/GenericStatisticsFile.html#fileFooterSizeInBytes--">fileFooterSizeInBytes()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/GenericStatisticsFile.html" title="class in org.apache.iceberg">GenericStatisticsFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/StatisticsFile.html#fileFooterSizeInBytes--">fileFooterSizeInBytes()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/StatisticsFile.html" title="interface in org.apache.iceberg">StatisticsFile</a></dt>
@@ -8495,6 +8820,10 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">FileRewriteCoordinator</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">FileRewriter</span></a>&lt;<a href="org/apache/iceberg/actions/FileRewriter.html" title="type parameter in FileRewriter">T</a> extends <a href="org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;<a href="org/apache/iceberg/actions/FileRewriter.html" title="type parameter in FileRewriter">F</a>&gt;,<a href="org/apache/iceberg/actions/FileRewriter.html" title="type parameter in FileRewriter">F</a> extends <a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;<a href="org/apache/iceberg/actions/FileRewriter.html" title="type parameter in FileRewriter">F</a>&gt;&gt; - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block">A class for rewriting content files.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseCombinedScanTask.html#files--">files()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseCombinedScanTask.html" title="class in org.apache.iceberg">BaseCombinedScanTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CombinedScanTask.html#files--">files()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg">CombinedScanTask</a></dt>
@@ -8513,18 +8842,6 @@
 <dd>
 <div class="block">Read a <a href="org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg"><code>FileScanTask</code></a> into a <a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><code>CloseableIterator</code></a></div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadConf.html#fileScanTaskSetId--">fileScanTaskSetId()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/SparkReadConf.html#scanTaskSetId--"><code>SparkReadConf.scanTaskSetId()</code></a> instead</span></div>
-</div>
-</dd>
-<dt><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">FileScanTaskSetManager</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><code>ScanTaskSetManager</code></a> instead</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/AddedRowsScanTask.html#filesCount--">filesCount()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/AddedRowsScanTask.html" title="interface in org.apache.iceberg">AddedRowsScanTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DeletedDataFileScanTask.html#filesCount--">filesCount()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/DeletedDataFileScanTask.html" title="interface in org.apache.iceberg">DeletedDataFileScanTask</a></dt>
@@ -8539,6 +8856,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ScanTaskGroup.html#filesCount--">filesCount()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/ContentFile.html#fileSequenceNumber--">fileSequenceNumber()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a></dt>
+<dd>
+<div class="block">Returns the file sequence number.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/puffin/PuffinWriter.html#fileSize--">fileSize()</a></span> - Method in class org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/PuffinWriter.html" title="class in org.apache.iceberg.puffin">PuffinWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ContentFile.html#fileSizeInBytes--">fileSizeInBytes()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a></dt>
@@ -8595,6 +8916,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/events/ScanEvent.html#filter--">filter()</a></span> - Method in class org.apache.iceberg.events.<a href="org/apache/iceberg/events/ScanEvent.html" title="class in org.apache.iceberg.events">ScanEvent</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkSourceFilter.html#filter-org.apache.flink.table.data.RowData-">filter(RowData)</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink">FlinkSourceFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/CloseableIterable.html#filter-org.apache.iceberg.io.CloseableIterable-java.util.function.Predicate-">filter(CloseableIterable&lt;E&gt;, Predicate&lt;E&gt;)</a></span> - Static method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/CloseableIterable.html#filter-org.apache.iceberg.metrics.Counter-org.apache.iceberg.io.CloseableIterable-java.util.function.Predicate-">filter(Counter, CloseableIterable&lt;E&gt;, Predicate&lt;E&gt;)</a></span> - Static method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a></dt>
@@ -8620,6 +8943,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html#filter-org.apache.iceberg.expressions.Expression-">filter(Expression)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteDataFilesSparkAction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html#filter-org.apache.iceberg.expressions.Expression-">filter(Expression)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/util/Filter.html" title="class in org.apache.iceberg.util"><span class="typeNameLink">Filter</span></a>&lt;<a href="org/apache/iceberg/util/Filter.html" title="type parameter in Filter">T</a>&gt; - Class in <a href="org/apache/iceberg/util/package-summary.html">org.apache.iceberg.util</a></dt>
 <dd>
 <div class="block">A Class for generic filters</div>
@@ -8636,6 +8961,18 @@
 <dd>
 <div class="block">Returns the remaining rows (the ones that are not deleted), while counting the deleted ones.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html#filterFileGroups-java.util.List-">filterFileGroups(List&lt;List&lt;FileScanTask&gt;&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#filterFileGroups-java.util.List-">filterFileGroups(List&lt;List&lt;T&gt;&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html#filterFileGroups-java.util.List-">filterFileGroups(List&lt;List&lt;PositionDeletesScanTask&gt;&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedPositionDeletesRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html#filterFiles-java.lang.Iterable-">filterFiles(Iterable&lt;FileScanTask&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#filterFiles-java.lang.Iterable-">filterFiles(Iterable&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html#filterFiles-java.lang.Iterable-">filterFiles(Iterable&lt;PositionDeletesScanTask&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedPositionDeletesRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/FilterIterator.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">FilterIterator</span></a>&lt;<a href="org/apache/iceberg/io/FilterIterator.html" title="type parameter in FilterIterator">T</a>&gt; - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>
 <div class="block">An Iterator that filters another Iterator.</div>
@@ -8666,6 +9003,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/oss/OSSOutputStream.html#finalize--">finalize()</a></span> - Method in class org.apache.iceberg.aliyun.oss.<a href="org/apache/iceberg/aliyun/oss/OSSOutputStream.html" title="class in org.apache.iceberg.aliyun.oss">OSSOutputStream</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIO.html#finalize--">finalize()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ResolvingFileIO.html#finalize--">finalize()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ResolvingFileIO.html" title="class in org.apache.iceberg.io">ResolvingFileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mapping/NameMapping.html#find-int-">find(int)</a></span> - Method in class org.apache.iceberg.mapping.<a href="org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping">NameMapping</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mapping/NameMapping.html#find-java.lang.String...-">find(String...)</a></span> - Method in class org.apache.iceberg.mapping.<a href="org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping">NameMapping</a></dt>
@@ -8723,9 +9064,15 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/ValueWriters.html#fixed-int-">fixed(int)</a></span> - Static method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/ValueWriters.html" title="class in org.apache.iceberg.avro">ValueWriters</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#fixedLengthDecimalBatchReader--">fixedLengthDecimalBatchReader()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html#FixedLengthDecimalBatchReader--">FixedLengthDecimalBatchReader()</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedLengthDecimalBatchReader</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html#fixedLengthDecimalDictEncodedReader--">fixedLengthDecimalDictEncodedReader()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedDictionaryEncodedParquetValuesReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/metrics/FixedReservoirHistogram.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">FixedReservoirHistogram</span></a> - Class in <a href="org/apache/iceberg/metrics/package-summary.html">org.apache.iceberg.metrics</a></dt>
@@ -8846,6 +9193,10 @@
 <dd>
 <div class="block">Source builder to build <code>DataStream</code>.</div>
 </dd>
+<dt><a href="org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkSourceFilter</span></a> - Class in <a href="org/apache/iceberg/flink/package-summary.html">org.apache.iceberg.flink</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkSourceFilter.html#FlinkSourceFilter-org.apache.iceberg.Schema-org.apache.iceberg.expressions.Expression-boolean-">FlinkSourceFilter(Schema, Expression, boolean)</a></span> - Constructor for class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink">FlinkSourceFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/flink/source/FlinkSplitPlanner.html" title="class in org.apache.iceberg.flink.source"><span class="typeNameLink">FlinkSplitPlanner</span></a> - Class in <a href="org/apache/iceberg/flink/source/package-summary.html">org.apache.iceberg.flink.source</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkTypeVisitor</span></a>&lt;<a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="type parameter in FlinkTypeVisitor">T</a>&gt; - Class in <a href="org/apache/iceberg/flink/package-summary.html">org.apache.iceberg.flink</a></dt>
@@ -9182,11 +9533,11 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadataParser.html#fromJson-com.fasterxml.jackson.databind.JsonNode-">fromJson(JsonNode)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadataParser.html" title="class in org.apache.iceberg">TableMetadataParser</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3InputFile.html#fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.AwsProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation(String, S3Client, AwsProperties, MetricsContext)</a></span> - Static method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3InputFile.html#fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.s3.S3FileIOProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation(String, S3Client, S3FileIOProperties, MetricsContext)</a></span> - Static method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3InputFile.html#fromLocation-java.lang.String-long-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.AwsProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation(String, long, S3Client, AwsProperties, MetricsContext)</a></span> - Static method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3InputFile.html#fromLocation-java.lang.String-long-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.s3.S3FileIOProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation(String, long, S3Client, S3FileIOProperties, MetricsContext)</a></span> - Static method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3OutputFile.html#fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.AwsProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation(String, S3Client, AwsProperties, MetricsContext)</a></span> - Static method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3OutputFile.html#fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.s3.S3FileIOProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation(String, S3Client, S3FileIOProperties, MetricsContext)</a></span> - Static method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopInputFile.html#fromLocation-java.lang.CharSequence-org.apache.hadoop.conf.Configuration-">fromLocation(CharSequence, Configuration)</a></span> - Static method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopInputFile.html" title="class in org.apache.iceberg.hadoop">HadoopInputFile</a></dt>
 <dd>&nbsp;</dd>
@@ -9336,6 +9687,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MicroBatches.MicroBatchBuilder.html#generate-long-long-boolean-">generate(long, long, boolean)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/MicroBatches.MicroBatchBuilder.html" title="class in org.apache.iceberg">MicroBatches.MicroBatchBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/MicroBatches.MicroBatchBuilder.html#generate-long-long-long-boolean-">generate(long, long, long, boolean)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/MicroBatches.MicroBatchBuilder.html" title="class in org.apache.iceberg">MicroBatches.MicroBatchBuilder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/JsonUtil.html#generate-org.apache.iceberg.util.JsonUtil.ToJson-boolean-">generate(JsonUtil.ToJson, boolean)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/JsonUtil.html" title="class in org.apache.iceberg.util">JsonUtil</a></dt>
 <dd>
 <div class="block">Helper for writing JSON with a JsonGenerator.</div>
@@ -9542,12 +9895,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html#get--">get()</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html#get--">get()</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html#get--">get()</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark">PositionDeletesRewriteCoordinator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ScanTaskSetManager.html#get--">get()</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark">ScanTaskSetManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkFunctionCatalog.html#get--">get()</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark">SparkFunctionCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkStructLike.html#get-int-java.lang.Class-">get(int, Class&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkStructLike.html" title="class in org.apache.iceberg.spark">SparkStructLike</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkTableCache.html#get--">get()</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkTableCache.html" title="class in org.apache.iceberg.spark">SparkTableCache</a></dt>
@@ -9620,6 +9973,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.html#getArray-int-">getArray(int)</a></span> - Method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/RowPositionColumnVector.html" title="class in org.apache.iceberg.spark.data.vectorized">RowPositionColumnVector</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/ColumnVector.html#getArrowVector--">getArrowVector()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/ColumnVector.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnVector</a></dt>
+<dd>
+<div class="block">Decodes a dict-encoded vector and returns the actual arrow vector.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#getATN--">getATN()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#getATN--">getATN()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser</a></dt>
@@ -9710,8 +10067,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html#getConf--">getConf()</a></span> - Method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieCatalog.html#getConf--">getConf()</a></span> - Method in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html#getConstant--">getConstant()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.ConstantVectorHolder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/common/DynConstructors.Ctor.html#getConstructedClass--">getConstructedClass()</a></span> - Method in class org.apache.iceberg.common.<a href="org/apache/iceberg/common/DynConstructors.Ctor.html" title="class in org.apache.iceberg.common">DynConstructors.Ctor</a></dt>
@@ -9734,6 +10089,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html#getDecimal-int-int-int-">getDecimal(int, int, int)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/ArrowVectorAccessor.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowVectorAccessor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/ColumnVector.html#getDecimal-int-int-int-">getDecimal(int, int, int)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/ColumnVector.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnVector</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/RowDataProjection.html#getDecimal-int-int-int-">getDecimal(int, int, int)</a></span> - Method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/RowDataProjection.html" title="class in org.apache.iceberg.flink.data">RowDataProjection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/StructRowData.html#getDecimal-int-int-int-">getDecimal(int, int, int)</a></span> - Method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/StructRowData.html" title="class in org.apache.iceberg.flink.data">StructRowData</a></dt>
@@ -9748,6 +10105,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetricsConfig.html#getDefault--">getDefault()</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html#getDefaultReadLimit--">getDefaultReadLimit()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source">SparkMicroBatchStream</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/DelegatingInputStream.html#getDelegate--">getDelegate()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/DelegatingInputStream.html" title="interface in org.apache.iceberg.io">DelegatingInputStream</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/DelegatingOutputStream.html#getDelegate--">getDelegate()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/DelegatingOutputStream.html" title="interface in org.apache.iceberg.io">DelegatingOutputStream</a></dt>
@@ -9793,7 +10152,9 @@
 <div class="block">Returns the <a href="org/apache/iceberg/PartitionField.html" title="class in org.apache.iceberg"><code>field</code></a> that partitions the given source field</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/ColumnVector.html#getFieldVector--">getFieldVector()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/ColumnVector.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnVector</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Returns the potentially dict-encoded <code>FieldVector</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadataParser.html#getFileExtension-java.lang.String-">getFileExtension(String)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadataParser.html" title="class in org.apache.iceberg">TableMetadataParser</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadataParser.html#getFileExtension-org.apache.iceberg.TableMetadataParser.Codec-">getFileExtension(TableMetadataParser.Codec)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadataParser.html" title="class in org.apache.iceberg">TableMetadataParser</a></dt>
@@ -9900,6 +10261,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopInputFile.html#getLength--">getLength()</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopInputFile.html" title="class in org.apache.iceberg.hadoop">HadoopInputFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryInputFile.html#getLength--">getLength()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryInputFile</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/InputFile.html#getLength--">getLength()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a></dt>
 <dd>
 <div class="block">Returns the total length of the file, in bytes</div>
@@ -9991,13 +10354,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/pig/IcebergStorage.html#getPartitionKeys-java.lang.String-org.apache.hadoop.mapreduce.Job-">getPartitionKeys(String, Job)</a></span> - Method in class org.apache.iceberg.pig.<a href="org/apache/iceberg/pig/IcebergStorage.html" title="class in org.apache.iceberg.pig">IcebergStorage</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-">getPartitions(SparkSession, Path, String, Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-org.apache.iceberg.PartitionSpec-"><code>Spark3Util.getPartitions(SparkSession, Path, String, Map,
-     PartitionSpec)</code></a></span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-org.apache.iceberg.PartitionSpec-">getPartitions(SparkSession, Path, String, Map&lt;String, String&gt;, PartitionSpec)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
 <dd>
 <div class="block">Use Spark to list all partitions in the table.</div>
@@ -10358,11 +10714,18 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/IcebergBuild.html#gitTags--">gitTags()</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/IcebergBuild.html" title="class in org.apache.iceberg">IcebergBuild</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#globalIndex--">globalIndex()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesFileGroupInfo</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html#globalIndex--">globalIndex()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></dt>
 <dd>
 <div class="block">returns which file group this is out of the total set of file groups for this rewrite</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html#globalIndex--">globalIndex()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupInfo</a></dt>
+<dd>
+<div class="block">Returns which position delete file group this is out of the total set of file groups for this
+ rewrite</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AssumeRoleAwsClientFactory.html#glue--">glue()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AssumeRoleAwsClientFactory.html" title="class in org.apache.iceberg.aws">AssumeRoleAwsClientFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientFactory.html#glue--">glue()</a></span> - Method in interface org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws">AwsClientFactory</a></dt>
@@ -10431,12 +10794,6 @@
 <dd>
 <div class="block">Returns a grouping key for this task group.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/Partitioning.html#groupingKeyType-java.util.Collection-">groupingKeyType(Collection&lt;PartitionSpec&gt;)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/Partitioning.html" title="class in org.apache.iceberg">Partitioning</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/Partitioning.html#groupingKeyType-org.apache.iceberg.Schema-java.util.Collection-"><code>Partitioning.groupingKeyType(Schema, Collection)</code></a> instead; will be removed in 1.3.0</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Partitioning.html#groupingKeyType-org.apache.iceberg.Schema-java.util.Collection-">groupingKeyType(Schema, Collection&lt;PartitionSpec&gt;)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/Partitioning.html" title="class in org.apache.iceberg">Partitioning</a></dt>
 <dd>
 <div class="block">Builds a grouping key type considering the provided schema and specs.</div>
@@ -10536,25 +10893,21 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopTables.html#HadoopTables-org.apache.hadoop.conf.Configuration-">HadoopTables(Configuration)</a></span> - Constructor for class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopTables.html" title="class in org.apache.iceberg.hadoop">HadoopTables</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html#handleNonReference-org.apache.iceberg.expressions.Bound-">handleNonReference(Bound&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/ExpressionVisitors.BoundExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.BoundExpressionVisitor</a></dt>
 <dd>
 <div class="block">Handle a non-reference value in this visitor.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadConf.html#handleTimestampWithoutZone--">handleTimestampWithoutZone()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></dt>
-<dd>
-<div class="block">Enables reading a timestamp without time zone as a timestamp with time zone.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#handleTimestampWithoutZone--">handleTimestampWithoutZone()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
-<dd>
-<div class="block">Enables writing a timestamp with time zone as a timestamp without time zone.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestFile.html#hasAddedFiles--">hasAddedFiles()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a></dt>
 <dd>
 <div class="block">Returns true if the manifest contains ADDED entries or if the count is not known.</div>
@@ -10622,6 +10975,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/GenericRecord.html#hashCode--">hashCode()</a></span> - Method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/GenericRecord.html" title="class in org.apache.iceberg.data">GenericRecord</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/RowDataProjection.html#hashCode--">hashCode()</a></span> - Method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/RowDataProjection.html" title="class in org.apache.iceberg.flink.data">RowDataProjection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/GenericBlobMetadata.html#hashCode--">hashCode()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/GenericBlobMetadata.html" title="class in org.apache.iceberg">GenericBlobMetadata</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/GenericManifestFile.html#hashCode--">hashCode()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/GenericManifestFile.html" title="class in org.apache.iceberg">GenericManifestFile</a></dt>
@@ -10716,7 +11071,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/BasePageIterator.html#hasNext--">hasNext()</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#hasNext--">hasNext()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ComputeUpdateIterator.html#hasNext--">hasNext()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark">ComputeUpdateIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetUtil.html#hasNoBloomFilterPages-org.apache.parquet.hadoop.metadata.ColumnChunkMetaData-">hasNoBloomFilterPages(ColumnChunkMetaData)</a></span> - Static method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetUtil.html" title="class in org.apache.iceberg.parquet">ParquetUtil</a></dt>
 <dd>&nbsp;</dd>
@@ -10738,10 +11093,6 @@
 <dd>
 <div class="block">Used to expose a table's TableOperations.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkUtil.html#hasTimestampWithoutZone-org.apache.iceberg.Schema-">hasTimestampWithoutZone(Schema)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></dt>
-<dd>
-<div class="block">Responsible for checking if the table schema has a timestamp without timezone column</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/CountNonNull.html#hasValue-org.apache.iceberg.DataFile-">hasValue(DataFile)</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/CountNonNull.html" title="class in org.apache.iceberg.expressions">CountNonNull</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/CountStar.html#hasValue-org.apache.iceberg.DataFile-">hasValue(DataFile)</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/CountStar.html" title="class in org.apache.iceberg.expressions">CountStar</a></dt>
@@ -10844,6 +11195,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#HIVE_CONF_DIR">HIVE_CONF_DIR</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#HIVE_LOCK_ENABLED">HIVE_LOCK_ENABLED</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#HIVE_LOCK_ENABLED_DEFAULT">HIVE_LOCK_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">HiveCatalog</span></a> - Class in <a href="org/apache/iceberg/hive/package-summary.html">org.apache.iceberg.hive</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#HiveCatalog--">HiveCatalog()</a></span> - Constructor for class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
@@ -10907,12 +11262,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#HMS_TABLE_OWNER">HMS_TABLE_OWNER</a></span> - Static variable in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#HMS_TABLE_OWNER">HMS_TABLE_OWNER</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use the HMS_TABLE_OWNER constant from HiveCatalog</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/Expressions.html#hour-java.lang.String-">hour(String)</a></span> - Static method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Expressions.html" title="class in org.apache.iceberg.expressions">Expressions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/PartitionSpec.Builder.html#hour-java.lang.String-java.lang.String-">hour(String, String)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/PartitionSpec.Builder.html" title="class in org.apache.iceberg">PartitionSpec.Builder</a></dt>
@@ -10953,66 +11302,114 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.html#HoursFunction--">HoursFunction()</a></span> - Constructor for class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">HoursFunction.TimestampNtzToHoursFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">HoursFunction.TimestampToHoursFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS">HTTP_CLIENT_APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure the connection acquisition timeout in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_MAX_IDLE_TIME_MS">HTTP_CLIENT_APACHE_CONNECTION_MAX_IDLE_TIME_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure the connection max idle time in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_TIME_TO_LIVE_MS">HTTP_CLIENT_APACHE_CONNECTION_TIME_TO_LIVE_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure the connection time to live in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_TIMEOUT_MS">HTTP_CLIENT_APACHE_CONNECTION_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure the connection timeout in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_EXPECT_CONTINUE_ENABLED">HTTP_CLIENT_APACHE_EXPECT_CONTINUE_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure whether to enable the expect continue setting for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_MAX_CONNECTIONS">HTTP_CLIENT_APACHE_MAX_CONNECTIONS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure the max connections number for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_SOCKET_TIMEOUT_MS">HTTP_CLIENT_APACHE_SOCKET_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure the socket timeout in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_TCP_KEEP_ALIVE_ENABLED">HTTP_CLIENT_APACHE_TCP_KEEP_ALIVE_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure whether to enable the tcp keep alive setting for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED">HTTP_CLIENT_APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure whether to use idle connection reaper for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE">HTTP_CLIENT_TYPE</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">The type of <code>SdkHttpClient</code> implementation used by <a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a> If set, all AWS clients will use this specified HTTP client.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE">HTTP_CLIENT_TYPE_APACHE</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">If this is set under <a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>AwsProperties.HTTP_CLIENT_TYPE</code></a>, <code>ApacheHttpClient</code> will be used as the HTTP Client in <a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_DEFAULT">HTTP_CLIENT_TYPE_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_URLCONNECTION">HTTP_CLIENT_TYPE_URLCONNECTION</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">If this is set under <a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>AwsProperties.HTTP_CLIENT_TYPE</code></a>, <code>UrlConnectionHttpClient</code> will be used as the HTTP
- Client in <a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_URLCONNECTION_CONNECTION_TIMEOUT_MS">HTTP_CLIENT_URLCONNECTION_CONNECTION_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure the connection timeout in milliseconds for <code>UrlConnectionHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_URLCONNECTION_SOCKET_TIMEOUT_MS">HTTP_CLIENT_URLCONNECTION_SOCKET_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure the socket timeout in milliseconds for <code>UrlConnectionHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><a href="org/apache/iceberg/rest/HTTPClient.html" title="class in org.apache.iceberg.rest"><span class="typeNameLink">HTTPClient</span></a> - Class in <a href="org/apache/iceberg/rest/package-summary.html">org.apache.iceberg.rest</a></dt>
 <dd>
@@ -11022,6 +11419,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#httpClientProperties--">httpClientProperties()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">HttpClientProperties</span></a> - Class in <a href="org/apache/iceberg/aws/package-summary.html">org.apache.iceberg.aws</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#HttpClientProperties--">HttpClientProperties()</a></span> - Constructor for class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#HttpClientProperties-java.util.Map-">HttpClientProperties(Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a name="I:I">
 <!--   -->
@@ -11139,6 +11542,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/enumerator/IcebergEnumeratorStateSerializer.html#IcebergEnumeratorStateSerializer--">IcebergEnumeratorStateSerializer()</a></span> - Constructor for class org.apache.iceberg.flink.source.enumerator.<a href="org/apache/iceberg/flink/source/enumerator/IcebergEnumeratorStateSerializer.html" title="class in org.apache.iceberg.flink.source.enumerator">IcebergEnumeratorStateSerializer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergField--">icebergField()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergFixedObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector"><span class="typeNameLink">IcebergFixedObjectInspector</span></a> - Class in <a href="org/apache/iceberg/mr/hive/serde/objectinspector/package-summary.html">org.apache.iceberg.mr.hive.serde.objectinspector</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/data/IcebergGenerics.html" title="class in org.apache.iceberg.data"><span class="typeNameLink">IcebergGenerics</span></a> - Class in <a href="org/apache/iceberg/data/package-summary.html">org.apache.iceberg.data</a></dt>
@@ -11569,7 +11974,9 @@
 <div class="block">Checks for a method implementation.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseSnapshotTableActionResult.html#importedDataFilesCount--">importedDataFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseSnapshotTableActionResult.html" title="class in org.apache.iceberg.actions">BaseSnapshotTableActionResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SnapshotTable.Result.html#importedDataFilesCount--">importedDataFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SnapshotTable.Result.html" title="interface in org.apache.iceberg.actions">SnapshotTable.Result</a></dt>
 <dd>
 <div class="block">Returns the number of imported data files.</div>
@@ -11746,11 +12153,29 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/IcebergSource.html#inferSchema-org.apache.spark.sql.util.CaseInsensitiveStringMap-">inferSchema(CaseInsensitiveStringMap)</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/IcebergSource.html" title="class in org.apache.iceberg.spark.source">IcebergSource</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#info--">info()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html#info--">info()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupFailureResult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html#info--">info()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteFileGroup.html#info--">info()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html#info--">info()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupRewriteResult</a></dt>
+<dd>
+<div class="block">Description of this position delete file group.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#info--">info()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/FileRewriter.html#init-java.util.Map-">init(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions">FileRewriter</a></dt>
+<dd>
+<div class="block">Initializes this rewriter using provided options.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html#init-java.util.Map-">init(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#init-java.util.Map-">init(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedPageIterator.html#initDataReader-org.apache.parquet.column.Encoding-org.apache.parquet.bytes.ByteBufferInputStream-int-">initDataReader(Encoding, ByteBufferInputStream, int)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedPageIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedPageIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/BasePageIterator.html#initDataReader-org.apache.parquet.column.Encoding-org.apache.parquet.bytes.ByteBufferInputStream-int-">initDataReader(Encoding, ByteBufferInputStream, int)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></dt>
@@ -11795,6 +12220,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIO.html#initialize-java.util.Map-">initialize(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html#initialize-java.util.Map-">initialize(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3">S3FileIOAwsClientFactory</a></dt>
+<dd>
+<div class="block">Initialize AWS client factory from catalog properties.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/S3FileIOAwsClientFactories.html#initialize-java.util.Map-">initialize(Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/S3FileIOAwsClientFactories.html" title="class in org.apache.iceberg.aws">S3FileIOAwsClientFactories</a></dt>
+<dd>
+<div class="block">Attempts to load an AWS client factory class for S3 file IO defined in the catalog property
+ <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#CLIENT_FACTORY"><code>S3FileIOProperties.CLIENT_FACTORY</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/catalog/BaseSessionCatalog.html#initialize-java.lang.String-java.util.Map-">initialize(String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/BaseSessionCatalog.html" title="class in org.apache.iceberg.catalog">BaseSessionCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/catalog/Catalog.html#initialize-java.lang.String-java.util.Map-">initialize(String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></dt>
@@ -11838,6 +12272,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#initialize-java.lang.String-java.util.Map-">initialize(String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#initialize-java.lang.String-java.util.Map-">initialize(String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FileIO.html#initialize-java.util.Map-">initialize(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a></dt>
 <dd>
 <div class="block">Initialize File IO from catalog properties.</div>
@@ -11878,6 +12314,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkCatalog.html#initialize-java.lang.String-org.apache.spark.sql.util.CaseInsensitiveStringMap-">initialize(String, CaseInsensitiveStringMap)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkFunctionCatalog.html#initialize-java.lang.String-org.apache.spark.sql.util.CaseInsensitiveStringMap-">initialize(String, CaseInsensitiveStringMap)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark">SparkFunctionCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html#initialize-java.lang.String-org.apache.spark.sql.util.CaseInsensitiveStringMap-">initialize(String, CaseInsensitiveStringMap)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/LockManagers.BaseLockManager.html#initialize-java.util.Map-">initialize(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/LockManagers.BaseLockManager.html" title="class in org.apache.iceberg.util">LockManagers.BaseLockManager</a></dt>
@@ -11892,6 +12330,35 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/signer/S3ObjectMapper.html#initModule--">initModule()</a></span> - Static method in class org.apache.iceberg.aws.s3.signer.<a href="org/apache/iceberg/aws/s3/signer/S3ObjectMapper.html" title="class in org.apache.iceberg.aws.s3.signer">S3ObjectMapper</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory"><span class="typeNameLink">InMemoryCatalog</span></a> - Class in <a href="org/apache/iceberg/inmemory/package-summary.html">org.apache.iceberg.inmemory</a></dt>
+<dd>
+<div class="block">Catalog implementation that uses in-memory data-structures to store the namespaces and tables.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#InMemoryCatalog--">InMemoryCatalog()</a></span> - Constructor for class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory"><span class="typeNameLink">InMemoryFileIO</span></a> - Class in <a href="org/apache/iceberg/inmemory/package-summary.html">org.apache.iceberg.inmemory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html#InMemoryFileIO--">InMemoryFileIO()</a></span> - Constructor for class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">InMemoryFileIO</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory"><span class="typeNameLink">InMemoryInputFile</span></a> - Class in <a href="org/apache/iceberg/inmemory/package-summary.html">org.apache.iceberg.inmemory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryInputFile.html#InMemoryInputFile-byte:A-">InMemoryInputFile(byte[])</a></span> - Constructor for class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryInputFile</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryInputFile.html#InMemoryInputFile-java.lang.String-byte:A-">InMemoryInputFile(String, byte[])</a></span> - Constructor for class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryInputFile</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory"><span class="typeNameLink">InMemoryOutputFile</span></a> - Class in <a href="org/apache/iceberg/inmemory/package-summary.html">org.apache.iceberg.inmemory</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html#InMemoryOutputFile--">InMemoryOutputFile()</a></span> - Constructor for class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryOutputFile</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html#InMemoryOutputFile-java.lang.String-">InMemoryOutputFile(String)</a></span> - Constructor for class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryOutputFile</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html#InMemoryOutputFile-java.lang.String-org.apache.iceberg.inmemory.InMemoryFileIO-">InMemoryOutputFile(String, InMemoryFileIO)</a></span> - Constructor for class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryOutputFile</a></dt>
+<dd>
+<div class="block">If the optional parentFileIO is provided, file-existence behaves similarly to S3FileIO;
+ existence checks are performed up-front if creating without overwrite, but files only exist in
+ the parentFileIO if close() has been called on the associated output streams (or pre-existing
+ files are populated into the parentFileIO through other means).</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/mapred/AbstractMapredIcebergRecordReader.html#innerReader">innerReader</a></span> - Variable in class org.apache.iceberg.mr.mapred.<a href="org/apache/iceberg/mr/mapred/AbstractMapredIcebergRecordReader.html" title="class in org.apache.iceberg.mr.mapred">AbstractMapredIcebergRecordReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/FindFiles.Builder.html#inPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.StructLike-">inPartition(PartitionSpec, StructLike)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/FindFiles.Builder.html" title="class in org.apache.iceberg">FindFiles.Builder</a></dt>
@@ -11919,13 +12386,17 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/encryption/InputFilesDecryptor.html#InputFilesDecryptor-org.apache.iceberg.CombinedScanTask-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-">InputFilesDecryptor(CombinedScanTask, FileIO, EncryptionManager)</a></span> - Constructor for class org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/InputFilesDecryptor.html" title="class in org.apache.iceberg.encryption">InputFilesDecryptor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#inputFileSize-java.util.List-">inputFileSize(List&lt;FileScanTask&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr"><span class="typeNameLink">InputFormatConfig</span></a> - Class in <a href="org/apache/iceberg/mr/package-summary.html">org.apache.iceberg.mr</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html" title="class in org.apache.iceberg.mr"><span class="typeNameLink">InputFormatConfig.ConfigBuilder</span></a> - Class in <a href="org/apache/iceberg/mr/package-summary.html">org.apache.iceberg.mr</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/mr/InputFormatConfig.InMemoryDataModel.html" title="enum in org.apache.iceberg.mr"><span class="typeNameLink">InputFormatConfig.InMemoryDataModel</span></a> - Enum in <a href="org/apache/iceberg/mr/package-summary.html">org.apache.iceberg.mr</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#inputSize-java.util.List-">inputSize(List&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/BucketFunction.BucketBinary.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/BucketFunction.BucketBinary.html" title="class in org.apache.iceberg.spark.functions">BucketFunction.BucketBinary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/BucketFunction.BucketDecimal.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/BucketFunction.BucketDecimal.html" title="class in org.apache.iceberg.spark.functions">BucketFunction.BucketDecimal</a></dt>
@@ -11938,12 +12409,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.DateToDaysFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampNtzToDaysFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampToDaysFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampNtzToHoursFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampToHoursFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.DateToMonthsFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampNtzToMonthsFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampToMonthsFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateBigInt</a></dt>
@@ -11962,6 +12439,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.DateToYearsFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampNtzToYearsFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html#inputTypes--">inputTypes()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampToYearsFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/BasePositionDeltaWriter.html#insert-T-org.apache.iceberg.PartitionSpec-org.apache.iceberg.StructLike-">insert(T, PartitionSpec, StructLike)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/BasePositionDeltaWriter.html" title="class in org.apache.iceberg.io">BasePositionDeltaWriter</a></dt>
@@ -11974,10 +12453,8 @@
 <dd>
 <div class="block">Inserts a row to the provided spec/partition.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html#insert-T-">insert(T)</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriter</a></dt>
-<dd>
-<div class="block">Passes a row to insert.</div>
-</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#INSERT">INSERT</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/FindFiles.Builder.html#inSnapshot-long-">inSnapshot(long)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/FindFiles.Builder.html" title="class in org.apache.iceberg">FindFiles.Builder</a></dt>
 <dd>
 <div class="block">Base results on the given snapshot.</div>
@@ -11991,9 +12468,15 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetValueReaders.IntAsLongReader.html#IntAsLongReader-org.apache.parquet.column.ColumnDescriptor-">IntAsLongReader(ColumnDescriptor)</a></span> - Constructor for class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetValueReaders.IntAsLongReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.IntAsLongReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#intBackedDecimalBatchReader--">intBackedDecimalBatchReader()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html#IntBackedDecimalBatchReader--">IntBackedDecimalBatchReader()</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntBackedDecimalBatchReader</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html#intBackedDecimalDictEncodedReader--">intBackedDecimalDictEncodedReader()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedDictionaryEncodedParquetValuesReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#INTEGER_VALUE">INTEGER_VALUE</a></span> - Static variable in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></dt>
@@ -12100,12 +12583,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html#invoke-int-">invoke(int)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.DateToDaysFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html#invoke-long-">invoke(long)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampNtzToDaysFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html#invoke-long-">invoke(long)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampToDaysFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html#invoke-long-">invoke(long)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampNtzToHoursFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html#invoke-long-">invoke(long)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampToHoursFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html#invoke-int-">invoke(int)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.DateToMonthsFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html#invoke-long-">invoke(long)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampNtzToMonthsFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html#invoke-long-">invoke(long)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampToMonthsFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html#invoke-int-long-">invoke(int, long)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateBigInt</a></dt>
@@ -12124,6 +12613,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html#invoke-int-">invoke(int)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.DateToYearsFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html#invoke-long-">invoke(long)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampNtzToYearsFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html#invoke-long-">invoke(long)</a></span> - Static method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampToYearsFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/common/DynConstructors.Ctor.html#invokeChecked-java.lang.Object-java.lang.Object...-">invokeChecked(Object, Object...)</a></span> - Method in class org.apache.iceberg.common.<a href="org/apache/iceberg/common/DynConstructors.Ctor.html" title="class in org.apache.iceberg.common">DynConstructors.Ctor</a></dt>
@@ -12205,6 +12696,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#IS_DELETED">IS_DELETED</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#isAccelerationEnabled--">isAccelerationEnabled()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/common/DynFields.UnboundField.html#isAlwaysNull--">isAlwaysNull()</a></span> - Method in class org.apache.iceberg.common.<a href="org/apache/iceberg/common/DynFields.UnboundField.html" title="class in org.apache.iceberg.common">DynFields.UnboundField</a></dt>
 <dd>
 <div class="block">Returns whether the field is always null.</div>
@@ -12245,6 +12738,12 @@
 <dd>
 <div class="block">Determines if the given character value is a unicode high-surrogate code unit.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#isChecksumEnabled--">isChecksumEnabled()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/ClientPoolImpl.html#isClosed--">isClosed()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html#isClosed--">isClosed()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">InMemoryFileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ClientPoolImpl.html#isConnectionException-java.lang.Exception-">isConnectionException(Exception)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveClientPool.html#isConnectionException-java.lang.Exception-">isConnectionException(Exception)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveClientPool.html" title="class in org.apache.iceberg.hive">HiveClientPool</a></dt>
@@ -12259,10 +12758,16 @@
 <dd>
 <div class="block">Checks whether a row at the position is deleted.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#isDeleteEnabled--">isDeleteEnabled()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestReader.html#isDeleteManifestReader--">isDeleteManifestReader()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDictionaryEncoded--">isDictionaryEncoded()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#isDifferentValue-org.apache.spark.sql.Row-org.apache.spark.sql.Row-int-">isDifferentValue(Row, Row, int)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#isDualStackEnabled--">isDualStackEnabled()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDummy--">isDummy()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/Types.ListType.html#isElementOptional--">isElementOptional()</a></span> - Method in class org.apache.iceberg.types.<a href="org/apache/iceberg/types/Types.ListType.html" title="class in org.apache.iceberg.types">Types.ListType</a></dt>
@@ -12435,20 +12940,36 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/PartitionSpec.html#isPartitioned--">isPartitioned()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#isPathStyleAccess--">isPathStyleAccess()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/util/FlinkCompatibilityUtil.html#isPhysicalColumn-org.apache.flink.table.api.TableColumn-">isPhysicalColumn(TableColumn)</a></span> - Static method in class org.apache.iceberg.flink.util.<a href="org/apache/iceberg/flink/util/FlinkCompatibilityUtil.html" title="class in org.apache.iceberg.flink.util">FlinkCompatibilityUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#isPreloadClientEnabled--">isPreloadClientEnabled()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/Type.html#isPrimitiveType--">isPrimitiveType()</a></span> - Method in interface org.apache.iceberg.types.<a href="org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/Type.PrimitiveType.html#isPrimitiveType--">isPrimitiveType()</a></span> - Method in class org.apache.iceberg.types.<a href="org/apache/iceberg/types/Type.PrimitiveType.html" title="class in org.apache.iceberg.types">Type.PrimitiveType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/TypeUtil.html#isPromotionAllowed-org.apache.iceberg.types.Type-org.apache.iceberg.types.Type.PrimitiveType-">isPromotionAllowed(Type, Type.PrimitiveType)</a></span> - Static method in class org.apache.iceberg.types.<a href="org/apache/iceberg/types/TypeUtil.html" title="class in org.apache.iceberg.types">TypeUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#isRemoteSigningEnabled--">isRemoteSigningEnabled()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/Types.NestedField.html#isRequired--">isRequired()</a></span> - Method in class org.apache.iceberg.types.<a href="org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#isS3ChecksumEnabled--">isS3ChecksumEnabled()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#isS3DeleteEnabled--">isS3DeleteEnabled()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/BoundPredicate.html#isSetPredicate--">isSetPredicate()</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/BoundPredicate.html" title="class in org.apache.iceberg.expressions">BoundPredicate</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/BoundSetPredicate.html#isSetPredicate--">isSetPredicate()</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/BoundSetPredicate.html" title="class in org.apache.iceberg.expressions">BoundSetPredicate</a></dt>
@@ -12497,6 +13018,8 @@
 <dd>
 <div class="block">Returns true if the sort order is unsorted</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#isUseArnRegionEnabled--">isUseArnRegionEnabled()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/DateTimeUtil.html#isUTCTimestamptz-java.lang.String-">isUTCTimestamptz(String)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/DateTimeUtil.html" title="class in org.apache.iceberg.util">DateTimeUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#isValidDecimal--">isValidDecimal()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></dt>
@@ -12521,6 +13044,8 @@
 <dd>
 <div class="block">Return whether this transform is the void transform.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#isWriteNamespaceTagEnabled--">isWriteNamespaceTagEnabled()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SetAccumulator.html#isZero--">isZero()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SetAccumulator.html" title="class in org.apache.iceberg.spark.actions">SetAccumulator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorizedTableScanIterable.html#iterator--">iterator()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorizedTableScanIterable.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedTableScanIterable</a></dt>
@@ -12725,6 +13250,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html#latestOffset--">latestOffset()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source">SparkMicroBatchStream</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html#latestOffset-org.apache.spark.sql.connector.read.streaming.Offset-org.apache.spark.sql.connector.read.streaming.ReadLimit-">latestOffset(Offset, ReadLimit)</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source">SparkMicroBatchStream</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SnapshotUtil.html#latestSnapshot-org.apache.iceberg.Table-java.lang.String-">latestSnapshot(Table, String)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SnapshotUtil.html" title="class in org.apache.iceberg.util">SnapshotUtil</a></dt>
 <dd>
 <div class="block">Fetch the snapshot at the head of the given branch in the given table.</div>
@@ -12911,6 +13438,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#listNamespaces-org.apache.iceberg.catalog.Namespace-">listNamespaces(Namespace)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#listNamespaces--">listNamespaces()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#listNamespaces-org.apache.iceberg.catalog.Namespace-">listNamespaces(Namespace)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#listNamespaces--">listNamespaces()</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#listNamespaces-org.apache.iceberg.catalog.Namespace-">listNamespaces(Namespace)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
@@ -12949,20 +13480,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-int-">listPartition(Map&lt;String, String&gt;, String, String, PartitionSpec, Configuration, MetricsConfig, NameMapping, int)</a></span> - Static method in class org.apache.iceberg.data.<a href="org/apache/iceberg/data/TableMigrationUtil.html" title="class in org.apache.iceberg.data">TableMigrationUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkTableUtil.html#listPartition-org.apache.iceberg.spark.SparkTableUtil.SparkPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.hadoop.SerializableConfiguration-org.apache.iceberg.MetricsConfig-">listPartition(SparkTableUtil.SparkPartition, PartitionSpec, SerializableConfiguration, MetricsConfig)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark">SparkTableUtil</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec,
-     Configuration, MetricsConfig, NameMapping)</code></a></span></div>
-</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkTableUtil.html#listPartition-org.apache.iceberg.spark.SparkTableUtil.SparkPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.hadoop.SerializableConfiguration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-">listPartition(SparkTableUtil.SparkPartition, PartitionSpec, SerializableConfiguration, MetricsConfig, NameMapping)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark">SparkTableUtil</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">use <a href="org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec,
-     Configuration, MetricsConfig, NameMapping)</code></a></span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalog.html#listPartitions-org.apache.flink.table.catalog.ObjectPath-">listPartitions(ObjectPath)</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalog.html" title="class in org.apache.iceberg.flink">FlinkCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalog.html#listPartitions-org.apache.flink.table.catalog.ObjectPath-org.apache.flink.table.catalog.CatalogPartitionSpec-">listPartitions(ObjectPath, CatalogPartitionSpec)</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalog.html" title="class in org.apache.iceberg.flink">FlinkCatalog</a></dt>
@@ -13005,6 +13522,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#listTables-org.apache.iceberg.catalog.Namespace-">listTables(Namespace)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#listTables-org.apache.iceberg.catalog.Namespace-">listTables(Namespace)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#listTables-org.apache.iceberg.catalog.Namespace-">listTables(Namespace)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieCatalog.html#listTables-org.apache.iceberg.catalog.Namespace-">listTables(Namespace)</a></span> - Method in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></dt>
@@ -13079,12 +13598,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html#loadCatalog--">loadCatalog()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.RESTCatalogLoader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkTableUtil.html#loadCatalogMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-">loadCatalogMetadataTable(SparkSession, Table, MetadataTableType)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark">SparkTableUtil</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">since 0.14.0, will be removed in 0.15.0; use <a href="org/apache/iceberg/spark/SparkTableUtil.html#loadMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-"><code>SparkTableUtil.loadMetadataTable(SparkSession, Table, MetadataTableType)</code></a>.</span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/common/DynClasses.Builder.html#loader-java.lang.ClassLoader-">loader(ClassLoader)</a></span> - Method in class org.apache.iceberg.common.<a href="org/apache/iceberg/common/DynClasses.Builder.html" title="class in org.apache.iceberg.common">DynClasses.Builder</a></dt>
 <dd>
 <div class="block">Set the <code>ClassLoader</code> used to lookup classes by name.</div>
@@ -13105,6 +13618,8 @@
 <dd>
 <div class="block">Load a custom <a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io"><code>FileIO</code></a> implementation.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html#loadFunction-org.apache.spark.sql.connector.catalog.Identifier-">loadFunction(Identifier)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#loadIcebergCatalog-org.apache.spark.sql.SparkSession-java.lang.String-">loadIcebergCatalog(SparkSession, String)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
 <dd>
 <div class="block">Returns the underlying Iceberg Catalog object represented by a Spark Catalog</div>
@@ -13145,6 +13660,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#loadNamespaceMetadata-org.apache.iceberg.catalog.Namespace-">loadNamespaceMetadata(Namespace)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#loadNamespaceMetadata-org.apache.iceberg.catalog.Namespace-">loadNamespaceMetadata(Namespace)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#loadNamespaceMetadata-org.apache.iceberg.catalog.Namespace-">loadNamespaceMetadata(Namespace)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieCatalog.html#loadNamespaceMetadata-org.apache.iceberg.catalog.Namespace-">loadNamespaceMetadata(Namespace)</a></span> - Method in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></dt>
@@ -13272,6 +13789,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopOutputFile.html#location--">location()</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopOutputFile.html" title="class in org.apache.iceberg.hadoop">HadoopOutputFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryInputFile.html#location--">location()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryInputFile</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html#location--">location()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryOutputFile</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FileInfo.html#location--">location()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileInfo.html" title="class in org.apache.iceberg.io">FileInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/InputFile.html#location--">location()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a></dt>
@@ -13334,6 +13855,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/util/LocationUtil.html" title="class in org.apache.iceberg.util"><span class="typeNameLink">LocationUtil</span></a> - Class in <a href="org/apache/iceberg/util/package-summary.html">org.apache.iceberg.util</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/NoLock.html#lock--">lock()</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive">NoLock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#LOCK_ACQUIRE_INTERVAL_MS">LOCK_ACQUIRE_INTERVAL_MS</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#LOCK_ACQUIRE_INTERVAL_MS_DEFAULT">LOCK_ACQUIRE_INTERVAL_MS_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
@@ -13354,6 +13877,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_TIMEOUT_MS_DEFAULT">LOCK_HEARTBEAT_TIMEOUT_MS_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/ConfigProperties.html#LOCK_HIVE_ENABLED">LOCK_HIVE_ENABLED</a></span> - Static variable in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/ConfigProperties.html" title="class in org.apache.iceberg.hadoop">ConfigProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CatalogProperties.html#LOCK_IMPL">LOCK_IMPL</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg">CatalogProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopTables.html#LOCK_PROPERTY_PREFIX">LOCK_PROPERTY_PREFIX</a></span> - Static variable in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopTables.html" title="class in org.apache.iceberg.hadoop">HadoopTables</a></dt>
@@ -13388,9 +13913,15 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetValueReaders.LongAsDecimalReader.html#LongAsDecimalReader-org.apache.parquet.column.ColumnDescriptor-int-">LongAsDecimalReader(ColumnDescriptor, int)</a></span> - Constructor for class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetValueReaders.LongAsDecimalReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.LongAsDecimalReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#longBackedDecimalBatchReader--">longBackedDecimalBatchReader()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html#LongBackedDecimalBatchReader--">LongBackedDecimalBatchReader()</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBackedDecimalBatchReader</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html#longBackedDecimalDictEncodedReader--">longBackedDecimalDictEncodedReader()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedDictionaryEncodedParquetValuesReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#longBatchReader--">longBatchReader()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></dt>
@@ -13466,8 +13997,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/AvroSchemaUtil.html#makeCompatibleName-java.lang.String-">makeCompatibleName(String)</a></span> - Static method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/AvroSchemaUtil.html" title="class in org.apache.iceberg.avro">AvroSchemaUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#manager--">manager()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseTable.html#manageSnapshots--">manageSnapshots()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseTable.html" title="class in org.apache.iceberg">BaseTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseTransaction.html#manageSnapshots--">manageSnapshots()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseTransaction.html" title="class in org.apache.iceberg">BaseTransaction</a></dt>
@@ -13713,24 +14242,50 @@
 <dd>
 <div class="block">Returns the maximum value of the histogram observations.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkReadOptions.html#MAX_ALLOWED_PLANNING_FAILURES">MAX_ALLOWED_PLANNING_FAILURES</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkReadOptions.html" title="class in org.apache.iceberg.flink">FlinkReadOptions</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkReadOptions.html#MAX_ALLOWED_PLANNING_FAILURES_OPTION">MAX_ALLOWED_PLANNING_FAILURES_OPTION</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkReadOptions.html" title="class in org.apache.iceberg.flink">FlinkReadOptions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES">MAX_CONCURRENT_FILE_GROUP_REWRITES</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></dt>
 <dd>
 <div class="block">The max number of file groups to be simultaneously rewritten by the rewrite strategy.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES">MAX_CONCURRENT_FILE_GROUP_REWRITES</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></dt>
+<dd>
+<div class="block">The max number of file groups to be simultaneously rewritten by the rewrite strategy.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.html#MAX_FILE_GROUP_SIZE_BYTES">MAX_FILE_GROUP_SIZE_BYTES</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></dt>
 <dd>
 <div class="block">The entire rewrite operation is broken down into pieces based on partitioning and within
  partitions based on size into groups.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MAX_FILE_GROUP_SIZE_BYTES">MAX_FILE_GROUP_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>
+<div class="block">This option controls the largest amount of data that should be rewritten in a single file
+ group.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.html#MAX_FILE_GROUP_SIZE_BYTES_DEFAULT">MAX_FILE_GROUP_SIZE_BYTES_DEFAULT</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MAX_FILE_GROUP_SIZE_BYTES_DEFAULT">MAX_FILE_GROUP_SIZE_BYTES_DEFAULT</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_BYTES">MAX_FILE_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Adjusts files which will be considered for rewriting.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MAX_FILE_SIZE_BYTES">MAX_FILE_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>
+<div class="block">Controls which files will be considered for rewriting.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_DEFAULT_RATIO">MAX_FILE_SIZE_DEFAULT_RATIO</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MAX_FILE_SIZE_DEFAULT_RATIO">MAX_FILE_SIZE_DEFAULT_RATIO</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkReadOptions.html#MAX_PLANNING_SNAPSHOT_COUNT">MAX_PLANNING_SNAPSHOT_COUNT</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkReadOptions.html" title="class in org.apache.iceberg.flink">FlinkReadOptions</a></dt>
 <dd>&nbsp;</dd>
@@ -13748,8 +14303,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/MaxAggregate.html#MaxAggregate-org.apache.iceberg.expressions.BoundTerm-">MaxAggregate(BoundTerm&lt;T&gt;)</a></span> - Constructor for class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/MaxAggregate.html" title="class in org.apache.iceberg.expressions">MaxAggregate</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkReadConf.html#maxAllowedPlanningFailures--">maxAllowedPlanningFailures()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkReadConf.html" title="class in org.apache.iceberg.flink">FlinkReadConf</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/IcebergSource.Builder.html#maxAllowedPlanningFailures-int-">maxAllowedPlanningFailures(int)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/ScanContext.Builder.html#maxAllowedPlanningFailures-int-">maxAllowedPlanningFailures(int)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/ScanContext.html#maxAllowedPlanningFailures--">maxAllowedPlanningFailures()</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/ScanContext.html" title="class in org.apache.iceberg.flink.source">ScanContext</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ContentCache.html#maxContentLength--">maxContentLength()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ContentCache.html" title="class in org.apache.iceberg.io">ContentCache</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadConf.html#maxFilesPerMicroBatch--">maxFilesPerMicroBatch()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/actions/RewriteDataFilesAction.html#maxParallelism-int-">maxParallelism(int)</a></span> - Method in class org.apache.iceberg.flink.actions.<a href="org/apache/iceberg/flink/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.flink.actions">RewriteDataFilesAction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkReadConf.html#maxPlanningSnapshotCount--">maxPlanningSnapshotCount()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkReadConf.html" title="class in org.apache.iceberg.flink">FlinkReadConf</a></dt>
@@ -13760,12 +14325,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/ScanContext.html#maxPlanningSnapshotCount--">maxPlanningSnapshotCount()</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/ScanContext.html" title="class in org.apache.iceberg.flink.source">ScanContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadConf.html#maxRecordsPerMicroBatch--">maxRecordsPerMicroBatch()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.SetSnapshotRef.html#maxRefAgeMs--">maxRefAgeMs()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.SetSnapshotRef.html" title="class in org.apache.iceberg">MetadataUpdate.SetSnapshotRef</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotRef.Builder.html#maxRefAgeMs-java.lang.Long-">maxRefAgeMs(Long)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotRef.Builder.html" title="class in org.apache.iceberg">SnapshotRef.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotRef.html#maxRefAgeMs--">maxRefAgeMs()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotRef.html" title="class in org.apache.iceberg">SnapshotRef</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#maxRewrittenDataSequenceNumber--">maxRewrittenDataSequenceNumber()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#maxSnapshotAge--">maxSnapshotAge()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SnapshotRetentionContext.html#maxSnapshotAge--">maxSnapshotAge()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SnapshotRetentionContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SnapshotRetentionContext</a></dt>
@@ -13903,6 +14472,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg"><span class="typeNameLink">MetadataColumns</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkChangelogTable.html#metadataColumns--">metadataColumns()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkChangelogTable.html" title="class in org.apache.iceberg.spark.source">SparkChangelogTable</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkTable.html#metadataColumns--">metadataColumns()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#metadataFieldIds--">metadataFieldIds()</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
@@ -13936,10 +14507,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/reader/MetaDataReaderFunction.html#MetaDataReaderFunction-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-">MetaDataReaderFunction(ReadableConfig, Schema, Schema, FileIO, EncryptionManager)</a></span> - Constructor for class org.apache.iceberg.flink.source.reader.<a href="org/apache/iceberg/flink/source/reader/MetaDataReaderFunction.html" title="class in org.apache.iceberg.flink.source.reader">MetaDataReaderFunction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html#metadataSchema--">metadataSchema()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write">ExtendedLogicalWriteInfo</a></dt>
-<dd>
-<div class="block">The schema of the input metadata from Spark to data source.</div>
-</dd>
 <dt><a href="org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg"><span class="typeNameLink">MetadataTableType</span></a> - Enum in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/MetadataTableUtils.html" title="class in org.apache.iceberg"><span class="typeNameLink">MetadataTableUtils</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -14143,6 +14710,15 @@
 <dd>
 <div class="block">This interface defines the basic API for reporting metrics for operations to a Table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter(MetricsReporter)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></dt>
+<dd>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+</dd>
+<dt><a href="org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">MetricsReporters</span></a> - Class in <a href="org/apache/iceberg/metrics/package-summary.html">org.apache.iceberg.metrics</a></dt>
+<dd>
+<div class="block">Utility class that allows combining two given <a href="org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics"><code>MetricsReporter</code></a> instances.</div>
+</dd>
 <dt><a href="org/apache/iceberg/MetricsUtil.html" title="class in org.apache.iceberg"><span class="typeNameLink">MetricsUtil</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/MetricsUtil.ReadableColMetricsStruct.html" title="class in org.apache.iceberg"><span class="typeNameLink">MetricsUtil.ReadableColMetricsStruct</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -14197,7 +14773,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/DateTimeUtil.html#microsToYears-long-">microsToYears(long)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/DateTimeUtil.html" title="class in org.apache.iceberg.util">DateTimeUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseMigrateTableActionResult.html#migratedDataFilesCount--">migratedDataFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions">BaseMigrateTableActionResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/MigrateTable.Result.html#migratedDataFilesCount--">migratedDataFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions">MigrateTable.Result</a></dt>
 <dd>
 <div class="block">Returns the number of migrated data files.</div>
@@ -14231,16 +14809,34 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_BYTES">MIN_FILE_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Adjusts files which will be considered for rewriting.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MIN_FILE_SIZE_BYTES">MIN_FILE_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>
+<div class="block">Controls which files will be considered for rewriting.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_DEFAULT_RATIO">MIN_FILE_SIZE_DEFAULT_RATIO</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MIN_FILE_SIZE_DEFAULT_RATIO">MIN_FILE_SIZE_DEFAULT_RATIO</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES">MIN_INPUT_FILES</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">The minimum number of files that need to be in a file group for it to be considered for
  compaction if the total size of that group is less than the <a href="org/apache/iceberg/actions/RewriteDataFiles.html#TARGET_FILE_SIZE_BYTES"><code>RewriteDataFiles.TARGET_FILE_SIZE_BYTES</code></a>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MIN_INPUT_FILES">MIN_INPUT_FILES</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>
+<div class="block">Any file group exceeding this number of files will be rewritten regardless of other criteria.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES_DEFAULT">MIN_INPUT_FILES_DEFAULT</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#MIN_INPUT_FILES_DEFAULT">MIN_INPUT_FILES_DEFAULT</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestFile.html#MIN_SEQUENCE_NUMBER">MIN_SEQUENCE_NUMBER</a></span> - Static variable in interface org.apache.iceberg.<a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a></dt>
 <dd>&nbsp;</dd>
@@ -14364,6 +14960,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction.DateToMonthsFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction.TimestampNtzToMonthsFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction.TimestampToMonthsFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/UpdateSchema.html#moveAfter-java.lang.String-java.lang.String-">moveAfter(String, String)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/UpdateSchema.html" title="interface in org.apache.iceberg">UpdateSchema</a></dt>
@@ -14378,6 +14976,26 @@
 <dd>
 <div class="block">Move a column from its current position to the start of the schema or its parent struct.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_SIZE">MULTIPART_SIZE</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">The size of a single part for multipart upload requests in bytes (default: 32MB).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_SIZE_DEFAULT">MULTIPART_SIZE_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_SIZE_MIN">MULTIPART_SIZE_MIN</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_THRESHOLD_FACTOR">MULTIPART_THRESHOLD_FACTOR</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">The threshold expressed as a factor times the multipart size at which to switch from uploading
+ using a single put object request to uploading using multipart upload (default: 1.5).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_THRESHOLD_FACTOR_DEFAULT">MULTIPART_THRESHOLD_FACTOR_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#MULTIPART_UPLOAD_THREADS">MULTIPART_UPLOAD_THREADS</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Number of threads to use for uploading parts to S3 (shared pool across all output streams),
+ default to <code>Runtime.availableProcessors()</code></div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.AddPartitionFieldContext.html#multipartIdentifier--">multipartIdentifier()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.AddPartitionFieldContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.AddPartitionFieldContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.CallContext.html#multipartIdentifier--">multipartIdentifier()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.CallContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.CallContext</a></dt>
@@ -14414,6 +15032,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.MultipartIdentifierContext.html#MultipartIdentifierContext-org.antlr.v4.runtime.ParserRuleContext-int-">MultipartIdentifierContext(ParserRuleContext, int)</a></span> - Constructor for class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.MultipartIdentifierContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.MultipartIdentifierContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#multiPartSize--">multiPartSize()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#multipartThresholdFactor--">multipartThresholdFactor()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#multipartUploadThreads--">multipartUploadThreads()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a name="I:N">
 <!--   -->
@@ -14421,21 +15045,27 @@
 <h2 class="title">N</h2>
 <dl>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#name--">name()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html#name--">name()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html" title="interface in org.apache.iceberg.actions">ConvertEqualityDeleteStrategy</a></dt>
 <dd>
 <div class="block">Returns the name of this convert deletes strategy</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#name--">name()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns the name of this rewrite deletes strategy</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteStrategy.html#name--">name()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns the name of this rewrite strategy</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SortStrategy.html#name--">name()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html#name--">name()</a></span> - Method in class org.apache.iceberg.aws.dynamodb.<a href="org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/glue/GlueCatalog.html#name--">name()</a></span> - Method in class org.apache.iceberg.aws.glue.<a href="org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a></dt>
@@ -14480,6 +15110,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#name--">name()</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#name--">name()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#name--">name()</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.RemoveSnapshotRef.html#name--">name()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.RemoveSnapshotRef.html" title="class in org.apache.iceberg">MetadataUpdate.RemoveSnapshotRef</a></dt>
@@ -14500,8 +15132,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SerializableTable.html#name--">name()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SerializableTable.html" title="class in org.apache.iceberg">SerializableTable</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#name--">name()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/BucketFunction.BucketBase.html#name--">name()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/BucketFunction.BucketBase.html" title="class in org.apache.iceberg.spark.functions">BucketFunction.BucketBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/BucketFunction.html#name--">name()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/BucketFunction.html" title="class in org.apache.iceberg.spark.functions">BucketFunction</a></dt>
@@ -14510,6 +15140,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.html#name--">name()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html#name--">name()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampNtzToHoursFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html#name--">name()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampToHoursFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/IcebergVersionFunction.html#name--">name()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/IcebergVersionFunction.html" title="class in org.apache.iceberg.spark.functions">IcebergVersionFunction</a></dt>
@@ -14544,6 +15176,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkCatalog.html#name--">name()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkFunctionCatalog.html#name--">name()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark">SparkFunctionCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html#name--">name()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Table.html#name--">name()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></dt>
@@ -14628,6 +15262,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/dell/ecs/EcsCatalog.html#namespaceExists-org.apache.iceberg.catalog.Namespace-">namespaceExists(Namespace)</a></span> - Method in class org.apache.iceberg.dell.ecs.<a href="org/apache/iceberg/dell/ecs/EcsCatalog.html" title="class in org.apache.iceberg.dell.ecs">EcsCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#namespaceExists-org.apache.iceberg.catalog.Namespace-">namespaceExists(Namespace)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#namespaceExists-org.apache.iceberg.catalog.Namespace-">namespaceExists(Namespace)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html#namespaceExists-java.lang.String:A-">namespaceExists(String[])</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></dt>
@@ -14917,6 +15553,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopFileIO.html#newInputFile-java.lang.String-long-">newInputFile(String, long)</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopFileIO.html" title="class in org.apache.iceberg.hadoop">HadoopFileIO</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html#newInputFile-java.lang.String-">newInputFile(String)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">InMemoryFileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FileIO.html#newInputFile-java.lang.String-">newInputFile(String)</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a></dt>
 <dd>
 <div class="block">Get a <a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><code>InputFile</code></a> instance to read bytes from the file at the given path.</div>
@@ -14956,6 +15594,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopFileIO.html#newOutputFile-java.lang.String-">newOutputFile(String)</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopFileIO.html" title="class in org.apache.iceberg.hadoop">HadoopFileIO</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryFileIO.html#newOutputFile-java.lang.String-">newOutputFile(String)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">InMemoryFileIO</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FileIO.html#newOutputFile-java.lang.String-">newOutputFile(String)</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a></dt>
 <dd>
 <div class="block">Get a <a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io"><code>OutputFile</code></a> instance to write bytes to the file at the given path.</div>
@@ -15168,6 +15808,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopInputFile.html#newStream--">newStream()</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopInputFile.html" title="class in org.apache.iceberg.hadoop">HadoopInputFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryInputFile.html#newStream--">newStream()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryInputFile</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/InputFile.html#newStream--">newStream()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a></dt>
 <dd>
 <div class="block">Opens a new <a href="org/apache/iceberg/io/SeekableInputStream.html" title="class in org.apache.iceberg.io"><code>SeekableInputStream</code></a> for the underlying data file</div>
@@ -15194,6 +15836,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#newTableOps-org.apache.iceberg.catalog.TableIdentifier-">newTableOps(TableIdentifier)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#newTableOps-org.apache.iceberg.catalog.TableIdentifier-">newTableOps(TableIdentifier)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#newTableOps-org.apache.iceberg.catalog.TableIdentifier-">newTableOps(TableIdentifier)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieCatalog.html#newTableOps-org.apache.iceberg.catalog.TableIdentifier-">newTableOps(TableIdentifier)</a></span> - Method in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></dt>
@@ -15224,8 +15868,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkTable.html#newWriteBuilder-org.apache.spark.sql.connector.write.LogicalWriteInfo-">newWriteBuilder(LogicalWriteInfo)</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html#newWriteBuilder-org.apache.spark.sql.connector.write.LogicalWriteInfo-">newWriteBuilder(LogicalWriteInfo)</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write">SupportsDelta</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredDataWriter.html#newWriter-org.apache.iceberg.PartitionSpec-org.apache.iceberg.StructLike-">newWriter(PartitionSpec, StructLike)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredDataWriter.html" title="class in org.apache.iceberg.io">ClusteredDataWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html#newWriter-org.apache.iceberg.PartitionSpec-org.apache.iceberg.StructLike-">newWriter(PartitionSpec, StructLike)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ClusteredEqualityDeleteWriter.html" title="class in org.apache.iceberg.io">ClusteredEqualityDeleteWriter</a></dt>
@@ -15248,7 +15890,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/orc/VectorizedRowBatchIterator.html#next--">next()</a></span> - Method in class org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/VectorizedRowBatchIterator.html" title="class in org.apache.iceberg.orc">VectorizedRowBatchIterator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#next--">next()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ComputeUpdateIterator.html#next--">next()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark">ComputeUpdateIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html#nextBatch-org.apache.arrow.vector.FieldVector-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatch(FieldVector, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.BatchReader</a></dt>
 <dd>&nbsp;</dd>
@@ -15265,7 +15907,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.DoubleBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.DoubleBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.DoubleBatchReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedLengthDecimalBatchReader</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedSizeBinaryBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedSizeBinaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedSizeBinaryBatchReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedWidthTypeBinaryBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedWidthTypeBinaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedWidthTypeBinaryBatchReader</a></dt>
@@ -15273,13 +15917,19 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FloatBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FloatBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FloatBatchReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntBackedDecimalBatchReader</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntegerBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntegerBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntegerBatchReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBackedDecimalBatchReader</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBatchReader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampInt96BatchReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampMillisBatchReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf(FieldVector, int, int, int, NullabilityHolder)</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.VarWidthTypeBatchReader</a></dt>
@@ -15306,6 +15956,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopInputFile.html#NO_LOCATION_PREFERENCE">NO_LOCATION_PREFERENCE</a></span> - Static variable in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopInputFile.html" title="class in org.apache.iceberg.hadoop">HadoopInputFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">NoLock</span></a> - Class in <a href="org/apache/iceberg/hive/package-summary.html">org.apache.iceberg.hive</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/NoLock.html#NoLock--">NoLock()</a></span> - Constructor for class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive">NoLock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetricsModes.None.html#None--">None()</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/MetricsModes.None.html" title="class in org.apache.iceberg">MetricsModes.None</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#nonMetadataColumn-java.lang.String-">nonMetadataColumn(String)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
@@ -15574,8 +16228,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#numOutputFiles-long-">numOutputFiles(long)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Determine how many output files to create when rewriting.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#numOutputFiles-long-">numOutputFiles(long)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>
+<div class="block">Determines the preferable number of output files when rewriting a particular file group.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#numRewrittenDeleteFiles--">numRewrittenDeleteFiles()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html#numRows--">numRows()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/ColumnarBatch.html" title="class in org.apache.iceberg.arrow.vectorized">ColumnarBatch</a></dt>
 <dd>
 <div class="block">Returns the number of rows for read, including filtered rows.</div>
@@ -15747,10 +16408,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/FileMetadata.Builder.html#ofEqualityDeletes-int...-">ofEqualityDeletes(int...)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#offer-org.apache.iceberg.actions.RewriteFileGroup-">offer(RewriteFileGroup)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager.CommitService</a></dt>
-<dd>
-<div class="block">Places a file group in the queue and commits a batch of file groups if <a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#rewritesPerCommit"><code>RewriteDataFilesCommitManager.CommitService.rewritesPerCommit</code></a> number of file groups are present in the queue.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/puffin/BlobMetadata.html#offset--">offset()</a></span> - Method in class org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/BlobMetadata.html" title="class in org.apache.iceberg.puffin">BlobMetadata</a></dt>
 <dd>
 <div class="block">Offset in the file</div>
@@ -15779,6 +16436,10 @@
 <dd>
 <div class="block">Create a UTF8 String from the row value in the arrow vector.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html#ofRow-org.apache.arrow.vector.FixedSizeBinaryVector-int-">ofRow(FixedSizeBinaryVector, int)</a></span> - Method in interface org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StringFactory</a></dt>
+<dd>
+<div class="block">Create a UTF8 String from the row value in the FixedSizeBinaryVector vector.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/DeleteOrphanFiles.html#olderThan-long-">olderThan(long)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a></dt>
 <dd>
 <div class="block">Removes orphan files only if they are older than the given timestamp.</div>
@@ -15871,6 +16532,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/EqualityDeleteRowReader.html#open-org.apache.iceberg.FileScanTask-">open(FileScanTask)</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/EqualityDeleteRowReader.html" title="class in org.apache.iceberg.spark.source">EqualityDeleteRowReader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/MicroBatches.html#openManifestFile-org.apache.iceberg.io.FileIO-java.util.Map-boolean-org.apache.iceberg.Snapshot-org.apache.iceberg.ManifestFile-boolean-">openManifestFile(FileIO, Map&lt;Integer, PartitionSpec&gt;, boolean, Snapshot, ManifestFile, boolean)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/MicroBatches.html" title="class in org.apache.iceberg">MicroBatches</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/AddedRowsScanTask.html#operation--">operation()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/AddedRowsScanTask.html" title="interface in org.apache.iceberg">AddedRowsScanTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseOverwriteFiles.html#operation--">operation()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseOverwriteFiles.html" title="class in org.apache.iceberg">BaseOverwriteFiles</a></dt>
@@ -15897,12 +16560,16 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/StreamingDelete.html#operation--">operation()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/view/ViewVersion.html#operation--">operation()</a></span> - Method in interface org.apache.iceberg.view.<a href="org/apache/iceberg/view/ViewVersion.html" title="interface in org.apache.iceberg.view">ViewVersion</a></dt>
+<dd>
+<div class="block">Return the operation which produced the view version</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/OutputFileFactory.Builder.html#operationId-java.lang.String-">operationId(String)</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/OutputFileFactory.Builder.html" title="class in org.apache.iceberg.io">OutputFileFactory.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetadataTable.html#operations--">operations()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetadataTable.html" title="class in org.apache.iceberg">BaseMetadataTable</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 2.0.0; do not use metadata table TableOperations</span></div>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; do not use metadata table TableOperations</span></div>
 </div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseTable.html#operations--">operations()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseTable.html" title="class in org.apache.iceberg">BaseTable</a></dt>
@@ -15941,25 +16608,27 @@
 <div class="block">Configures this action with extra options.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#options-java.util.Map-">options(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html#options-java.util.Map-">options(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html" title="interface in org.apache.iceberg.actions">ConvertEqualityDeleteStrategy</a></dt>
 <dd>
 <div class="block">Sets options to be used with this strategy</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#options-java.util.Map-">options(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets options to be used with this strategy</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteStrategy.html#options-java.util.Map-">options(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets options to be used with this strategy</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SortStrategy.html#options-java.util.Map-">options(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#options-java.util.Map-">options(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#options-java.util.Map-">options(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/Expressions.html#or-org.apache.iceberg.expressions.Expression-org.apache.iceberg.expressions.Expression-">or(Expression, Expression)</a></span> - Static method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Expressions.html" title="class in org.apache.iceberg.expressions">Expressions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/ExpressionVisitors.CustomOrderExpressionVisitor.html#or-java.util.function.Supplier-java.util.function.Supplier-">or(Supplier&lt;R&gt;, Supplier&lt;R&gt;)</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/ExpressionVisitors.CustomOrderExpressionVisitor.html" title="class in org.apache.iceberg.expressions">ExpressionVisitors.CustomOrderExpressionVisitor</a></dt>
@@ -16102,6 +16771,8 @@
 <dd>
 <div class="block">Returns the ID of this sort order</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteRequirements.html#ordering--">ordering()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteJobOrder.html#orderName--">orderName()</a></span> - Method in enum org.apache.iceberg.<a href="org/apache/iceberg/RewriteJobOrder.html" title="enum in org.apache.iceberg">RewriteJobOrder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/SortOrderUtil.html#orderPreservingSortedColumns-org.apache.iceberg.SortOrder-">orderPreservingSortedColumns(SortOrder)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/SortOrderUtil.html" title="class in org.apache.iceberg.util">SortOrderUtil</a></dt>
@@ -16136,6 +16807,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/aws/s3/signer/package-summary.html">org.apache.iceberg.aws.s3.signer</a> - package org.apache.iceberg.aws.s3.signer</dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/aws/util/package-summary.html">org.apache.iceberg.aws.util</a> - package org.apache.iceberg.aws.util</dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/catalog/package-summary.html">org.apache.iceberg.catalog</a> - package org.apache.iceberg.catalog</dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/common/package-summary.html">org.apache.iceberg.common</a> - package org.apache.iceberg.common</dt>
@@ -16192,6 +16865,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/hive/package-summary.html">org.apache.iceberg.hive</a> - package org.apache.iceberg.hive</dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/inmemory/package-summary.html">org.apache.iceberg.inmemory</a> - package org.apache.iceberg.inmemory</dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a> - package org.apache.iceberg.io</dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/jdbc/package-summary.html">org.apache.iceberg.jdbc</a> - package org.apache.iceberg.jdbc</dt>
@@ -16262,8 +16937,6 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/spark/sql/connector/iceberg/catalog/package-summary.html">org.apache.spark.sql.connector.iceberg.catalog</a> - package org.apache.spark.sql.connector.iceberg.catalog</dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a> - package org.apache.spark.sql.connector.iceberg.write</dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/common/DynMethods.Builder.html#orNoop--">orNoop()</a></span> - Method in class org.apache.iceberg.common.<a href="org/apache/iceberg/common/DynMethods.Builder.html" title="class in org.apache.iceberg.common">DynMethods.Builder</a></dt>
 <dd>
 <div class="block">If no implementation has been found, adds a NOOP method.</div>
@@ -16274,7 +16947,9 @@
  Exception.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html#orphanFileLocations--">orphanFileLocations()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteOrphanFilesActionResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/DeleteOrphanFiles.Result.html#orphanFileLocations--">orphanFileLocations()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a></dt>
 <dd>
 <div class="block">Returns locations of orphan files.</div>
@@ -16317,6 +16992,8 @@
  string form has the syntax as below, which refers to RFC2396: [scheme:][//bucket][object
  key][#fragment] [scheme:][//bucket][object key][?query][#fragment]</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#OUTPUT_SPEC_ID">OUTPUT_SPEC_ID</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/InputFormatConfig.html#OUTPUT_TABLES">OUTPUT_TABLES</a></span> - Static variable in class org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">OutputFile</span></a> - Interface in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
@@ -16333,6 +17010,8 @@
 <dd>
 <div class="block">Pass a PartitionSpec id to specify which PartitionSpec should be used in DataFile rewrite</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#outputSpecId--">outputSpecId()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html#outputTables-org.apache.hadoop.conf.Configuration-">outputTables(Configuration)</a></span> - Static method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></dt>
 <dd>
 <div class="block">Returns the names of the output tables stored in the configuration.</div>
@@ -16345,6 +17024,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html#outputType--">outputType()</a></span> - Method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html#outputType--">outputType()</a></span> - Method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RewritePositionDeleteFilesProcedure</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/catalog/Procedure.html#outputType--">outputType()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.catalog.<a href="org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">Procedure</a></dt>
 <dd>
 <div class="block">Returns the type of rows produced by this procedure.</div>
@@ -16455,6 +17136,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html#parameters--">parameters()</a></span> - Method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html#parameters--">parameters()</a></span> - Method in class org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RewritePositionDeleteFilesProcedure</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/catalog/Procedure.html#parameters--">parameters()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.catalog.<a href="org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">Procedure</a></dt>
 <dd>
 <div class="block">Returns the input parameters of this procedure.</div>
@@ -16670,21 +17353,41 @@
 <div class="block">Enable committing groups of files (see max-file-group-size-bytes) prior to the entire rewrite
  completing.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_ENABLED">PARTIAL_PROGRESS_ENABLED</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></dt>
+<dd>
+<div class="block">Enable committing groups of files (see max-file-group-size-bytes) prior to the entire rewrite
+ completing.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_ENABLED_DEFAULT">PARTIAL_PROGRESS_ENABLED_DEFAULT</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_ENABLED_DEFAULT">PARTIAL_PROGRESS_ENABLED_DEFAULT</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_MAX_COMMITS">PARTIAL_PROGRESS_MAX_COMMITS</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></dt>
 <dd>
 <div class="block">The maximum amount of Iceberg commits that this rewrite is allowed to produce if partial
  progress is enabled.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_MAX_COMMITS">PARTIAL_PROGRESS_MAX_COMMITS</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></dt>
+<dd>
+<div class="block">The maximum amount of Iceberg commits that this rewrite is allowed to produce if partial
+ progress is enabled.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.html#PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#partition--">partition()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesFileGroupInfo</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#partition--">partition()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesFileGroupInfo</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html#partition--">partition()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></dt>
 <dd>
 <div class="block">returns which partition this file group contains files from</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html#partition--">partition()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupInfo</a></dt>
+<dd>
+<div class="block">Returns which partition this position delete file group contains files from.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ContentFile.html#partition--">partition()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a></dt>
 <dd>
 <div class="block">Returns partition for this file as a <a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg"><code>StructLike</code></a>.</div>
@@ -16707,6 +17410,8 @@
 <dd>
 <div class="block">Returns the value of the partition for this scan task</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/PositionDeletesTable.html#PARTITION">PARTITION</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/PositionDeletesTable.html" title="class in org.apache.iceberg">PositionDeletesTable</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.html#partition-org.apache.spark.sql.catalyst.InternalRow-">partition(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedFanoutWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkPartitionedWriter.html#partition-org.apache.spark.sql.catalyst.InternalRow-">partition(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedWriter</a></dt>
@@ -16774,11 +17479,18 @@
 <div class="block">Represents a single field in a <a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>PartitionSpec</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#partitionIndex--">partitionIndex()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesFileGroupInfo</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html#partitionIndex--">partitionIndex()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></dt>
 <dd>
 <div class="block">returns which file group this is out of the set of file groups for this partition</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html#partitionIndex--">partitionIndex()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupInfo</a></dt>
+<dd>
+<div class="block">Returns which position delete file group this is out of the set of file groups for this
+ partition</div>
+</dd>
 <dt><a href="org/apache/iceberg/Partitioning.html" title="class in org.apache.iceberg"><span class="typeNameLink">Partitioning</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/RollbackStagedTable.html#partitioning--">partitioning()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark">RollbackStagedTable</a></dt>
@@ -16889,6 +17601,13 @@
 <dd>
 <div class="block">Returns fully qualified path to the file, suitable for constructing a Hadoop Path.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#PATH_STYLE_ACCESS">PATH_STYLE_ACCESS</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">If set <code>true</code>, requests to S3FileIO will use Path-Style, otherwise, Virtual Hosted-Style
+ will be used.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#PATH_STYLE_ACCESS_DEFAULT">PATH_STYLE_ACCESS_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/PathIdentifier.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">PathIdentifier</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/PathIdentifier.html#PathIdentifier-java.lang.String-">PathIdentifier(String)</a></span> - Constructor for class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/PathIdentifier.html" title="class in org.apache.iceberg.spark">PathIdentifier</a></dt>
@@ -16925,14 +17644,25 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#planDeleteFileGroups-java.lang.Iterable-">planDeleteFileGroups(Iterable&lt;DeleteFile&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Groups into lists which will be processed in a single executable unit.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#planFileGroups-java.lang.Iterable-">planFileGroups(Iterable&lt;FileScanTask&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/FileRewriter.html#planFileGroups-java.lang.Iterable-">planFileGroups(Iterable&lt;T&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions">FileRewriter</a></dt>
+<dd>
+<div class="block">Selects files which this rewriter believes are valid targets to be rewritten based on their
+ scan tasks and groups those scan tasks into file groups.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteStrategy.html#planFileGroups-java.lang.Iterable-">planFileGroups(Iterable&lt;FileScanTask&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Groups file scans into lists which will be processed in a single executable unit.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#planFileGroups-java.lang.Iterable-">planFileGroups(Iterable&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Scan.html#planFiles--">planFiles()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></dt>
 <dd>
 <div class="block">Plan tasks for this scan where each task reads a single file.</div>
@@ -17022,6 +17752,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html#PositionDeletesBatchScan-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">PositionDeletesBatchScan(Table, Schema, TableScanContext)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html" title="class in org.apache.iceberg">PositionDeletesTable.PositionDeletesBatchScan</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">PositionDeletesRewriteCoordinator</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/PositionDeletesScanTask.html" title="interface in org.apache.iceberg"><span class="typeNameLink">PositionDeletesScanTask</span></a> - Interface in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>
 <div class="block">A <a href="org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg"><code>ScanTask</code></a> for position delete files</div>
@@ -17039,8 +17771,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/deletes/PositionDeleteWriter.html#PositionDeleteWriter-org.apache.iceberg.io.FileAppender-org.apache.iceberg.FileFormat-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.iceberg.StructLike-org.apache.iceberg.encryption.EncryptionKeyMetadata-">PositionDeleteWriter(FileAppender&lt;StructLike&gt;, FileFormat, String, PartitionSpec, StructLike, EncryptionKeyMetadata)</a></span> - Constructor for class org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/PositionDeleteWriter.html" title="class in org.apache.iceberg.deletes">PositionDeleteWriter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#positionDeltaMergeDistributionMode--">positionDeltaMergeDistributionMode()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#positionDeltaRequirements-org.apache.spark.sql.connector.write.RowLevelOperation.Command-">positionDeltaRequirements(RowLevelOperation.Command)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteUtil.html#positionDeltaRequirements-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.iceberg.DistributionMode-">positionDeltaRequirements(Table, RowLevelOperation.Command, DistributionMode)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteUtil.html" title="class in org.apache.iceberg.spark">SparkWriteUtil</a></dt>
+<dd>
+<div class="block">Builds requirements for merge-on-read DELETE, UPDATE, MERGE operations.</div>
+</dd>
 <dt><a href="org/apache/iceberg/io/PositionDeltaWriter.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">PositionDeltaWriter</span></a>&lt;<a href="org/apache/iceberg/io/PositionDeltaWriter.html" title="type parameter in PositionDeltaWriter">T</a>&gt; - Interface in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>
 <div class="block">A writer capable of writing data and position deletes that may belong to different specs and
@@ -17054,7 +17790,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.html#positionsWithSetArrowValidityVector--">positionsWithSetArrowValidityVector()</a></span> - Static method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedArrowReader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html#PositionVectorHolder-org.apache.arrow.vector.FieldVector-org.apache.iceberg.types.Type-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">PositionVectorHolder(FieldVector, Type, NullabilityHolder)</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.PositionVectorHolder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html#PositionVectorHolder-org.apache.arrow.vector.FieldVector-org.apache.iceberg.types.Types.NestedField-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">PositionVectorHolder(FieldVector, Types.NestedField, NullabilityHolder)</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder.PositionVectorHolder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/HTTPClient.html#post-java.lang.String-org.apache.iceberg.rest.RESTRequest-java.lang.Class-java.util.Map-java.util.function.Consumer-">post(String, RESTRequest, Class&lt;T&gt;, Map&lt;String, String&gt;, Consumer&lt;ErrorResponse&gt;)</a></span> - Method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/HTTPClient.html" title="class in org.apache.iceberg.rest">HTTPClient</a></dt>
 <dd>&nbsp;</dd>
@@ -17121,6 +17857,13 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/DeleteOrphanFilesSparkAction.html#prefixMismatchMode-org.apache.iceberg.actions.DeleteOrphanFiles.PrefixMismatchMode-">prefixMismatchMode(DeleteOrphanFiles.PrefixMismatchMode)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#PRELOAD_CLIENT_ENABLED">PRELOAD_CLIENT_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">This flag controls whether the S3 client will be initialized during the S3FileIO
+ initialization, instead of default lazy initialization upon use.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#PRELOAD_CLIENT_ENABLED_DEFAULT">PRELOAD_CLIENT_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ManifestWriter.html#prepare-org.apache.iceberg.ManifestEntry-">prepare(ManifestEntry&lt;F&gt;)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/pig/IcebergStorage.html#prepareToRead-org.apache.hadoop.mapreduce.RecordReader-org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit-">prepareToRead(RecordReader, PigSplit)</a></span> - Method in class org.apache.iceberg.pig.<a href="org/apache/iceberg/pig/IcebergStorage.html" title="class in org.apache.iceberg.pig">IcebergStorage</a></dt>
@@ -17237,12 +17980,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.DateToDaysFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampNtzToDaysFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampToDaysFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampNtzToHoursFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampToHoursFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.DateToMonthsFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampNtzToMonthsFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampToMonthsFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateBigInt</a></dt>
@@ -17261,6 +18010,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.DateToYearsFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampNtzToYearsFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html#produceResult-org.apache.spark.sql.catalyst.InternalRow-">produceResult(InternalRow)</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampToYearsFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#producesDictionaryEncodedVector--">producesDictionaryEncodedVector()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></dt>
@@ -17506,6 +18257,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/PruneColumnsWithReordering.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">PruneColumnsWithReordering</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/util/RetryDetector.html#publish-software.amazon.awssdk.metrics.MetricCollection-">publish(MetricCollection)</a></span> - Method in class org.apache.iceberg.aws.util.<a href="org/apache/iceberg/aws/util/RetryDetector.html" title="class in org.apache.iceberg.aws.util">RetryDetector</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotSummary.html#PUBLISHED_WAP_ID_PROP">PUBLISHED_WAP_ID_PROP</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotSummary.html" title="class in org.apache.iceberg">SnapshotSummary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/WapUtil.html#publishedWapId-org.apache.iceberg.Snapshot-">publishedWapId(Snapshot)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/WapUtil.html" title="class in org.apache.iceberg.util">WapUtil</a></dt>
@@ -18086,6 +18839,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/ByteBufferInputStream.html#remainingStream--">remainingStream()</a></span> - Method in class org.apache.iceberg.io.<a href="org/apache/iceberg/io/ByteBufferInputStream.html" title="class in org.apache.iceberg.io">ByteBufferInputStream</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#REMOTE_SIGNING_ENABLED">REMOTE_SIGNING_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#REMOTE_SIGNING_ENABLED_DEFAULT">REMOTE_SIGNING_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/requests/UpdateNamespacePropertiesRequest.html#removals--">removals()</a></span> - Method in class org.apache.iceberg.rest.requests.<a href="org/apache/iceberg/rest/requests/UpdateNamespacePropertiesRequest.html" title="class in org.apache.iceberg.rest.requests">UpdateNamespacePropertiesRequest</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/requests/UpdateNamespacePropertiesRequest.Builder.html#remove-java.lang.String-">remove(String)</a></span> - Method in class org.apache.iceberg.rest.requests.<a href="org/apache/iceberg/rest/requests/UpdateNamespacePropertiesRequest.Builder.html" title="class in org.apache.iceberg.rest.requests">UpdateNamespacePropertiesRequest.Builder</a></dt>
@@ -18126,6 +18883,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotManager.html#removeBranch-java.lang.String-">removeBranch(String)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotManager.html" title="class in org.apache.iceberg">SnapshotManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#removeCarryovers-java.util.Iterator-org.apache.spark.sql.types.StructType-">removeCarryovers(Iterator&lt;Row&gt;, StructType)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dd>
+<div class="block">Creates an iterator that removes carry-over rows from a changelog table.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.RemoveProperties.html#removed--">removed()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.RemoveProperties.html" title="class in org.apache.iceberg">MetadataUpdate.RemoveProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/responses/UpdateNamespacePropertiesResponse.html#removed--">removed()</a></span> - Method in class org.apache.iceberg.rest.responses.<a href="org/apache/iceberg/rest/responses/UpdateNamespacePropertiesResponse.html" title="class in org.apache.iceberg.rest.responses">UpdateNamespacePropertiesResponse</a></dt>
@@ -18222,6 +18983,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#removeProperties-org.apache.iceberg.catalog.Namespace-java.util.Set-">removeProperties(Namespace, Set&lt;String&gt;)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#removeProperties-org.apache.iceberg.catalog.Namespace-java.util.Set-">removeProperties(Namespace, Set&lt;String&gt;)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#removeProperties-org.apache.iceberg.catalog.Namespace-java.util.Set-">removeProperties(Namespace, Set&lt;String&gt;)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.RemoveProperties.html#RemoveProperties-java.util.Set-">RemoveProperties(Set&lt;String&gt;)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.RemoveProperties.html" title="class in org.apache.iceberg">MetadataUpdate.RemoveProperties</a></dt>
@@ -18264,10 +19027,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotManager.html#removeTag-java.lang.String-">removeTag(String)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotManager.html" title="class in org.apache.iceberg">SnapshotManager</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html#removeTasks-org.apache.iceberg.Table-java.lang.String-">removeTasks(Table, String)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ScanTaskSetManager.html#removeTasks-org.apache.iceberg.Table-java.lang.String-">removeTasks(Table, String)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark">ScanTaskSetManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/Avro.ReadBuilder.html#rename-java.lang.String-java.lang.String-">rename(String, String)</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/Avro.ReadBuilder.html" title="class in org.apache.iceberg.avro">Avro.ReadBuilder</a></dt>
@@ -18316,6 +19075,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#renameTable-org.apache.iceberg.catalog.TableIdentifier-org.apache.iceberg.catalog.TableIdentifier-">renameTable(TableIdentifier, TableIdentifier)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#renameTable-org.apache.iceberg.catalog.TableIdentifier-org.apache.iceberg.catalog.TableIdentifier-">renameTable(TableIdentifier, TableIdentifier)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#renameTable-org.apache.iceberg.catalog.TableIdentifier-org.apache.iceberg.catalog.TableIdentifier-">renameTable(TableIdentifier, TableIdentifier)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieCatalog.html#renameTable-org.apache.iceberg.catalog.TableIdentifier-org.apache.iceberg.catalog.TableIdentifier-">renameTable(TableIdentifier, TableIdentifier)</a></span> - Method in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></dt>
@@ -18703,14 +19464,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/metrics/ScanMetricsResult.html#resultDeleteFiles--">resultDeleteFiles()</a></span> - Method in interface org.apache.iceberg.metrics.<a href="org/apache/iceberg/metrics/ScanMetricsResult.html" title="interface in org.apache.iceberg.metrics">ScanMetricsResult</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#results--">results()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager.CommitService</a></dt>
-<dd>
-<div class="block">Returns all File groups which have been committed</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/AggregateEvaluator.html#resultType--">resultType()</a></span> - Method in class org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/AggregateEvaluator.html" title="class in org.apache.iceberg.expressions">AggregateEvaluator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/BucketFunction.BucketBase.html#resultType--">resultType()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/BucketFunction.BucketBase.html" title="class in org.apache.iceberg.spark.functions">BucketFunction.BucketBase</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html#resultType--">resultType()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampNtzToHoursFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html#resultType--">resultType()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampToHoursFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html#resultType--">resultType()</a></span> - Method in class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateBigInt</a></dt>
@@ -18757,8 +19516,17 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SnapshotRetentionContext.html#RETENTION--">RETENTION()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SnapshotRetentionContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SnapshotRetentionContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/util/RetryDetector.html#retried--">retried()</a></span> - Method in class org.apache.iceberg.aws.util.<a href="org/apache/iceberg/aws/util/RetryDetector.html" title="class in org.apache.iceberg.aws.util">RetryDetector</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/Tasks.Builder.html#retry-int-">retry(int)</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/Tasks.Builder.html" title="class in org.apache.iceberg.util">Tasks.Builder</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/aws/util/RetryDetector.html" title="class in org.apache.iceberg.aws.util"><span class="typeNameLink">RetryDetector</span></a> - Class in <a href="org/apache/iceberg/aws/util/package-summary.html">org.apache.iceberg.aws.util</a></dt>
+<dd>
+<div class="block">Metrics are the only reliable way provided by the AWS SDK to determine if an API call was
+ retried.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/util/RetryDetector.html#RetryDetector--">RetryDetector()</a></span> - Constructor for class org.apache.iceberg.aws.util.<a href="org/apache/iceberg/aws/util/RetryDetector.html" title="class in org.apache.iceberg.aws.util">RetryDetector</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetValueReaders.ReusableEntry.html#ReusableEntry--">ReusableEntry()</a></span> - Constructor for class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetValueReaders.ReusableEntry.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.ReusableEntry</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/ByteBuffers.html#reuse-java.nio.ByteBuffer-int-">reuse(ByteBuffer, int)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/ByteBuffers.html" title="class in org.apache.iceberg.util">ByteBuffers</a></dt>
@@ -18779,19 +19547,36 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/Tasks.Builder.html#revertWith-org.apache.iceberg.util.Tasks.Task-">revertWith(Tasks.Task&lt;I, ?&gt;)</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/Tasks.Builder.html" title="class in org.apache.iceberg.util">Tasks.Builder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/FileRewriter.html#rewrite-java.util.List-">rewrite(List&lt;T&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions">FileRewriter</a></dt>
+<dd>
+<div class="block">Rewrite a group of files represented by the given list of scan tasks.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL">REWRITE_ALL</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Rewrites all files, regardless of their size.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#REWRITE_ALL">REWRITE_ALL</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>
+<div class="block">Overrides other options and forces rewriting of all provided files.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL_DEFAULT">REWRITE_ALL_DEFAULT</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#REWRITE_ALL_DEFAULT">REWRITE_ALL_DEFAULT</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.html#REWRITE_JOB_ORDER">REWRITE_JOB_ORDER</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></dt>
 <dd>
 <div class="block">Forces the rewrite job order based on the value.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#REWRITE_JOB_ORDER">REWRITE_JOB_ORDER</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></dt>
+<dd>
+<div class="block">Forces the rewrite job order based on the value.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.html#REWRITE_JOB_ORDER_DEFAULT">REWRITE_JOB_ORDER_DEFAULT</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#rewriteCoordinator--">rewriteCoordinator()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html#REWRITE_JOB_ORDER_DEFAULT">REWRITE_JOB_ORDER_DEFAULT</a></span> - Static variable in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ActionsProvider.html#rewriteDataFiles-org.apache.iceberg.Table-">rewriteDataFiles(Table)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions">ActionsProvider</a></dt>
 <dd>
@@ -18805,6 +19590,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkActions.html#rewriteDataFiles-org.apache.iceberg.Table-">rewriteDataFiles(Table)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions">SparkActions</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFiles.FileGroupFailureResult</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block">For a file group that failed to rewrite.</div>
+</dd>
 <dt><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFiles.FileGroupInfo</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
 <dd>
 <div class="block">A description of a file group, when it was processed, and within which partition.</div>
@@ -18848,8 +19637,11 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#rewriteDeleteFiles-java.lang.Iterable-">rewriteDeleteFiles(Iterable&lt;DeleteFile&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Define how to rewrite the deletes.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewriteFailures--">rewriteFailures()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteFileGroup</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
 <dd>
 <div class="block">Container class representing a set of files to be rewritten by a RewriteAction and the new files
@@ -18859,6 +19651,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteStrategy.html#rewriteFiles-java.util.List-">rewriteFiles(List&lt;FileScanTask&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Method which will rewrite files based on this particular RewriteStrategy's algorithm.</div>
 </dd>
 <dt><a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg"><span class="typeNameLink">RewriteFiles</span></a> - Interface in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -18867,22 +19660,22 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteFiles.html#rewriteFiles-java.util.Set-java.util.Set-">rewriteFiles(Set&lt;DataFile&gt;, Set&lt;DataFile&gt;)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></dt>
 <dd>
-<div class="block">Add a rewrite that replaces one set of data files with another set that contains the same data.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteFiles.html#rewriteFiles-java.util.Set-java.util.Set-long-">rewriteFiles(Set&lt;DataFile&gt;, Set&lt;DataFile&gt;, long)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></dt>
 <dd>
-<div class="block">Add a rewrite that replaces one set of data files with another set that contains the same data.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/RewriteFiles.html#rewriteFiles-java.util.Set-java.util.Set-java.util.Set-java.util.Set-">rewriteFiles(Set&lt;DataFile&gt;, Set&lt;DeleteFile&gt;, Set&lt;DataFile&gt;, Set&lt;DeleteFile&gt;)</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></dt>
 <dd>
-<div class="block">Add a rewrite that replaces one set of files with another set that contains the same data.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
+</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html#rewriteFiles-java.util.List-">rewriteFiles(List&lt;FileScanTask&gt;)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkBinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#rewriteFiles-java.util.List-">rewriteFiles(List&lt;FileScanTask&gt;)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#rewriteFiles-java.util.List-">rewriteFiles(List&lt;FileScanTask&gt;)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteManifests.html#rewriteIf-java.util.function.Predicate-">rewriteIf(Predicate&lt;ManifestFile&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions">RewriteManifests</a></dt>
 <dd>
 <div class="block">Rewrites only manifests that match the given predicate.</div>
@@ -18948,44 +19741,116 @@
 <dd>
 <div class="block">An action for rewriting position delete files.</div>
 </dd>
+<dt><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteFiles.FileGroupInfo</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block">A description of a position delete file group, when it was processed, and within which
+ partition.</div>
+</dd>
+<dt><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteFiles.FileGroupRewriteResult</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block">For a particular position delete file group, the number of position delete files which are
+ newly created and the number of files which were formerly part of the table but have been
+ rewritten.</div>
+</dd>
 <dt><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteFiles.Result</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
 <dd>
 <div class="block">The action result that contains a summary of the execution.</div>
 </dd>
+<dt><a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">RewritePositionDeleteFilesProcedure</span></a> - Class in <a href="org/apache/iceberg/spark/procedures/package-summary.html">org.apache.iceberg.spark.procedures</a></dt>
+<dd>
+<div class="block">A procedure that rewrites position delete files in a table.</div>
+</dd>
+<dt><a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">RewritePositionDeleteFilesSparkAction</span></a> - Class in <a href="org/apache/iceberg/spark/actions/package-summary.html">org.apache.iceberg.spark.actions</a></dt>
+<dd>
+<div class="block">Spark implementation of <a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions"><code>RewritePositionDeleteFiles</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ActionsProvider.html#rewritePositionDeletes-org.apache.iceberg.Table-">rewritePositionDeletes(Table)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions">ActionsProvider</a></dt>
+<dd>
+<div class="block">Instantiates an action to rewrite position delete files</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkActions.html#rewritePositionDeletes-org.apache.iceberg.Table-">rewritePositionDeletes(Table)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions">SparkActions</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeletesCommitManager</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block">Functionality used by <a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions"><code>RewritePositionDeleteFiles</code></a> from different platforms to handle
+ commits.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html#RewritePositionDeletesCommitManager-org.apache.iceberg.Table-">RewritePositionDeletesCommitManager(Table)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesCommitManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeletesCommitManager.CommitService</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeletesGroup</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block">Container class representing a set of position delete files to be rewritten by a <a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions"><code>RewritePositionDeleteFiles</code></a> and the new files which have been written by the action.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#RewritePositionDeletesGroup-org.apache.iceberg.actions.RewritePositionDeleteFiles.FileGroupInfo-java.util.List-">RewritePositionDeletesGroup(RewritePositionDeleteFiles.FileGroupInfo, List&lt;PositionDeletesScanTask&gt;)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteStrategy</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
 <dd>
-<div class="block">A strategy for an action to rewrite position delete files.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; Use <a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesResult.html#rewriteResults--">rewriteResults()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesResult.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewriteResults--">rewriteResults()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteStrategy</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#rewriteResults--">rewriteResults()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteStrategy</span></a> - Interface in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><code>FileRewriter</code></a> instead.</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#REWRITTEN_FILE_SCAN_TASK_SET_ID">REWRITTEN_FILE_SCAN_TASK_SET_ID</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#rewrittenBytesCount--">rewrittenBytesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#rewrittenBytes--">rewrittenBytes()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#rewrittenBytesCount--">rewrittenBytesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html#rewrittenBytesCount--">rewrittenBytesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewrittenBytesCount--">rewrittenBytesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html#rewrittenBytesCount--">rewrittenBytesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupRewriteResult</a></dt>
+<dd>
+<div class="block">Returns the number of bytes of rewritten position delete files in this group.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#rewrittenBytesCount--">rewrittenBytesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a></dt>
+<dd>
+<div class="block">Returns the number of bytes of position delete files that have been rewritten</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#rewrittenDataFilesCount--">rewrittenDataFilesCount()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html#rewrittenDataFilesCount--">rewrittenDataFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewrittenDataFilesCount--">rewrittenDataFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#rewrittenDeleteFiles--">rewrittenDeleteFiles()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html#rewrittenDeleteFilesCount--">rewrittenDeleteFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupRewriteResult</a></dt>
+<dd>
+<div class="block">Returns the count of the position delete files that been rewritten in this group.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#rewrittenDeleteFilesCount--">rewrittenDeleteFilesCount()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a></dt>
 <dd>
-<div class="block">Returns the count of the position deletes that been rewritten.</div>
+<div class="block">Returns the count of the position delete files that have been rewritten.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteFileGroup.html#rewrittenFiles--">rewrittenFiles()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#rewrittenFileSetId--">rewrittenFileSetId()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html#rewrittenManifests--">rewrittenManifests()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">BaseRewriteManifestsActionResult</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteManifests.Result.html#rewrittenManifests--">rewrittenManifests()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions">RewriteManifests.Result</a></dt>
 <dd>
 <div class="block">Returns rewritten manifests.</div>
@@ -19051,13 +19916,13 @@
 </dd>
 <dt><a href="org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html" title="class in org.apache.iceberg.flink.source"><span class="typeNameLink">RowDataFileScanTaskReader</span></a> - Class in <a href="org/apache/iceberg/flink/source/package-summary.html">org.apache.iceberg.flink.source</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html#RowDataFileScanTaskReader-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-">RowDataFileScanTaskReader(Schema, Schema, String, boolean)</a></span> - Constructor for class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html" title="class in org.apache.iceberg.flink.source">RowDataFileScanTaskReader</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html#RowDataFileScanTaskReader-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-java.util.List-">RowDataFileScanTaskReader(Schema, Schema, String, boolean, List&lt;Expression&gt;)</a></span> - Constructor for class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html" title="class in org.apache.iceberg.flink.source">RowDataFileScanTaskReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/flink/data/RowDataProjection.html" title="class in org.apache.iceberg.flink.data"><span class="typeNameLink">RowDataProjection</span></a> - Class in <a href="org/apache/iceberg/flink/data/package-summary.html">org.apache.iceberg.flink.data</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html" title="class in org.apache.iceberg.flink.source.reader"><span class="typeNameLink">RowDataReaderFunction</span></a> - Class in <a href="org/apache/iceberg/flink/source/reader/package-summary.html">org.apache.iceberg.flink.source.reader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html#RowDataReaderFunction-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-">RowDataReaderFunction(ReadableConfig, Schema, Schema, String, boolean, FileIO, EncryptionManager)</a></span> - Constructor for class org.apache.iceberg.flink.source.reader.<a href="org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html" title="class in org.apache.iceberg.flink.source.reader">RowDataReaderFunction</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html#RowDataReaderFunction-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-java.util.List-">RowDataReaderFunction(ReadableConfig, Schema, Schema, String, boolean, FileIO, EncryptionManager, List&lt;Expression&gt;)</a></span> - Constructor for class org.apache.iceberg.flink.source.reader.<a href="org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html" title="class in org.apache.iceberg.flink.source.reader">RowDataReaderFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/flink/source/RowDataRewriter.html" title="class in org.apache.iceberg.flink.source"><span class="typeNameLink">RowDataRewriter</span></a> - Class in <a href="org/apache/iceberg/flink/source/package-summary.html">org.apache.iceberg.flink.source</a></dt>
 <dd>&nbsp;</dd>
@@ -19084,14 +19949,8 @@
 <dd>
 <div class="block">API for encoding row-level changes to a table.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html#rowId--">rowId()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write">SupportsDelta</a></dt>
-<dd>
-<div class="block">Returns the row ID column references that should be used for row equality.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html#rowIdSchema--">rowIdSchema()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write">ExtendedLogicalWriteInfo</a></dt>
-<dd>
-<div class="block">The schema of the ID columns from Spark to data source.</div>
-</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#rowIterator--">rowIterator()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/RowLevelOperationMode.html" title="enum in org.apache.iceberg"><span class="typeNameLink">RowLevelOperationMode</span></a> - Enum in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>
 <div class="block">Iceberg supports two ways to modify records in a table: copy-on-write and merge-on-read.</div>
@@ -19259,86 +20118,191 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/lakeformation/LakeFormationAwsClientFactory.html#s3--">s3()</a></span> - Method in class org.apache.iceberg.aws.lakeformation.<a href="org/apache/iceberg/aws/lakeformation/LakeFormationAwsClientFactory.html" title="class in org.apache.iceberg.aws.lakeformation">LakeFormationAwsClientFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html#s3--">s3()</a></span> - Method in interface org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3">S3FileIOAwsClientFactory</a></dt>
+<dd>
+<div class="block">create a Amazon S3 client</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_ACCELERATION_ENABLED">S3_ACCELERATION_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Determines if S3 client will use the Acceleration Mode, default to false.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_ACCELERATION_ENABLED_DEFAULT">S3_ACCELERATION_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_ACCESS_POINTS_PREFIX">S3_ACCESS_POINTS_PREFIX</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used by <a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a>, prefix used for bucket access point configuration.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_CHECKSUM_ENABLED">S3_CHECKSUM_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Enables eTag checks for S3 PUT and MULTIPART upload requests.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_CHECKSUM_ENABLED_DEFAULT">S3_CHECKSUM_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_ENABLED">S3_DELETE_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Determines if <a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> deletes the object when io.delete() is called, default to true.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_ENABLED_DEFAULT">S3_DELETE_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_TAGS_PREFIX">S3_DELETE_TAGS_PREFIX</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used by <a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when deleting.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_DUALSTACK_ENABLED">S3_DUALSTACK_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Determines if S3 client will use the Dualstack Mode, default to false.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_DUALSTACK_ENABLED_DEFAULT">S3_DUALSTACK_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_PRELOAD_CLIENT_ENABLED">S3_PRELOAD_CLIENT_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">This flag controls whether the S3 client will be initialized during the S3FileIO
- initialization, instead of default lazy initialization upon use.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_PRELOAD_CLIENT_ENABLED_DEFAULT">S3_PRELOAD_CLIENT_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_REMOTE_SIGNING_ENABLED">S3_REMOTE_SIGNING_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_REMOTE_SIGNING_ENABLED_DEFAULT">S3_REMOTE_SIGNING_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html#S3_SIGNER_ENDPOINT">S3_SIGNER_ENDPOINT</a></span> - Static variable in class org.apache.iceberg.aws.s3.signer.<a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html" title="class in org.apache.iceberg.aws.s3.signer">S3V4RestSignerClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html#S3_SIGNER_URI">S3_SIGNER_URI</a></span> - Static variable in class org.apache.iceberg.aws.s3.signer.<a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html" title="class in org.apache.iceberg.aws.s3.signer">S3V4RestSignerClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_TAG_ICEBERG_NAMESPACE">S3_TAG_ICEBERG_NAMESPACE</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Tag name that will be used by <a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TAGS_PREFIX"><code>AwsProperties.S3_WRITE_TAGS_PREFIX</code></a> when <a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_NAMESPACE_TAG_ENABLED"><code>AwsProperties.S3_WRITE_NAMESPACE_TAG_ENABLED</code></a> is enabled</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#S3_TAG_ICEBERG_NAMESPACE">S3_TAG_ICEBERG_NAMESPACE</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Tag name that will be used by <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_TAGS_PREFIX"><code>S3FileIOProperties.WRITE_TAGS_PREFIX</code></a> when <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_NAMESPACE_TAG_ENABLED"><code>S3FileIOProperties.WRITE_NAMESPACE_TAG_ENABLED</code></a> is enabled</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_TAG_ICEBERG_TABLE">S3_TAG_ICEBERG_TABLE</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Tag name that will be used by <a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TAGS_PREFIX"><code>AwsProperties.S3_WRITE_TAGS_PREFIX</code></a> when <a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TABLE_TAG_ENABLED"><code>AwsProperties.S3_WRITE_TABLE_TAG_ENABLED</code></a> is enabled</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#S3_TAG_ICEBERG_TABLE">S3_TAG_ICEBERG_TABLE</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Tag name that will be used by <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_TAGS_PREFIX"><code>S3FileIOProperties.WRITE_TAGS_PREFIX</code></a> when <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_TABLE_TAG_ENABLED"><code>S3FileIOProperties.WRITE_TABLE_TAG_ENABLED</code></a>
+ is enabled</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_USE_ARN_REGION_ENABLED">S3_USE_ARN_REGION_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Enable to make S3FileIO, to make cross-region call to the region specified in the ARN of an
- access point.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_USE_ARN_REGION_ENABLED_DEFAULT">S3_USE_ARN_REGION_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_NAMESPACE_TAG_ENABLED">S3_WRITE_NAMESPACE_TAG_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used by <a href="org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TABLE_TAG_ENABLED">S3_WRITE_TABLE_TAG_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used by <a href="org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TABLE_TAG_ENABLED_DEFAULT">S3_WRITE_TABLE_TAG_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TAGS_PREFIX">S3_WRITE_TAGS_PREFIX</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used by <a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when writing.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3BucketToAccessPointMapping--">s3BucketToAccessPointMapping()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientFactories.html#s3Configuration-java.lang.Boolean-java.lang.Boolean-">s3Configuration(Boolean, Boolean)</a></span> - Static method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws">AwsClientFactories</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
@@ -19347,7 +20311,12 @@
 </div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3DeleteTags--">s3DeleteTags()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3FileIO</span></a> - Class in <a href="org/apache/iceberg/aws/s3/package-summary.html">org.apache.iceberg.aws.s3</a></dt>
 <dd>
 <div class="block">FileIO implementation backed by S3.</div>
@@ -19358,128 +20327,267 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIO.html#S3FileIO-org.apache.iceberg.util.SerializableSupplier-">S3FileIO(SerializableSupplier&lt;S3Client&gt;)</a></span> - Constructor for class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></dt>
 <dd>
-<div class="block">Constructor with custom s3 supplier and default AWS properties.</div>
+<div class="block">Constructor with custom s3 supplier and S3FileIO properties.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIO.html#S3FileIO-org.apache.iceberg.util.SerializableSupplier-org.apache.iceberg.aws.AwsProperties-">S3FileIO(SerializableSupplier&lt;S3Client&gt;, AwsProperties)</a></span> - Constructor for class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIO.html#S3FileIO-org.apache.iceberg.util.SerializableSupplier-org.apache.iceberg.aws.s3.S3FileIOProperties-">S3FileIO(SerializableSupplier&lt;S3Client&gt;, S3FileIOProperties)</a></span> - Constructor for class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></dt>
 <dd>
-<div class="block">Constructor with custom s3 supplier and AWS properties.</div>
+<div class="block">Constructor with custom s3 supplier and S3FileIO properties.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ACCESS_KEY_ID">S3FILEIO_ACCESS_KEY_ID</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Configure the static access key ID used to access S3FileIO.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ACL">S3FILEIO_ACL</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Used to configure canned access control list (ACL) for S3 client to use during write.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_BATCH_SIZE">S3FILEIO_DELETE_BATCH_SIZE</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Configure the batch size used when deleting multiple files from a given S3 bucket</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_BATCH_SIZE_DEFAULT">S3FILEIO_DELETE_BATCH_SIZE_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Default batch size used when deleting files.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_BATCH_SIZE_MAX">S3FILEIO_DELETE_BATCH_SIZE_MAX</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Max possible batch size for deletion.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_THREADS">S3FILEIO_DELETE_THREADS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Number of threads to use for adding delete tags to S3 objects, default to <code>Runtime.availableProcessors()</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ENDPOINT">S3FILEIO_ENDPOINT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Configure an alternative endpoint of the S3 service for S3FileIO to access.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE">S3FILEIO_MULTIPART_SIZE</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">The size of a single part for multipart upload requests in bytes (default: 32MB).</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE_DEFAULT">S3FILEIO_MULTIPART_SIZE_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE_MIN">S3FILEIO_MULTIPART_SIZE_MIN</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_THRESHOLD_FACTOR">S3FILEIO_MULTIPART_THRESHOLD_FACTOR</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">The threshold expressed as a factor times the multipart size at which to switch from uploading
- using a single put object request to uploading using multipart upload (default: 1.5).</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT">S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_UPLOAD_THREADS">S3FILEIO_MULTIPART_UPLOAD_THREADS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Number of threads to use for uploading parts to S3 (shared pool across all output streams),
- default to <code>Runtime.availableProcessors()</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_PATH_STYLE_ACCESS">S3FILEIO_PATH_STYLE_ACCESS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">If set <code>true</code>, requests to S3FileIO will use Path-Style, otherwise, Virtual Hosted-Style
- will be used.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_PATH_STYLE_ACCESS_DEFAULT">S3FILEIO_PATH_STYLE_ACCESS_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SECRET_ACCESS_KEY">S3FILEIO_SECRET_ACCESS_KEY</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Configure the static secret access key used to access S3FileIO.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SESSION_TOKEN">S3FILEIO_SESSION_TOKEN</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Configure the static session token used to access S3FileIO.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_KEY">S3FILEIO_SSE_KEY</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">If S3 encryption type is SSE-KMS, input is a KMS Key ID or ARN.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_MD5">S3FILEIO_SSE_MD5</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">If S3 encryption type is SSE-C, input is the base-64 MD5 digest of the secret key.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE">S3FILEIO_SSE_TYPE</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Type of S3 Server side encryption used, default to <a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_NONE"><code>AwsProperties.S3FILEIO_SSE_TYPE_NONE</code></a>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_CUSTOM">S3FILEIO_SSE_TYPE_CUSTOM</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">S3 SSE-C encryption.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_KMS">S3FILEIO_SSE_TYPE_KMS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">S3 SSE-KMS encryption.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_NONE">S3FILEIO_SSE_TYPE_NONE</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">No server side encryption.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_S3">S3FILEIO_SSE_TYPE_S3</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">S3 SSE-S3 encryption.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_STAGING_DIRECTORY">S3FILEIO_STAGING_DIRECTORY</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>
-<div class="block">Location to put staging files for upload to S3, default to temp directory set in
- java.io.tmpdir.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoAcl--">s3FileIoAcl()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
+<dt><a href="org/apache/iceberg/aws/S3FileIOAwsClientFactories.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">S3FileIOAwsClientFactories</span></a> - Class in <a href="org/apache/iceberg/aws/package-summary.html">org.apache.iceberg.aws</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3FileIOAwsClientFactory</span></a> - Interface in <a href="org/apache/iceberg/aws/s3/package-summary.html">org.apache.iceberg.aws.s3</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoDeleteBatchSize--">s3FileIoDeleteBatchSize()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoDeleteThreads--">s3FileIoDeleteThreads()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoMultiPartSize--">s3FileIoMultiPartSize()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIOMultipartThresholdFactor--">s3FileIOMultipartThresholdFactor()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoMultipartUploadThreads--">s3FileIoMultipartUploadThreads()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
+<dt><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3FileIOProperties</span></a> - Class in <a href="org/apache/iceberg/aws/s3/package-summary.html">org.apache.iceberg.aws.s3</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#S3FileIOProperties--">S3FileIOProperties()</a></span> - Constructor for class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#S3FileIOProperties-java.util.Map-">S3FileIOProperties(Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseKey--">s3FileIoSseKey()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseMd5--">s3FileIoSseMd5()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseType--">s3FileIoSseType()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3fileIoStagingDirectory--">s3fileIoStagingDirectory()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3InputFile</span></a> - Class in <a href="org/apache/iceberg/aws/s3/package-summary.html">org.apache.iceberg.aws.s3</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/aws/s3/signer/S3ObjectMapper.html" title="class in org.apache.iceberg.aws.s3.signer"><span class="typeNameLink">S3ObjectMapper</span></a> - Class in <a href="org/apache/iceberg/aws/s3/signer/package-summary.html">org.apache.iceberg.aws.s3.signer</a></dt>
@@ -19495,7 +20603,12 @@
 <dt><a href="org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3OutputFile</span></a> - Class in <a href="org/apache/iceberg/aws/s3/package-summary.html">org.apache.iceberg.aws.s3</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3PreloadClientEnabled--">s3PreloadClientEnabled()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><a href="org/apache/iceberg/aws/s3/S3RequestUtil.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3RequestUtil</span></a> - Class in <a href="org/apache/iceberg/aws/s3/package-summary.html">org.apache.iceberg.aws.s3</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/aws/s3/signer/S3SignRequest.html" title="interface in org.apache.iceberg.aws.s3.signer"><span class="typeNameLink">S3SignRequest</span></a> - Interface in <a href="org/apache/iceberg/aws/s3/signer/package-summary.html">org.apache.iceberg.aws.s3.signer</a></dt>
@@ -19519,11 +20632,26 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html#S3V4RestSignerClient--">S3V4RestSignerClient()</a></span> - Constructor for class org.apache.iceberg.aws.s3.signer.<a href="org/apache/iceberg/aws/s3/signer/S3V4RestSignerClient.html" title="class in org.apache.iceberg.aws.s3.signer">S3V4RestSignerClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3WriteNamespaceTagEnabled--">s3WriteNamespaceTagEnabled()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3WriteTableTagEnabled--">s3WriteTableTagEnabled()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#s3WriteTags--">s3WriteTags()</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SortOrder.html#sameOrder-org.apache.iceberg.SortOrder-">sameOrder(SortOrder)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a></dt>
 <dd>
 <div class="block">Checks whether this order is equivalent to another order while ignoring the order id.</div>
@@ -19806,10 +20934,9 @@
 <div class="block">Return the id of the schema used when this snapshot was created, or null if this information is
  not available.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/view/SQLViewRepresentation.html#schemaId--">schemaId()</a></span> - Method in interface org.apache.iceberg.view.<a href="org/apache/iceberg/view/SQLViewRepresentation.html" title="interface in org.apache.iceberg.view">SQLViewRepresentation</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/view/ViewVersion.html#schemaId--">schemaId()</a></span> - Method in interface org.apache.iceberg.view.<a href="org/apache/iceberg/view/ViewVersion.html" title="interface in org.apache.iceberg.view">ViewVersion</a></dt>
 <dd>
-<div class="block">The query output schema ID at version create time, without aliases or null if no schema is
- defined</div>
+<div class="block">The query output schema at version create time, without aliases</div>
 </dd>
 <dt><a href="org/apache/iceberg/SchemaParser.html" title="class in org.apache.iceberg"><span class="typeNameLink">SchemaParser</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
 <dd>&nbsp;</dd>
@@ -19857,6 +20984,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/Pair.html#second--">second()</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/Pair.html" title="class in org.apache.iceberg.util">Pair</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SECRET_ACCESS_KEY">SECRET_ACCESS_KEY</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Configure the static secret access key used to access S3FileIO.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#secretAccessKey--">secretAccessKey()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/DataIterator.html#seek-int-long-">seek(int, long)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/DataIterator.html" title="class in org.apache.iceberg.flink.source">DataIterator</a></dt>
 <dd>
 <div class="block">(startingFileOffset, startingRecordOffset) points to the next row that reader should resume
@@ -19909,6 +21042,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#selectDeleteFiles-java.lang.Iterable-">selectDeleteFiles(Iterable&lt;DeleteFile&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Select the delete files to rewrite.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/InputFormatConfig.html#SELECTED_COLUMNS">SELECTED_COLUMNS</a></span> - Static variable in class org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></dt>
@@ -19916,9 +21050,12 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/InputFormatConfig.html#selectedColumns-org.apache.hadoop.conf.Configuration-">selectedColumns(Configuration)</a></span> - Static method in class org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#selectFilesToRewrite-java.lang.Iterable-">selectFilesToRewrite(Iterable&lt;FileScanTask&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteStrategy.html#selectFilesToRewrite-java.lang.Iterable-">selectFilesToRewrite(Iterable&lt;FileScanTask&gt;)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Selects files which this strategy believes are valid targets to be rewritten.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/TypeUtil.html#selectNot-org.apache.iceberg.types.Types.StructType-java.util.Set-">selectNot(Types.StructType, Set&lt;Integer&gt;)</a></span> - Static method in class org.apache.iceberg.types.<a href="org/apache/iceberg/types/TypeUtil.html" title="class in org.apache.iceberg.types">TypeUtil</a></dt>
@@ -19955,6 +21092,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html#self--">self()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteManifestsSparkAction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html#self--">self()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html#self--">self()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">SnapshotTableSparkAction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/StreamingDelete.html#self--">self()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></dt>
@@ -19991,8 +21130,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/SerializableConfiguration.html#SerializableConfiguration-org.apache.hadoop.conf.Configuration-">SerializableConfiguration(Configuration)</a></span> - Constructor for class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/SerializableConfiguration.html" title="class in org.apache.iceberg.hadoop">SerializableConfiguration</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkUtil.html#serializableFileIO-org.apache.iceberg.Table-">serializableFileIO(Table)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/util/SerializableFunction.html" title="interface in org.apache.iceberg.util"><span class="typeNameLink">SerializableFunction</span></a>&lt;<a href="org/apache/iceberg/util/SerializableFunction.html" title="type parameter in SerializableFunction">S</a>,<a href="org/apache/iceberg/util/SerializableFunction.html" title="type parameter in SerializableFunction">T</a>&gt; - Interface in <a href="org/apache/iceberg/util/package-summary.html">org.apache.iceberg.util</a></dt>
 <dd>
 <div class="block">A concrete transform function that applies a transform to values of a certain type.</div>
@@ -20079,6 +21216,10 @@
 <dd>
 <div class="block">An async service which allows for committing multiple file groups as their rewrites complete.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html#service-int-">service(int)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesCommitManager</a></dt>
+<dd>
+<div class="block">An async service which allows for committing multiple file groups as their rewrites complete.</div>
+</dd>
 <dt><a href="org/apache/iceberg/exceptions/ServiceFailureException.html" title="class in org.apache.iceberg.exceptions"><span class="typeNameLink">ServiceFailureException</span></a> - Exception in <a href="org/apache/iceberg/exceptions/package-summary.html">org.apache.iceberg.exceptions</a></dt>
 <dd>
 <div class="block">Exception thrown on HTTP 5XX Server Error.</div>
@@ -20097,6 +21238,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/exceptions/ServiceUnavailableException.html#ServiceUnavailableException-java.lang.Throwable-java.lang.String-java.lang.Object...-">ServiceUnavailableException(Throwable, String, Object...)</a></span> - Constructor for exception org.apache.iceberg.exceptions.<a href="org/apache/iceberg/exceptions/ServiceUnavailableException.html" title="class in org.apache.iceberg.exceptions">ServiceUnavailableException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SESSION_TOKEN">SESSION_TOKEN</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Configure the static session token used to access S3FileIO.</div>
+</dd>
 <dt><a href="org/apache/iceberg/catalog/SessionCatalog.html" title="interface in org.apache.iceberg.catalog"><span class="typeNameLink">SessionCatalog</span></a> - Interface in <a href="org/apache/iceberg/catalog/package-summary.html">org.apache.iceberg.catalog</a></dt>
 <dd>
 <div class="block">A Catalog API for table and namespace operations that includes session context.</div>
@@ -20113,6 +21258,8 @@
 <dd>
 <div class="block">Returns a string that identifies this session.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#sessionToken--">sessionToken()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SnapshotUpdateAction.html#set-java.lang.String-java.lang.String-">set(String, String)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SnapshotUpdateAction.html" title="interface in org.apache.iceberg.actions">SnapshotUpdateAction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html#set-java.lang.String-java.lang.String-">set(String, String)</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DataWriteBuilder</a></dt>
@@ -20233,6 +21380,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SetAccumulator.html#SetAccumulator--">SetAccumulator()</a></span> - Constructor for class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SetAccumulator.html" title="class in org.apache.iceberg.spark.actions">SetAccumulator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setAcl-software.amazon.awssdk.services.s3.model.ObjectCannedACL-">setAcl(ObjectCannedACL)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html#setAddedSnapshotId-java.lang.Long-">setAddedSnapshotId(Long)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html#setAll-java.util.Map-">setAll(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/Avro.DataWriteBuilder.html" title="class in org.apache.iceberg.avro">Avro.DataWriteBuilder</a></dt>
@@ -20307,6 +21456,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.Builder.html#setBranchSnapshot-long-java.lang.String-">setBranchSnapshot(long, String)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setChecksumEnabled-boolean-">setChecksumEnabled(boolean)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsClientProperties.html#setClientRegion-java.lang.String-">setClientRegion(String)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setClientRegion-java.lang.String-">setClientRegion(String)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ColumnWriter.html#setColumnStore-org.apache.parquet.column.ColumnWriteStore-">setColumnStore(ColumnWriteStore)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ColumnWriter.html" title="class in org.apache.iceberg.parquet">ColumnWriter</a></dt>
@@ -20341,32 +21494,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-java.lang.Object-">setConf(Object)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">setConf(Configuration)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-java.lang.Object-"><code>JdbcCatalog.setConf(Object)</code></a></span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html#setConf-org.apache.hadoop.conf.Configuration-">setConf(Configuration)</a></span> - Method in class org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.html" title="class in org.apache.iceberg.mr.hive">HiveIcebergStorageHandler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">setConf(Configuration)</a></span> - Method in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/nessie/NessieCatalog.html#setConf-java.lang.Object-">setConf(Object)</a></span> - Method in class org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/RESTCatalog.html#setConf-java.lang.Object-">setConf(Object)</a></span> - Method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/RESTCatalog.html" title="class in org.apache.iceberg.rest">RESTCatalog</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/RESTCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">setConf(Configuration)</a></span> - Method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/RESTCatalog.html" title="class in org.apache.iceberg.rest">RESTCatalog</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/RESTCatalog.html#setConf-java.lang.Object-"><code>RESTCatalog.setConf(Object)</code></a></span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-java.lang.Object-">setConf(Object)</a></span> - Method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/RESTSessionCatalog.html" title="class in org.apache.iceberg.rest">RESTSessionCatalog</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">setConf(Configuration)</a></span> - Method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/RESTSessionCatalog.html" title="class in org.apache.iceberg.rest">RESTSessionCatalog</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-java.lang.Object-"><code>RESTSessionCatalog.setConf(Object)</code></a></span></div>
-</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/snowflake/SnowflakeCatalog.html#setConf-java.lang.Object-">setConf(Object)</a></span> - Method in class org.apache.iceberg.snowflake.<a href="org/apache/iceberg/snowflake/SnowflakeCatalog.html" title="class in org.apache.iceberg.snowflake">SnowflakeCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html#setContent-java.lang.Integer-">setContent(Integer)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></dt>
@@ -20397,8 +21532,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html#setDelegateCatalog-org.apache.spark.sql.connector.catalog.CatalogPlugin-">setDelegateCatalog(CatalogPlugin)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setDeleteBatchSize-int-">setDeleteBatchSize(int)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setDeleteEnabled-boolean-">setDeleteEnabled(boolean)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html#setDeleteFilter-org.apache.iceberg.data.DeleteFilter-">setDeleteFilter(DeleteFilter&lt;InternalRow&gt;)</a></span> - Method in class org.apache.iceberg.spark.data.vectorized.<a href="org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setDeleteThreads-int-">setDeleteThreads(int)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/BasePageIterator.html#setDictionary-org.apache.parquet.column.Dictionary-">setDictionary(Dictionary)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/ParquetValueReaders.StructReader.html#setDouble-I-int-double-">setDouble(I, int, double)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/ParquetValueReaders.StructReader.html" title="class in org.apache.iceberg.parquet">ParquetValueReaders.StructReader</a></dt>
@@ -20481,6 +21622,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/SnapshotManager.html#setMinSnapshotsToKeep-java.lang.String-int-">setMinSnapshotsToKeep(String, int)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/SnapshotManager.html" title="class in org.apache.iceberg">SnapshotManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setMultiPartSize-int-">setMultiPartSize(int)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setMultipartThresholdFactor-double-">setMultipartThresholdFactor(double)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setMultipartUploadThreads-int-">setMultipartUploadThreads(int)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3InputFile.html#setNativeCryptoParameters-org.apache.iceberg.encryption.NativeFileCryptoParameters-">setNativeCryptoParameters(NativeFileCryptoParameters)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3OutputFile.html#setNativeCryptoParameters-org.apache.iceberg.encryption.NativeFileCryptoParameters-">setNativeCryptoParameters(NativeFileCryptoParameters)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></dt>
@@ -20505,6 +21652,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteFileGroup.html#setOutputFiles-java.util.Set-">setOutputFiles(Set&lt;DataFile&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#setOutputFiles-java.util.Set-">setOutputFiles(Set&lt;DeleteFile&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/BasePageIterator.html#setPage-org.apache.parquet.column.page.DataPage-">setPage(DataPage)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/BaseColumnIterator.html#setPageSource-org.apache.parquet.column.page.PageReader-">setPageSource(PageReader)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/BaseColumnIterator.html" title="class in org.apache.iceberg.parquet">BaseColumnIterator</a></dt>
@@ -20533,6 +21682,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/ManifestFileBean.html#setPath-java.lang.String-">setPath(String)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/ManifestFileBean.html" title="class in org.apache.iceberg.spark.actions">ManifestFileBean</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setPreloadClientEnabled-boolean-">setPreloadClientEnabled(boolean)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.Builder.html#setPreviousFileLocation-java.lang.String-">setPreviousFileLocation(String)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html#setProperties-org.apache.iceberg.catalog.Namespace-java.util.Map-">setProperties(Namespace, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.aws.dynamodb.<a href="org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a></dt>
@@ -20551,6 +21702,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveCatalog.html#setProperties-org.apache.iceberg.catalog.Namespace-java.util.Map-">setProperties(Namespace, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryCatalog.html#setProperties-org.apache.iceberg.catalog.Namespace-java.util.Map-">setProperties(Namespace, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/jdbc/JdbcCatalog.html#setProperties-org.apache.iceberg.catalog.Namespace-java.util.Map-">setProperties(Namespace, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.SetProperties.html#SetProperties-java.util.Map-">SetProperties(Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.SetProperties.html" title="class in org.apache.iceberg">MetadataUpdate.SetProperties</a></dt>
@@ -20612,35 +21765,110 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/SparkAvroReader.html#setRowPositionSupplier-java.util.function.Supplier-">setRowPositionSupplier(Supplier&lt;Long&gt;)</a></span> - Method in class org.apache.iceberg.spark.data.<a href="org/apache/iceberg/spark/data/SparkAvroReader.html" title="class in org.apache.iceberg.spark.data">SparkAvroReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3ChecksumEnabled-boolean-">setS3ChecksumEnabled(boolean)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3DeleteEnabled-boolean-">setS3DeleteEnabled(boolean)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoAcl-software.amazon.awssdk.services.s3.model.ObjectCannedACL-">setS3FileIoAcl(ObjectCannedACL)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoDeleteBatchSize-int-">setS3FileIoDeleteBatchSize(int)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoDeleteThreads-int-">setS3FileIoDeleteThreads(int)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultiPartSize-int-">setS3FileIoMultiPartSize(int)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultipartThresholdFactor-double-">setS3FileIoMultipartThresholdFactor(double)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultipartUploadThreads-int-">setS3FileIoMultipartUploadThreads(int)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseKey-java.lang.String-">setS3FileIoSseKey(String)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseMd5-java.lang.String-">setS3FileIoSseMd5(String)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseType-java.lang.String-">setS3FileIoSseType(String)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3fileIoStagingDirectory-java.lang.String-">setS3fileIoStagingDirectory(String)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3PreloadClientEnabled-boolean-">setS3PreloadClientEnabled(boolean)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3WriteNamespaceTagEnabled-boolean-">setS3WriteNamespaceTagEnabled(boolean)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/AwsProperties.html#setS3WriteTableTagEnabled-boolean-">setS3WriteTableTagEnabled(boolean)</a></span> - Method in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/ProjectionDatumReader.html#setSchema-org.apache.avro.Schema-">setSchema(Schema)</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/ProjectionDatumReader.html" title="class in org.apache.iceberg.avro">ProjectionDatumReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/avro/DataReader.html#setSchema-org.apache.avro.Schema-">setSchema(Schema)</a></span> - Method in class org.apache.iceberg.data.avro.<a href="org/apache/iceberg/data/avro/DataReader.html" title="class in org.apache.iceberg.data.avro">DataReader</a></dt>
@@ -20665,6 +21893,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableMetadata.Builder.html#setSnapshotsSupplier-org.apache.iceberg.util.SerializableSupplier-">setSnapshotsSupplier(SerializableSupplier&lt;List&lt;Snapshot&gt;&gt;)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/TableMetadata.Builder.html" title="class in org.apache.iceberg">TableMetadata.Builder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setSseKey-java.lang.String-">setSseKey(String)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setSseMd5-java.lang.String-">setSseMd5(String)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setSseType-java.lang.String-">setSseType(String)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setStagingDirectory-java.lang.String-">setStagingDirectory(String)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataUpdate.SetStatistics.html#SetStatistics-long-org.apache.iceberg.StatisticsFile-">SetStatistics(long, StatisticsFile)</a></span> - Constructor for class org.apache.iceberg.<a href="org/apache/iceberg/MetadataUpdate.SetStatistics.html" title="class in org.apache.iceberg">MetadataUpdate.SetStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/SetStatistics.html" title="class in org.apache.iceberg"><span class="typeNameLink">SetStatistics</span></a> - Class in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -20701,6 +21937,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SetWriteDistributionAndOrderingContext.html#SetWriteDistributionAndOrderingContext-org.apache.spark.sql.catalyst.parser.extensions.IcebergSqlExtensionsParser.StatementContext-">SetWriteDistributionAndOrderingContext(IcebergSqlExtensionsParser.StatementContext)</a></span> - Constructor for class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.SetWriteDistributionAndOrderingContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.SetWriteDistributionAndOrderingContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setWriteNamespaceTagEnabled-boolean-">setWriteNamespaceTagEnabled(boolean)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#setWriteTableTagEnabled-boolean-">setWriteTableTagEnabled(boolean)</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/IcebergSource.html#shortName--">shortName()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/IcebergSource.html" title="class in org.apache.iceberg.spark.source">IcebergSource</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/ValueWriters.html#shorts--">shorts()</a></span> - Static method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/ValueWriters.html" title="class in org.apache.iceberg.avro">ValueWriters</a></dt>
@@ -20821,6 +22061,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/StructProjection.html#size--">size()</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/StructProjection.html" title="class in org.apache.iceberg.util">StructProjection</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SizeBasedDataRewriter</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html#SizeBasedDataRewriter-org.apache.iceberg.Table-">SizeBasedDataRewriter(Table)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SizeBasedFileRewriter</span></a>&lt;<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="type parameter in SizeBasedFileRewriter">T</a> extends <a href="org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="type parameter in SizeBasedFileRewriter">F</a>&gt;,<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="type parameter in SizeBasedFileRewriter">F</a> extends <a href="org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="type parameter in SizeBasedFileRewriter">F</a>&gt;&gt; - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>
+<div class="block">A file rewriter that determines which files to rewrite based on their size.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#SizeBasedFileRewriter-org.apache.iceberg.Table-">SizeBasedFileRewriter(Table)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SizeBasedPositionDeletesRewriter</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html#SizeBasedPositionDeletesRewriter-org.apache.iceberg.Table-">SizeBasedPositionDeletesRewriter(Table)</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedPositionDeletesRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/AddedRowsScanTask.html#sizeBytes--">sizeBytes()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/AddedRowsScanTask.html" title="interface in org.apache.iceberg">AddedRowsScanTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ContentScanTask.html#sizeBytes--">sizeBytes()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a></dt>
@@ -20837,8 +22091,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ScanTaskGroup.html#sizeBytes--">sizeBytes()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#sizeEstimateMultiple--">sizeEstimateMultiple()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteFileGroup.html#sizeInBytes--">sizeInBytes()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MicroBatches.MicroBatch.html#sizeInBytes--">sizeInBytes()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/MicroBatches.MicroBatch.html" title="class in org.apache.iceberg">MicroBatches.MicroBatch</a></dt>
@@ -20875,6 +22127,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/metrics/ScanMetricsResult.html#skippedDeleteManifests--">skippedDeleteManifests()</a></span> - Method in interface org.apache.iceberg.metrics.<a href="org/apache/iceberg/metrics/ScanMetricsResult.html" title="interface in org.apache.iceberg.metrics">ScanMetricsResult</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/MicroBatches.html#skippedManifestIndexesFromSnapshot-org.apache.iceberg.io.FileIO-org.apache.iceberg.Snapshot-long-boolean-">skippedManifestIndexesFromSnapshot(FileIO, Snapshot, long, boolean)</a></span> - Static method in class org.apache.iceberg.<a href="org/apache/iceberg/MicroBatches.html" title="class in org.apache.iceberg">MicroBatches</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html#skipResidualFiltering--">skipResidualFiltering()</a></span> - Method in class org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html" title="class in org.apache.iceberg.mr">InputFormatConfig.ConfigBuilder</a></dt>
 <dd>
 <div class="block">Compute platforms pass down filters to data sources.</div>
@@ -21196,10 +22450,13 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SortStrategy.html#sortOrder-org.apache.iceberg.SortOrder-">sortOrder(SortOrder)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets the sort order to be used in this strategy when rewriting files</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SortStrategy.html#sortOrder--">sortOrder()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetadataTable.html#sortOrder--">sortOrder()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetadataTable.html" title="class in org.apache.iceberg">BaseMetadataTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseTable.html#sortOrder--">sortOrder()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseTable.html" title="class in org.apache.iceberg">BaseTable</a></dt>
@@ -21214,8 +22471,6 @@
 <dd>
 <div class="block">A sort order that defines how data and delete files should be ordered in a table.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#sortOrder--">sortOrder()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/Table.html#sortOrder--">sortOrder()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></dt>
 <dd>
 <div class="block">Return the <a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg"><code>sort order</code></a> for this table.</div>
@@ -21266,15 +22521,16 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/transforms/SortOrderVisitor.html" title="interface in org.apache.iceberg.transforms"><span class="typeNameLink">SortOrderVisitor</span></a>&lt;<a href="org/apache/iceberg/transforms/SortOrderVisitor.html" title="type parameter in SortOrderVisitor">T</a>&gt; - Interface in <a href="org/apache/iceberg/transforms/package-summary.html">org.apache.iceberg.transforms</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#sortPlan-org.apache.spark.sql.connector.distributions.Distribution-org.apache.spark.sql.connector.expressions.SortOrder:A-org.apache.spark.sql.catalyst.plans.logical.LogicalPlan-org.apache.spark.sql.internal.SQLConf-">sortPlan(Distribution, SortOrder[], LogicalPlan, SQLConf)</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SortStrategy</span></a> - Class in <a href="org/apache/iceberg/actions/package-summary.html">org.apache.iceberg.actions</a></dt>
 <dd>
-<div class="block">A rewrite strategy for data files which aims to reorder data with data files to optimally lay
- them out in relation to a column.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead.</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SortStrategy.html#SortStrategy--">SortStrategy()</a></span> - Constructor for class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/requests/RenameTableRequest.html#source--">source()</a></span> - Method in class org.apache.iceberg.rest.requests.<a href="org/apache/iceberg/rest/requests/RenameTableRequest.html" title="class in org.apache.iceberg.rest.requests">RenameTableRequest</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkConfigOptions.html#SOURCE_READER_FETCH_BATCH_RECORD_COUNT">SOURCE_READER_FETCH_BATCH_RECORD_COUNT</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkConfigOptions.html" title="class in org.apache.iceberg.flink">FlinkConfigOptions</a></dt>
@@ -21301,8 +22557,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/GenericBlobMetadata.html#sourceSnapshotSequenceNumber--">sourceSnapshotSequenceNumber()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/GenericBlobMetadata.html" title="class in org.apache.iceberg">GenericBlobMetadata</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#spark--">spark()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Spark3Util</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/Spark3Util.CatalogAndIdentifier.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Spark3Util.CatalogAndIdentifier</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
@@ -21337,10 +22591,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/SparkAvroWriter.html#SparkAvroWriter-org.apache.spark.sql.types.StructType-">SparkAvroWriter(StructType)</a></span> - Constructor for class org.apache.iceberg.spark.data.<a href="org/apache/iceberg/spark/data/SparkAvroWriter.html" title="class in org.apache.iceberg.spark.data">SparkAvroWriter</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SparkBinPackStrategy</span></a> - Class in <a href="org/apache/iceberg/spark/actions/package-summary.html">org.apache.iceberg.spark.actions</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html#SparkBinPackStrategy-org.apache.iceberg.Table-org.apache.spark.sql.SparkSession-">SparkBinPackStrategy(Table, SparkSession)</a></span> - Constructor for class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkBinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/SparkCachedTableCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkCachedTableCatalog</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
 <dd>
 <div class="block">An internal table catalog that is capable of loading tables from a cache.</div>
@@ -21363,12 +22613,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkDataFile.html#SparkDataFile-org.apache.iceberg.types.Types.StructType-org.apache.iceberg.types.Types.StructType-org.apache.spark.sql.types.StructType-">SparkDataFile(Types.StructType, Types.StructType, StructType)</a></span> - Constructor for class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkDistributionAndOrderingUtil</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkExceptionUtil</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkFilters</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkFunctionCatalog</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
+<dd>
+<div class="block">A function catalog that can be used to resolve Iceberg functions without a metastore connection.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkFunctionCatalog.html#SparkFunctionCatalog--">SparkFunctionCatalog()</a></span> - Constructor for class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark">SparkFunctionCatalog</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/functions/SparkFunctions.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">SparkFunctions</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/source/SparkMetadataColumn.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkMetadataColumn</span></a> - Class in <a href="org/apache/iceberg/spark/source/package-summary.html">org.apache.iceberg.spark.source</a></dt>
@@ -21407,6 +22661,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkPartitionedWriter.html#SparkPartitionedWriter-org.apache.iceberg.PartitionSpec-org.apache.iceberg.FileFormat-org.apache.iceberg.io.FileAppenderFactory-org.apache.iceberg.io.OutputFileFactory-org.apache.iceberg.io.FileIO-long-org.apache.iceberg.Schema-org.apache.spark.sql.types.StructType-">SparkPartitionedWriter(PartitionSpec, FileFormat, FileAppenderFactory&lt;InternalRow&gt;, OutputFileFactory, FileIO, long, Schema, StructType)</a></span> - Constructor for class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source">SparkPartitionedWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkPositionDeletesRewrite</span></a> - Class in <a href="org/apache/iceberg/spark/source/package-summary.html">org.apache.iceberg.spark.source</a></dt>
+<dd>
+<div class="block"><code>Write</code> class for rewriting position delete files from Spark.</div>
+</dd>
+<dt><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.DeleteTaskCommit.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkPositionDeletesRewrite.DeleteTaskCommit</span></a> - Class in <a href="org/apache/iceberg/spark/source/package-summary.html">org.apache.iceberg.spark.source</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkPositionDeletesRewriteBuilder</span></a> - Class in <a href="org/apache/iceberg/spark/source/package-summary.html">org.apache.iceberg.spark.source</a></dt>
+<dd>
+<div class="block">Builder class for rewrites of position delete files from Spark.</div>
+</dd>
 <dt><a href="org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">SparkProcedures</span></a> - Class in <a href="org/apache/iceberg/spark/procedures/package-summary.html">org.apache.iceberg.spark.procedures</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures"><span class="typeNameLink">SparkProcedures.ProcedureBuilder</span></a> - Interface in <a href="org/apache/iceberg/spark/procedures/package-summary.html">org.apache.iceberg.spark.procedures</a></dt>
@@ -21429,16 +22693,12 @@
 <dd>
 <div class="block">Helper methods for working with Spark/Hive metadata.</div>
 </dd>
-<dt><a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkSessionCatalog</span></a>&lt;<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="type parameter in SparkSessionCatalog">T</a> extends org.apache.spark.sql.connector.catalog.TableCatalog &amp; org.apache.spark.sql.connector.catalog.SupportsNamespaces&gt; - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
+<dt><a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkSessionCatalog</span></a>&lt;<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="type parameter in SparkSessionCatalog">T</a> extends org.apache.spark.sql.connector.catalog.TableCatalog &amp; org.apache.spark.sql.connector.catalog.FunctionCatalog &amp; org.apache.spark.sql.connector.catalog.SupportsNamespaces&gt; - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
 <dd>
 <div class="block">A Spark catalog that can also load non-Iceberg tables.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html#SparkSessionCatalog--">SparkSessionCatalog()</a></span> - Constructor for class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SparkSortStrategy</span></a> - Class in <a href="org/apache/iceberg/spark/actions/package-summary.html">org.apache.iceberg.spark.actions</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#SparkSortStrategy-org.apache.iceberg.Table-org.apache.spark.sql.SparkSession-">SparkSortStrategy(Table, SparkSession)</a></span> - Constructor for class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkSQLProperties</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/SparkStructLike.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkStructLike</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
@@ -21490,10 +22750,14 @@
 <dd>
 <div class="block">Spark DF write options</div>
 </dd>
-<dt><a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SparkZOrderStrategy</span></a> - Class in <a href="org/apache/iceberg/spark/actions/package-summary.html">org.apache.iceberg.spark.actions</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#SparkZOrderStrategy-org.apache.iceberg.Table-org.apache.spark.sql.SparkSession-java.util.List-">SparkZOrderStrategy(Table, SparkSession, List&lt;String&gt;)</a></span> - Constructor for class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteRequirements</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
+<dd>
+<div class="block">A set of requirements such as distribution and ordering reported to Spark during writes.</div>
+</dd>
+<dt><a href="org/apache/iceberg/spark/SparkWriteUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteUtil</span></a> - Class in <a href="org/apache/iceberg/spark/package-summary.html">org.apache.iceberg.spark</a></dt>
+<dd>
+<div class="block">A utility that contains helper methods for working with Spark writes.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#spec--">spec()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetadataTable.html#spec--">spec()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetadataTable.html" title="class in org.apache.iceberg">BaseMetadataTable</a></dt>
@@ -21536,6 +22800,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#SPEC_ID">SPEC_ID</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/PositionDeletesTable.html#SPEC_ID">SPEC_ID</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/PositionDeletesTable.html" title="class in org.apache.iceberg">PositionDeletesTable</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#SPEC_ID_COLUMN_DOC">SPEC_ID_COLUMN_DOC</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/MetadataColumns.html#SPEC_ID_COLUMN_ID">SPEC_ID_COLUMN_ID</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/MetadataColumns.html" title="class in org.apache.iceberg">MetadataColumns</a></dt>
@@ -21721,9 +22987,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#splitSize-long-">splitSize(long)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns the smallest of our max write file threshold, and our estimated split size based on the
  number of output files we want to generate.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#splitSize-long-">splitSize(long)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>
+<div class="block">Returns the smallest of our max write file threshold and our estimated split size based on the
+ number of output files we want to generate.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkReadConf.html#splitSize--">splitSize()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkReadConf.html" title="class in org.apache.iceberg.flink">FlinkReadConf</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html#splitSize-java.lang.Long-">splitSize(Long)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source">FlinkSource.Builder</a></dt>
@@ -21752,6 +23024,40 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/view/SQLViewRepresentation.html" title="interface in org.apache.iceberg.view"><span class="typeNameLink">SQLViewRepresentation</span></a> - Interface in <a href="org/apache/iceberg/view/package-summary.html">org.apache.iceberg.view</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_KEY">SSE_KEY</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">If S3 encryption type is SSE-KMS, input is a KMS Key ID or ARN.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_MD5">SSE_MD5</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">If S3 encryption type is SSE-C, input is the base-64 MD5 digest of the secret key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE">SSE_TYPE</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Type of S3 Server side encryption used, default to <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE_NONE"><code>S3FileIOProperties.SSE_TYPE_NONE</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE_CUSTOM">SSE_TYPE_CUSTOM</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">S3 SSE-C encryption.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE_KMS">SSE_TYPE_KMS</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">S3 SSE-KMS encryption.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE_NONE">SSE_TYPE_NONE</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">No server side encryption.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#SSE_TYPE_S3">SSE_TYPE_S3</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">S3 SSE-S3 encryption.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#sseKey--">sseKey()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#sseMd5--">sseMd5()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#sseType--">sseType()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/responses/ErrorResponse.html#stack--">stack()</a></span> - Method in class org.apache.iceberg.rest.responses.<a href="org/apache/iceberg/rest/responses/ErrorResponse.html" title="class in org.apache.iceberg.rest.responses">ErrorResponse</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/requests/CreateTableRequest.Builder.html#stageCreate--">stageCreate()</a></span> - Method in class org.apache.iceberg.rest.requests.<a href="org/apache/iceberg/rest/requests/CreateTableRequest.Builder.html" title="class in org.apache.iceberg.rest.requests">CreateTableRequest.Builder</a></dt>
@@ -21782,18 +23088,17 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSessionCatalog.html#stageReplace-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.types.StructType-org.apache.spark.sql.connector.expressions.Transform:A-java.util.Map-">stageReplace(Identifier, StructType, Transform[], Map&lt;String, String&gt;)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html#stageRewrite-org.apache.iceberg.Table-java.lang.String-java.util.Set-">stageRewrite(Table, String, Set&lt;DataFile&gt;)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></dt>
-<dd>
-<div class="block">Called to persist the output of a rewrite action for a specific group.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/CatalogHandlers.html#stageTableCreate-org.apache.iceberg.catalog.Catalog-org.apache.iceberg.catalog.Namespace-org.apache.iceberg.rest.requests.CreateTableRequest-">stageTableCreate(Catalog, Namespace, CreateTableRequest)</a></span> - Static method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/CatalogHandlers.html" title="class in org.apache.iceberg.rest">CatalogHandlers</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html#stageTasks-org.apache.iceberg.Table-java.lang.String-java.util.List-">stageTasks(Table, String, List&lt;FileScanTask&gt;)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></dt>
-<dd>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ScanTaskSetManager.html#stageTasks-org.apache.iceberg.Table-java.lang.String-java.util.List-">stageTasks(Table, String, List&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark">ScanTaskSetManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#STAGING_DIRECTORY">STAGING_DIRECTORY</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Location to put staging files for upload to S3, default to temp directory set in
+ java.io.tmpdir.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#stagingDirectory--">stagingDirectory()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteManifests.html#stagingLocation-java.lang.String-">stagingLocation(String)</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions">RewriteManifests</a></dt>
 <dd>
 <div class="block">Passes a location where the staged manifests should be written.</div>
@@ -21804,10 +23109,6 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/puffin/StandardPuffinProperties.html" title="class in org.apache.iceberg.puffin"><span class="typeNameLink">StandardPuffinProperties</span></a> - Class in <a href="org/apache/iceberg/puffin/package-summary.html">org.apache.iceberg.puffin</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#start--">start()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager.CommitService</a></dt>
-<dd>
-<div class="block">Starts a single threaded executor service for handling file group commits.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/ContentScanTask.html#start--">start()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a></dt>
 <dd>
 <div class="block">The starting position of this scan range in the file.</div>
@@ -22014,6 +23315,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/ScanContext.Builder.html#streaming-boolean-">streaming(boolean)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_MAX_FILES_PER_MICRO_BATCH">STREAMING_MAX_FILES_PER_MICRO_BATCH</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_MAX_ROWS_PER_MICRO_BATCH">STREAMING_MAX_ROWS_PER_MICRO_BATCH</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkReadOptions.html#STREAMING_OPTION">STREAMING_OPTION</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkReadOptions.html" title="class in org.apache.iceberg.flink">FlinkReadOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_DELETE_SNAPSHOTS">STREAMING_SKIP_DELETE_SNAPSHOTS</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></dt>
@@ -22222,17 +23527,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/view/ViewVersion.html#summary--">summary()</a></span> - Method in interface org.apache.iceberg.view.<a href="org/apache/iceberg/view/ViewVersion.html" title="interface in org.apache.iceberg.view">ViewVersion</a></dt>
 <dd>
-<div class="block">Return the version summary such as the name of the operation that created that version of the
- view</div>
+<div class="block">Return the version summary</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkCatalogFactory.html#supportedProperties--">supportedProperties()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkCatalogFactory.html" title="class in org.apache.iceberg.flink">FlinkCatalogFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/SupportsBulkOperations.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">SupportsBulkOperations</span></a> - Interface in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">SupportsDelta</span></a> - Interface in <a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a></dt>
-<dd>
-<div class="block">A mix-in interface for RowLevelOperation.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/IcebergSource.html#supportsExternalMetadata--">supportsExternalMetadata()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/IcebergSource.html" title="class in org.apache.iceberg.spark.source">IcebergSource</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/encryption/KmsClient.html#supportsKeyGeneration--">supportsKeyGeneration()</a></span> - Method in interface org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/KmsClient.html" title="interface in org.apache.iceberg.encryption">KmsClient</a></dt>
@@ -22300,12 +23600,16 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#table--">table()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns the table being modified by this rewrite strategy</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteStrategy.html#table--">table()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns the table being modified by this rewrite strategy</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#table--">table()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetadataTable.html#table--">table()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetadataTable.html" title="class in org.apache.iceberg">BaseMetadataTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseTransaction.html#table--">table()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseTransaction.html" title="class in org.apache.iceberg">BaseTransaction</a></dt>
@@ -22333,10 +23637,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/ResourcePaths.html#table-org.apache.iceberg.catalog.TableIdentifier-">table(TableIdentifier)</a></span> - Method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/ResourcePaths.html" title="class in org.apache.iceberg.rest">ResourcePaths</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html#table--">table()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkBinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#table--">table()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkTable.html#table--">table()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><span class="typeNameLink">Table</span></a> - Interface in <a href="org/apache/iceberg/package-summary.html">org.apache.iceberg</a></dt>
@@ -22407,8 +23707,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CachingCatalog.html#tableCache">tableCache</a></span> - Variable in class org.apache.iceberg.<a href="org/apache/iceberg/CachingCatalog.html" title="class in org.apache.iceberg">CachingCatalog</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#tableCache--">tableCache()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/ErrorHandlers.html#tableCommitHandler--">tableCommitHandler()</a></span> - Static method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/ErrorHandlers.html" title="class in org.apache.iceberg.rest">ErrorHandlers</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/ErrorHandlers.html#tableErrorHandler--">tableErrorHandler()</a></span> - Static method in class org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/ErrorHandlers.html" title="class in org.apache.iceberg.rest">ErrorHandlers</a></dt>
@@ -22606,6 +23904,10 @@
 <dd>
 <div class="block">The output file size that this rewrite strategy will attempt to generate when rewriting files.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>
+<div class="block">The target output file size that this file rewriter will attempt to generate.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkWriteOptions.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkWriteOptions.html" title="class in org.apache.iceberg.flink">FlinkWriteOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></dt>
@@ -22617,7 +23919,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#targetDeleteFileSize--">targetDeleteFileSize()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#targetFileSize--">targetFileSize()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#targetSizeInBytes-long-">targetSizeInBytes(long)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a></dt>
 <dd>
 <div class="block">Specify the target rewrite data file size in bytes</div>
@@ -22644,6 +23948,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/metrics/TaskNumSplits.html#TaskNumSplits-long-">TaskNumSplits(long)</a></span> - Constructor for class org.apache.iceberg.spark.source.metrics.<a href="org/apache/iceberg/spark/source/metrics/TaskNumSplits.html" title="class in org.apache.iceberg.spark.source.metrics">TaskNumSplits</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#tasks--">tasks()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseScanTaskGroup.html#tasks--">tasks()</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseScanTaskGroup.html" title="class in org.apache.iceberg">BaseScanTaskGroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/CombinedScanTask.html#tasks--">tasks()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg">CombinedScanTask</a></dt>
@@ -22766,10 +24072,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergObjectInspector.html#TIMESTAMP_INSPECTOR_WITH_TZ">TIMESTAMP_INSPECTOR_WITH_TZ</a></span> - Static variable in class org.apache.iceberg.mr.hive.serde.objectinspector.<a href="org/apache/iceberg/mr/hive/serde/objectinspector/IcebergObjectInspector.html" title="class in org.apache.iceberg.mr.hive.serde.objectinspector">IcebergObjectInspector</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkUtil.html#TIMESTAMP_WITHOUT_TIMEZONE_ERROR">TIMESTAMP_WITHOUT_TIMEZONE_ERROR</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/DateTimeUtil.html#timestampFromMicros-long-">timestampFromMicros(long)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/DateTimeUtil.html" title="class in org.apache.iceberg.util">DateTimeUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#timestampInt96BatchReader--">timestampInt96BatchReader()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html#TimestampInt96BatchReader--">TimestampInt96BatchReader()</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampInt96BatchReader</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html#timestampInt96DictEncodedReader--">timestampInt96DictEncodedReader()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedDictionaryEncodedParquetValuesReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/HistoryEntry.html#timestampMillis--">timestampMillis()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/HistoryEntry.html" title="interface in org.apache.iceberg">HistoryEntry</a></dt>
 <dd>
 <div class="block">Returns the timestamp in milliseconds of the change.</div>
@@ -22796,6 +24106,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html#timestampMillisDictEncodedReader--">timestampMillisDictEncodedReader()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedDictionaryEncodedParquetValuesReader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html#TimestampNtzToDaysFunction--">TimestampNtzToDaysFunction()</a></span> - Constructor for class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampNtzToDaysFunction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html#TimestampNtzToHoursFunction--">TimestampNtzToHoursFunction()</a></span> - Constructor for class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampNtzToHoursFunction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html#TimestampNtzToMonthsFunction--">TimestampNtzToMonthsFunction()</a></span> - Constructor for class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampNtzToMonthsFunction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html#TimestampNtzToYearsFunction--">TimestampNtzToYearsFunction()</a></span> - Constructor for class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampNtzToYearsFunction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/orc/GenericOrcReaders.html#timestamps--">timestamps()</a></span> - Static method in class org.apache.iceberg.data.orc.<a href="org/apache/iceberg/data/orc/GenericOrcReaders.html" title="class in org.apache.iceberg.data.orc">GenericOrcReaders</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html#TimestampToDaysFunction--">TimestampToDaysFunction()</a></span> - Constructor for class org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampToDaysFunction</a></dt>
@@ -22857,7 +24175,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/StructLikeSet.html#toArray-T:A-">toArray(T[])</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/StructLikeSet.html" title="class in org.apache.iceberg.util">StructLikeSet</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html#toBatch--">toBatch()</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWrite</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/DictEncodedArrowConverter.html#toArrowVector-org.apache.iceberg.arrow.vectorized.VectorHolder-org.apache.iceberg.arrow.vectorized.ArrowVectorAccessor-">toArrowVector(VectorHolder, ArrowVectorAccessor&lt;?, String, ?, ?&gt;)</a></span> - Static method in class org.apache.iceberg.arrow.<a href="org/apache/iceberg/arrow/DictEncodedArrowConverter.html" title="class in org.apache.iceberg.arrow">DictEncodedArrowConverter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.html#toBatch--">toBatch()</a></span> - Method in class org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.html" title="class in org.apache.iceberg.spark.source">SparkPositionDeletesRewrite</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseOverwriteFiles.html#toBranch-java.lang.String-">toBranch(String)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseOverwriteFiles.html" title="class in org.apache.iceberg">BaseOverwriteFiles</a></dt>
 <dd>&nbsp;</dd>
@@ -22871,6 +24191,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/StreamingDelete.html#toBranch-java.lang.String-">toBranch(String)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html#toByteArray--">toByteArray()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryOutputFile</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/ByteBuffers.html#toByteArray-java.nio.ByteBuffer-">toByteArray(ByteBuffer)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/ByteBuffers.html" title="class in org.apache.iceberg.util">ByteBuffers</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/Literal.html#toByteBuffer--">toByteBuffer()</a></span> - Method in interface org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Literal.html" title="interface in org.apache.iceberg.expressions">Literal</a></dt>
@@ -22928,6 +24250,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hadoop/HadoopOutputFile.html#toInputFile--">toInputFile()</a></span> - Method in class org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopOutputFile.html" title="class in org.apache.iceberg.hadoop">HadoopOutputFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html#toInputFile--">toInputFile()</a></span> - Method in class org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryOutputFile</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/OutputFile.html#toInputFile--">toInputFile()</a></span> - Method in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></dt>
 <dd>
 <div class="block">Return an <a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><code>InputFile</code></a> for the location of this output file.</div>
@@ -23132,6 +24456,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#toNamedReference-java.lang.String-">toNamedReference(String)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#tooMuchContent-java.util.List-">tooMuchContent(List&lt;T&gt;)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#toOrdering-org.apache.iceberg.SortOrder-">toOrdering(SortOrder)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/Spark3Util.html#toPartitionSpec-org.apache.iceberg.Schema-org.apache.spark.sql.connector.expressions.Transform:A-">toPartitionSpec(Schema, Transform[])</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></dt>
 <dd>
 <div class="block">Converts Spark transforms into a <a href="org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>PartitionSpec</code></a>.</div>
@@ -23201,9 +24529,13 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/reader/IcebergSourceReader.html#toSplitType-java.lang.String-org.apache.iceberg.flink.source.split.IcebergSourceSplit-">toSplitType(String, IcebergSourceSplit)</a></span> - Method in class org.apache.iceberg.flink.source.reader.<a href="org/apache/iceberg/flink/source/reader/IcebergSourceReader.html" title="class in org.apache.iceberg.flink.source.reader">IcebergSourceReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#toString--">toString()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesFileGroupInfo</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteFileGroup.html#toString--">toString()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html#toString--">toString()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/aliyun/oss/OSSURI.html#toString--">toString()</a></span> - Method in class org.apache.iceberg.aliyun.oss.<a href="org/apache/iceberg/aliyun/oss/OSSURI.html" title="class in org.apache.iceberg.aliyun.oss">OSSURI</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.ConstantVectorReader.html#toString--">toString()</a></span> - Method in class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.ConstantVectorReader.html" title="class in org.apache.iceberg.arrow.vectorized">VectorizedArrowReader.ConstantVectorReader</a></dt>
@@ -23272,6 +24604,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html#toString--">toString()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html" title="class in org.apache.iceberg.flink">CatalogLoader.RESTCatalogLoader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/data/RowDataProjection.html#toString--">toString()</a></span> - Method in class org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/RowDataProjection.html" title="class in org.apache.iceberg.flink.data">RowDataProjection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/FlinkInputSplit.html#toString--">toString()</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source">FlinkInputSplit</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/reader/RecordAndPosition.html#toString--">toString()</a></span> - Method in class org.apache.iceberg.flink.source.reader.<a href="org/apache/iceberg/flink/source/reader/RecordAndPosition.html" title="class in org.apache.iceberg.flink.source.reader">RecordAndPosition</a></dt>
@@ -23596,6 +24930,8 @@
 <dd>
 <div class="block">Factory methods for transforms.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/util/StructLikeMap.html#transformValues-java.util.function.Function-">transformValues(Function&lt;T, U&gt;)</a></span> - Method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/StructLikeMap.html" title="class in org.apache.iceberg.util">StructLikeMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/HiveTableOperations.html#translateToIcebergProp-java.lang.String-">translateToIcebergProp(String)</a></span> - Static method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveTableOperations.html" title="class in org.apache.iceberg.hive">HiveTableOperations</a></dt>
 <dd>
 <div class="block">Provides key translation where necessary between Iceberg and HMS props.</div>
@@ -23981,6 +25317,8 @@
 <dd>
 <div class="block">The <code>TimeUnit</code> of the timer.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/requests/ReportMetricsRequest.html#unknown--">unknown()</a></span> - Static method in interface org.apache.iceberg.rest.requests.<a href="org/apache/iceberg/rest/requests/ReportMetricsRequest.html" title="interface in org.apache.iceberg.rest.requests">ReportMetricsRequest</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html#unknown-int-java.lang.String-int-java.lang.String-">unknown(int, String, int, String)</a></span> - Method in interface org.apache.iceberg.transforms.<a href="org/apache/iceberg/transforms/PartitionSpecVisitor.html" title="interface in org.apache.iceberg.transforms">PartitionSpecVisitor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/transforms/SortOrderVisitor.html#unknown-java.lang.String-int-java.lang.String-org.apache.iceberg.SortDirection-org.apache.iceberg.NullOrder-">unknown(String, int, String, SortDirection, NullOrder)</a></span> - Method in interface org.apache.iceberg.transforms.<a href="org/apache/iceberg/transforms/SortOrderVisitor.html" title="interface in org.apache.iceberg.transforms">SortOrderVisitor</a></dt>
@@ -23989,6 +25327,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/view/UnknownViewRepresentation.html" title="interface in org.apache.iceberg.view"><span class="typeNameLink">UnknownViewRepresentation</span></a> - Interface in <a href="org/apache/iceberg/view/package-summary.html">org.apache.iceberg.view</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/hive/NoLock.html#unlock--">unlock()</a></span> - Method in class org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive">NoLock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#UNORDERED">UNORDERED</a></span> - Static variable in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NonReservedContext.html#UNORDERED--">UNORDERED()</a></span> - Method in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.NonReservedContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.NonReservedContext</a></dt>
@@ -24067,10 +25407,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/requests/UpdateTableRequest.Builder.html#update-org.apache.iceberg.MetadataUpdate-">update(MetadataUpdate)</a></span> - Method in class org.apache.iceberg.rest.requests.<a href="org/apache/iceberg/rest/requests/UpdateTableRequest.Builder.html" title="class in org.apache.iceberg.rest.requests">UpdateTableRequest.Builder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html#update-T-T-T-">update(T, T, T)</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriter</a></dt>
-<dd>
-<div class="block">Passes information for a row that must be updated together with the updated row.</div>
-</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#UPDATE_AFTER">UPDATE_AFTER</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/ChangelogIterator.html#UPDATE_BEFORE">UPDATE_BEFORE</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark">ChangelogIterator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#UPDATE_DISTRIBUTION_MODE">UPDATE_DISTRIBUTION_MODE</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#UPDATE_ISOLATION_LEVEL">UPDATE_ISOLATION_LEVEL</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
@@ -24099,8 +25439,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/responses/UpdateNamespacePropertiesResponse.html#updated--">updated()</a></span> - Method in class org.apache.iceberg.rest.responses.<a href="org/apache/iceberg/rest/responses/UpdateNamespacePropertiesResponse.html" title="class in org.apache.iceberg.rest.responses">UpdateNamespacePropertiesResponse</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#updateDistributionMode--">updateDistributionMode()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/PendingUpdate.html#updateEvent--">updateEvent()</a></span> - Method in interface org.apache.iceberg.<a href="org/apache/iceberg/PendingUpdate.html" title="interface in org.apache.iceberg">PendingUpdate</a></dt>
 <dd>
 <div class="block">Generates update event to notify about metadata changes</div>
@@ -24339,6 +25677,21 @@
 <dd>
 <div class="block">From Apache Spark</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#URLCONNECTION_CONNECTION_TIMEOUT_MS">URLCONNECTION_CONNECTION_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure the connection timeout in milliseconds for <code>UrlConnectionHttpClient.Builder</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/HttpClientProperties.html#URLCONNECTION_SOCKET_TIMEOUT_MS">URLCONNECTION_SOCKET_TIMEOUT_MS</a></span> - Static variable in class org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></dt>
+<dd>
+<div class="block">Used to configure the socket timeout in milliseconds for <code>UrlConnectionHttpClient.Builder</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#USE_ARN_REGION_ENABLED">USE_ARN_REGION_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Enable to make S3FileIO, to make cross-region call to the region specified in the ARN of an
+ access point.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#USE_ARN_REGION_ENABLED_DEFAULT">USE_ARN_REGION_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html#USE_CACHING">USE_CACHING</a></span> - Static variable in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteManifestsSparkAction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html#USE_CACHING_DEFAULT">USE_CACHING_DEFAULT</a></span> - Static variable in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteManifestsSparkAction</a></dt>
@@ -24355,9 +25708,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteOptions.html#USE_TABLE_DISTRIBUTION_AND_ORDERING_DEFAULT">USE_TABLE_DISTRIBUTION_AND_ORDERING_DEFAULT</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/ScanContext.Builder.html#useBranch-java.lang.String-">useBranch(String)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html#useHiveRows--">useHiveRows()</a></span> - Method in class org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/InputFormatConfig.ConfigBuilder.html" title="class in org.apache.iceberg.mr">InputFormatConfig.ConfigBuilder</a></dt>
@@ -24400,14 +25753,13 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/ScanContext.Builder.html#useSnapshotId-java.lang.Long-">useSnapshotId(Long)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#useTableDistributionAndOrdering--">useTableDistributionAndOrdering()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#useStartingSequenceNumber-boolean-">useStartingSequenceNumber(boolean)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a></dt>
+<dd>
+<div class="block">If the compaction should use the sequence number of the snapshot at compaction start time for
+ new data files, instead of using the sequence number of the newly produced snapshot.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/source/ScanContext.Builder.html#useTag-java.lang.String-">useTag(String)</a></span> - Method in class org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkUtil.html#useTimestampWithoutZoneInNewTables-org.apache.spark.sql.RuntimeConfig-">useTimestampWithoutZoneInNewTables(RuntimeConfig)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></dt>
-<dd>
-<div class="block">Checks whether timestamp types for new tables should be stored with timezone info.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/ValueReaders.html#utf8s--">utf8s()</a></span> - Static method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/ValueReaders.html" title="class in org.apache.iceberg.avro">ValueReaders</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/ValueWriters.html#utf8s--">utf8s()</a></span> - Static method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/ValueWriters.html" title="class in org.apache.iceberg.avro">ValueWriters</a></dt>
@@ -24438,6 +25790,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/data/orc/GenericOrcWriters.html#uuids--">uuids()</a></span> - Static method in class org.apache.iceberg.data.orc.<a href="org/apache/iceberg/data/orc/GenericOrcWriters.html" title="class in org.apache.iceberg.data.orc">GenericOrcWriters</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/data/SparkOrcValueReaders.html#uuids--">uuids()</a></span> - Static method in class org.apache.iceberg.spark.data.<a href="org/apache/iceberg/spark/data/SparkOrcValueReaders.html" title="class in org.apache.iceberg.spark.data">SparkOrcValueReaders</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/types/Types.UUIDType.html#UUIDType--">UUIDType()</a></span> - Constructor for class org.apache.iceberg.types.<a href="org/apache/iceberg/types/Types.UUIDType.html" title="class in org.apache.iceberg.types">Types.UUIDType</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/util/UUIDUtil.html" title="class in org.apache.iceberg.util"><span class="typeNameLink">UUIDUtil</span></a> - Class in <a href="org/apache/iceberg/util/package-summary.html">org.apache.iceberg.util</a></dt>
@@ -24594,9 +25948,9 @@
  operation.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SortStrategy.html#validateOptions--">validateOptions()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#validateOptions--">validateOptions()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkUtil.html#validatePartitionTransforms-org.apache.iceberg.PartitionSpec-">validatePartitionTransforms(PartitionSpec)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></dt>
 <dd>
 <div class="block">Check whether the partition transforms in a spec can be used to write data.</div>
@@ -24607,6 +25961,12 @@
 <dd>
 <div class="block">Validates whether the provided schema is compatible with the expected schema.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkUtil.html#validateTimestampWithoutTimezoneConfig-org.apache.spark.sql.RuntimeConfig-">validateTimestampWithoutTimezoneConfig(RuntimeConfig)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkUtil.html#validateTimestampWithoutTimezoneConfig-org.apache.spark.sql.RuntimeConfig-java.util.Map-">validateTimestampWithoutTimezoneConfig(RuntimeConfig, Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></dt>
+<dd>
+<div class="block">Checks for properties both supplied by Spark's RuntimeConfig and the read or write options</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/util/WapUtil.html#validateWapPublish-org.apache.iceberg.TableMetadata-long-">validateWapPublish(TableMetadata, long)</a></span> - Static method in class org.apache.iceberg.util.<a href="org/apache/iceberg/util/WapUtil.html" title="class in org.apache.iceberg.util">WapUtil</a></dt>
 <dd>
 <div class="block">Check if a given staged snapshot's associated wap-id was already published.</div>
@@ -24626,25 +25986,35 @@
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/exceptions/ValidationException.html#ValidationException-java.lang.Throwable-java.lang.String-java.lang.Object...-">ValidationException(Throwable, String, Object...)</a></span> - Constructor for exception org.apache.iceberg.exceptions.<a href="org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions">ValidationException</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#validOptions--">validOptions()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html#validOptions--">validOptions()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ConvertEqualityDeleteStrategy.html" title="interface in org.apache.iceberg.actions">ConvertEqualityDeleteStrategy</a></dt>
 <dd>
 <div class="block">Returns a set of options which this convert strategy can use.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/FileRewriter.html#validOptions--">validOptions()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions">FileRewriter</a></dt>
+<dd>
+<div class="block">Returns a set of supported options for this rewriter.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#validOptions--">validOptions()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns a set of options which this rewrite strategy can use.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/RewriteStrategy.html#validOptions--">validOptions()</a></span> - Method in interface org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns a set of options which this rewrite strategy can use.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html#validOptions--">validOptions()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#validOptions--">validOptions()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SortStrategy.html#validOptions--">validOptions()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html#validOptions--">validOptions()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#validOptions--">validOptions()</a></span> - Method in class org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/expressions/Literal.html#value--">value()</a></span> - Method in interface org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Literal.html" title="interface in org.apache.iceberg.expressions">Literal</a></dt>
 <dd>
 <div class="block">Returns the value wrapped by this literal.</div>
@@ -25004,7 +26374,7 @@
 <div class="block">Container class for holding the Arrow vector storing a batch of values along with other state
  needed for reading values out of it.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html#VectorHolder-org.apache.parquet.column.ColumnDescriptor-org.apache.arrow.vector.FieldVector-boolean-org.apache.parquet.column.Dictionary-org.apache.iceberg.arrow.vectorized.NullabilityHolder-org.apache.iceberg.types.Type-">VectorHolder(ColumnDescriptor, FieldVector, boolean, Dictionary, NullabilityHolder, Type)</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html#VectorHolder-org.apache.parquet.column.ColumnDescriptor-org.apache.arrow.vector.FieldVector-boolean-org.apache.parquet.column.Dictionary-org.apache.iceberg.arrow.vectorized.NullabilityHolder-org.apache.iceberg.types.Types.NestedField-">VectorHolder(ColumnDescriptor, FieldVector, boolean, Dictionary, NullabilityHolder, Types.NestedField)</a></span> - Constructor for class org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized"><span class="typeNameLink">VectorHolder.ConstantVectorHolder</span></a>&lt;<a href="org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html" title="type parameter in VectorHolder.ConstantVectorHolder">T</a>&gt; - Class in <a href="org/apache/iceberg/arrow/vectorized/package-summary.html">org.apache.iceberg.arrow.vectorized</a></dt>
 <dd>
@@ -25054,7 +26424,11 @@
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.DoubleBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.DoubleBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.FixedLengthDecimalBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</dd>
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedSizeBinaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.FixedSizeBinaryBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedWidthTypeBinaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.FixedWidthTypeBinaryBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
@@ -25062,13 +26436,23 @@
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FloatBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.FloatBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.IntBackedDecimalBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</dd>
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntegerBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.IntegerBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.LongBackedDecimalBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</dd>
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.LongBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.TimestampInt96BatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.TimestampMillisBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.VarWidthTypeBatchReader</span></a> - Class in <a href="org/apache/iceberg/arrow/vectorized/parquet/package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></dt>
@@ -25817,6 +27201,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkSQLProperties.html#WAP_ID">WAP_ID</a></span> - Static variable in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkTableUtil.html#wapEnabled-org.apache.iceberg.Table-">wapEnabled(Table)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark">SparkTableUtil</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#wapEnabled--">wapEnabled()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#wapId--">wapId()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
@@ -26102,6 +27488,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/DataFiles.Builder.html#withSplitOffsets-java.util.List-">withSplitOffsets(List&lt;Long&gt;)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/DataFiles.Builder.html" title="class in org.apache.iceberg">DataFiles.Builder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/FileMetadata.Builder.html#withSplitOffsets-java.util.List-">withSplitOffsets(List&lt;Long&gt;)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/responses/ErrorResponse.Builder.html#withStackTrace-java.lang.Throwable-">withStackTrace(Throwable)</a></span> - Method in class org.apache.iceberg.rest.responses.<a href="org/apache/iceberg/rest/responses/ErrorResponse.Builder.html" title="class in org.apache.iceberg.rest.responses">ErrorResponse.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/rest/responses/ErrorResponse.Builder.html#withStackTrace-java.util.List-">withStackTrace(List&lt;String&gt;)</a></span> - Method in class org.apache.iceberg.rest.responses.<a href="org/apache/iceberg/rest/responses/ErrorResponse.Builder.html" title="class in org.apache.iceberg.rest.responses">ErrorResponse.Builder</a></dt>
@@ -26283,8 +27671,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#WRITE">WRITE</a></span> - Static variable in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html#write-T-">write(T)</a></span> - Method in interface org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriter</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#WRITE_AUDIT_PUBLISH_ENABLED">WRITE_AUDIT_PUBLISH_ENABLED</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT">WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
@@ -26315,12 +27701,30 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#WRITE_METADATA_LOCATION">WRITE_METADATA_LOCATION</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_NAMESPACE_TAG_ENABLED">WRITE_NAMESPACE_TAG_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Used by <a href="org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/io/FileIOMetricsContext.html#WRITE_OPERATIONS">WRITE_OPERATIONS</a></span> - Static variable in interface org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileIOMetricsContext.html" title="interface in org.apache.iceberg.io">FileIOMetricsContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkWriteOptions.html#WRITE_PARALLELISM">WRITE_PARALLELISM</a></span> - Static variable in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkWriteOptions.html" title="class in org.apache.iceberg.flink">FlinkWriteOptions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#WRITE_PARTITION_SUMMARY_LIMIT">WRITE_PARTITION_SUMMARY_LIMIT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT">WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_TABLE_TAG_ENABLED">WRITE_TABLE_TAG_ENABLED</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Used by <a href="org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_TABLE_TAG_ENABLED_DEFAULT">WRITE_TABLE_TAG_ENABLED_DEFAULT</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#WRITE_TAGS_PREFIX">WRITE_TAGS_PREFIX</a></span> - Static variable in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>
+<div class="block">Used by <a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when writing.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/mr/InputFormatConfig.html#WRITE_TARGET_FILE_SIZE">WRITE_TARGET_FILE_SIZE</a></span> - Static variable in class org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/InputFormatConfig.html" title="class in org.apache.iceberg.mr">InputFormatConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/TableProperties.html#WRITE_TARGET_FILE_SIZE_BYTES">WRITE_TARGET_FILE_SIZE_BYTES</a></span> - Static variable in class org.apache.iceberg.<a href="org/apache/iceberg/TableProperties.html" title="class in org.apache.iceberg">TableProperties</a></dt>
@@ -26411,10 +27815,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/BinPackStrategy.html#writeMaxFileSize--">writeMaxFileSize()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Estimates a larger max target file size than our target size used in task creation to avoid
  tasks which are predicted to have a certain size, but exceed that target size when serde is
  complete creating tiny remainder files.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#writeMaxFileSize--">writeMaxFileSize()</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>
+<div class="block">Estimates a larger max target file size than the target size used in task creation to avoid
+ creating tiny remainder files.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetastoreTableOperations.html#writeNewMetadata-org.apache.iceberg.TableMetadata-int-">writeNewMetadata(TableMetadata, int)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetastoreTableOperations.html" title="class in org.apache.iceberg">BaseMetastoreTableOperations</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/BaseMetastoreTableOperations.html#writeNewMetadataIfRequired-boolean-org.apache.iceberg.TableMetadata-">writeNewMetadataIfRequired(boolean, TableMetadata)</a></span> - Method in class org.apache.iceberg.<a href="org/apache/iceberg/BaseMetastoreTableOperations.html" title="class in org.apache.iceberg">BaseMetastoreTableOperations</a></dt>
@@ -26440,12 +27850,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteOrderingSpecContext.html#WriteOrderingSpecContext-org.antlr.v4.runtime.ParserRuleContext-int-">WriteOrderingSpecContext(ParserRuleContext, int)</a></span> - Constructor for class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.WriteOrderingSpecContext.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser.WriteOrderingSpecContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/FlinkWriteConf.html#writeParallelism--">writeParallelism()</a></span> - Method in class org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkWriteConf.html" title="class in org.apache.iceberg.flink">FlinkWriteConf</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html#writeParallelism-int-">writeParallelism(int)</a></span> - Method in class org.apache.iceberg.flink.sink.<a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html" title="class in org.apache.iceberg.flink.sink">FlinkSink.Builder</a></dt>
 <dd>
 <div class="block">Configuring the write parallel number for iceberg stream writer.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/avro/ValueWriters.StructWriter.html#writer-int-">writer(int)</a></span> - Method in class org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/ValueWriters.StructWriter.html" title="class in org.apache.iceberg.avro">ValueWriters.StructWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteConf.html#writeRequirements--">writeRequirements()</a></span> - Method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/spark/SparkWriteUtil.html#writeRequirements-org.apache.iceberg.Table-org.apache.iceberg.DistributionMode-boolean-">writeRequirements(Table, DistributionMode, boolean)</a></span> - Static method in class org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteUtil.html" title="class in org.apache.iceberg.spark">SparkWriteUtil</a></dt>
+<dd>
+<div class="block">Builds requirements for batch and micro-batch writes such as append or overwrite.</div>
+</dd>
 <dt><a href="org/apache/iceberg/io/WriteResult.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">WriteResult</span></a> - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">WriteResult.Builder</span></a> - Class in <a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></dt>
@@ -26478,8 +27896,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/parquet/Parquet.WriteBuilder.html#writeSupport-org.apache.parquet.hadoop.api.WriteSupport-">writeSupport(WriteSupport&lt;?&gt;)</a></span> - Method in class org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/Parquet.WriteBuilder.html" title="class in org.apache.iceberg.parquet">Parquet.WriteBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#writeTableTagEnabled--">writeTableTagEnabled()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html#writeTags--">writeTags()</a></span> - Method in class org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/iceberg/puffin/PuffinWriter.html#writtenBlobsMetadata--">writtenBlobsMetadata()</a></span> - Method in class org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/PuffinWriter.html" title="class in org.apache.iceberg.puffin">PuffinWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html#wronglySized-T-">wronglySized(T)</a></span> - Method in class org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html#WS">WS</a></span> - Static variable in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsLexer.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsLexer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html#WS">WS</a></span> - Static variable in class org.apache.spark.sql.catalyst.parser.extensions.<a href="org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsParser.html" title="class in org.apache.spark.sql.catalyst.parser.extensions">IcebergSqlExtensionsParser</a></dt>
@@ -26520,6 +27944,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction.DateToYearsFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction.TimestampNtzToYearsFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction.TimestampToYearsFunction</span></a> - Class in <a href="org/apache/iceberg/spark/functions/package-summary.html">org.apache.iceberg.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 </dl>
diff --git a/javadoc/org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html b/javadoc/org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html
index 3677e4d..63091eb 100644
--- a/javadoc/org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html
+++ b/javadoc/org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":42,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":42,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -148,6 +148,10 @@
 <td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#DELETE_SCAN_WITH_STATS_COLUMNS">DELETE_SCAN_WITH_STATS_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#SCAN_COLUMNS">SCAN_COLUMNS</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -158,7 +162,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -239,15 +243,10 @@
 </td>
 </tr>
 <tr id="i12" class="altColor">
-<td class="colFirst"><code>protected ThisT</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">newRefinedScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-              <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-              org.apache.iceberg.TableScanContext&nbsp;newContext)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
+<td class="colFirst"><code>ThisT</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
 </td>
 </tr>
 <tr id="i13" class="rowColor">
@@ -341,38 +340,30 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#table--">table</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i30" class="altColor">
-<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#tableOps--">tableOps</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</div>
-</td>
-</tr>
-<tr id="i31" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#tableSchema--">tableSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#tableType--">tableType</a></span>()</code>
 <div class="block">Type of scan being performed, such as <a href="../../../org/apache/iceberg/MetadataTableType.html#ALL_DATA_FILES"><code>MetadataTableType.ALL_DATA_FILES</code></a> when scanning a
  table's <a href="../../../org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg"><code>AllDataFilesTable</code></a>.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#useRef-java.lang.String-">useRef</a></span>(java.lang.String&nbsp;ref)</code>
 <div class="block">Create a new <a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given
  reference.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDataFilesTable.AllDataFilesTableScan.html#useSnapshot-long-">useSnapshot</a></span>(long&nbsp;scanSnapshotId)</code>
 <div class="block">Create a new <a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given snapshot
@@ -406,7 +397,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
 </ul>
 </li>
 </ul>
@@ -422,6 +413,15 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="SCAN_COLUMNS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCAN_COLUMNS</h4>
+<pre>protected static final&nbsp;java.util.List&lt;java.lang.String&gt; SCAN_COLUMNS</pre>
+</li>
+</ul>
 <a name="DELETE_SCAN_COLUMNS">
 <!--   -->
 </a>
@@ -672,17 +672,6 @@
 </dl>
 </li>
 </ul>
-<a name="tableOps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableOps</h4>
-<pre>@Deprecated
-protected&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;tableOps()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</li>
-</ul>
 <a name="table--">
 <!--   -->
 </a>
@@ -755,21 +744,6 @@
 <pre>protected&nbsp;java.util.concurrent.ExecutorService&nbsp;planExecutor()</pre>
 </li>
 </ul>
-<a name="newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newRefinedScan</h4>
-<pre>@Deprecated
-protected&nbsp;ThisT&nbsp;newRefinedScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                           <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-                                           <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-                                           org.apache.iceberg.TableScanContext&nbsp;newContext)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="option-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -1002,7 +976,7 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
@@ -1014,6 +988,22 @@
 </dl>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>public&nbsp;ThisT&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">Scan</a></code></span></div>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;ThisT,T extends <a href="../../../org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,G extends <a href="../../../org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html b/javadoc/org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html
index f70f8fd..ceccfe3 100644
--- a/javadoc/org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html
+++ b/javadoc/org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":42,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":42,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -148,6 +148,10 @@
 <td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#DELETE_SCAN_WITH_STATS_COLUMNS">DELETE_SCAN_WITH_STATS_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#SCAN_COLUMNS">SCAN_COLUMNS</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -158,7 +162,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -239,15 +243,10 @@
 </td>
 </tr>
 <tr id="i12" class="altColor">
-<td class="colFirst"><code>protected ThisT</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">newRefinedScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-              <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-              org.apache.iceberg.TableScanContext&nbsp;newContext)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
+<td class="colFirst"><code>ThisT</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
 </td>
 </tr>
 <tr id="i13" class="rowColor">
@@ -341,38 +340,30 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#table--">table</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i30" class="altColor">
-<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#tableOps--">tableOps</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</div>
-</td>
-</tr>
-<tr id="i31" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#tableSchema--">tableSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#tableType--">tableType</a></span>()</code>
 <div class="block">Type of scan being performed, such as <a href="../../../org/apache/iceberg/MetadataTableType.html#ALL_DATA_FILES"><code>MetadataTableType.ALL_DATA_FILES</code></a> when scanning a
  table's <a href="../../../org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg"><code>AllDataFilesTable</code></a>.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#useRef-java.lang.String-">useRef</a></span>(java.lang.String&nbsp;ref)</code>
 <div class="block">Create a new <a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given
  reference.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllDeleteFilesTable.AllDeleteFilesTableScan.html#useSnapshot-long-">useSnapshot</a></span>(long&nbsp;scanSnapshotId)</code>
 <div class="block">Create a new <a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given snapshot
@@ -406,7 +397,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
 </ul>
 </li>
 </ul>
@@ -422,6 +413,15 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="SCAN_COLUMNS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCAN_COLUMNS</h4>
+<pre>protected static final&nbsp;java.util.List&lt;java.lang.String&gt; SCAN_COLUMNS</pre>
+</li>
+</ul>
 <a name="DELETE_SCAN_COLUMNS">
 <!--   -->
 </a>
@@ -672,17 +672,6 @@
 </dl>
 </li>
 </ul>
-<a name="tableOps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableOps</h4>
-<pre>@Deprecated
-protected&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;tableOps()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</li>
-</ul>
 <a name="table--">
 <!--   -->
 </a>
@@ -755,21 +744,6 @@
 <pre>protected&nbsp;java.util.concurrent.ExecutorService&nbsp;planExecutor()</pre>
 </li>
 </ul>
-<a name="newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newRefinedScan</h4>
-<pre>@Deprecated
-protected&nbsp;ThisT&nbsp;newRefinedScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                           <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-                                           <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-                                           org.apache.iceberg.TableScanContext&nbsp;newContext)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="option-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -1002,7 +976,7 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
@@ -1014,6 +988,22 @@
 </dl>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>public&nbsp;ThisT&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">Scan</a></code></span></div>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;ThisT,T extends <a href="../../../org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,G extends <a href="../../../org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/AllFilesTable.AllFilesTableScan.html b/javadoc/org/apache/iceberg/AllFilesTable.AllFilesTableScan.html
index f0ad893..e27a947 100644
--- a/javadoc/org/apache/iceberg/AllFilesTable.AllFilesTableScan.html
+++ b/javadoc/org/apache/iceberg/AllFilesTable.AllFilesTableScan.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":42,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":42,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -148,6 +148,10 @@
 <td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#DELETE_SCAN_WITH_STATS_COLUMNS">DELETE_SCAN_WITH_STATS_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#SCAN_COLUMNS">SCAN_COLUMNS</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -158,7 +162,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -239,15 +243,10 @@
 </td>
 </tr>
 <tr id="i12" class="altColor">
-<td class="colFirst"><code>protected ThisT</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">newRefinedScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-              <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-              org.apache.iceberg.TableScanContext&nbsp;newContext)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
+<td class="colFirst"><code>ThisT</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
 </td>
 </tr>
 <tr id="i13" class="rowColor">
@@ -341,38 +340,30 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#table--">table</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i30" class="altColor">
-<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#tableOps--">tableOps</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</div>
-</td>
-</tr>
-<tr id="i31" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#tableSchema--">tableSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#tableType--">tableType</a></span>()</code>
 <div class="block">Type of scan being performed, such as <a href="../../../org/apache/iceberg/MetadataTableType.html#ALL_DATA_FILES"><code>MetadataTableType.ALL_DATA_FILES</code></a> when scanning a
  table's <a href="../../../org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg"><code>AllDataFilesTable</code></a>.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#useRef-java.lang.String-">useRef</a></span>(java.lang.String&nbsp;ref)</code>
 <div class="block">Create a new <a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given
  reference.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllFilesTable.AllFilesTableScan.html#useSnapshot-long-">useSnapshot</a></span>(long&nbsp;scanSnapshotId)</code>
 <div class="block">Create a new <a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given snapshot
@@ -406,7 +397,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
 </ul>
 </li>
 </ul>
@@ -422,6 +413,15 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="SCAN_COLUMNS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCAN_COLUMNS</h4>
+<pre>protected static final&nbsp;java.util.List&lt;java.lang.String&gt; SCAN_COLUMNS</pre>
+</li>
+</ul>
 <a name="DELETE_SCAN_COLUMNS">
 <!--   -->
 </a>
@@ -672,17 +672,6 @@
 </dl>
 </li>
 </ul>
-<a name="tableOps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableOps</h4>
-<pre>@Deprecated
-protected&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;tableOps()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</li>
-</ul>
 <a name="table--">
 <!--   -->
 </a>
@@ -755,21 +744,6 @@
 <pre>protected&nbsp;java.util.concurrent.ExecutorService&nbsp;planExecutor()</pre>
 </li>
 </ul>
-<a name="newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newRefinedScan</h4>
-<pre>@Deprecated
-protected&nbsp;ThisT&nbsp;newRefinedScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                           <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-                                           <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-                                           org.apache.iceberg.TableScanContext&nbsp;newContext)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="option-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -1002,7 +976,7 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
@@ -1014,6 +988,22 @@
 </dl>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>public&nbsp;ThisT&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">Scan</a></code></span></div>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;ThisT,T extends <a href="../../../org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,G extends <a href="../../../org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html b/javadoc/org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html
index b4f6aaa..3eb2e4f 100644
--- a/javadoc/org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html
+++ b/javadoc/org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":42,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":42,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -148,6 +148,10 @@
 <td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#DELETE_SCAN_WITH_STATS_COLUMNS">DELETE_SCAN_WITH_STATS_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#SCAN_COLUMNS">SCAN_COLUMNS</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -158,7 +162,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -233,15 +237,10 @@
 </td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>protected ThisT</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">newRefinedScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-              <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-              org.apache.iceberg.TableScanContext&nbsp;newContext)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
+<td class="colFirst"><code>ThisT</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
 </td>
 </tr>
 <tr id="i12" class="altColor">
@@ -335,38 +334,30 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#table--">table</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i29" class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#tableOps--">tableOps</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</div>
-</td>
-</tr>
-<tr id="i30" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#tableSchema--">tableSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#tableType--">tableType</a></span>()</code>
 <div class="block">Type of scan being performed, such as <a href="../../../org/apache/iceberg/MetadataTableType.html#ALL_DATA_FILES"><code>MetadataTableType.ALL_DATA_FILES</code></a> when scanning a
  table's <a href="../../../org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg"><code>AllDataFilesTable</code></a>.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#useRef-java.lang.String-">useRef</a></span>(java.lang.String&nbsp;ref)</code>
 <div class="block">Create a new <a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given
  reference.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/AllManifestsTable.AllManifestsTableScan.html#useSnapshot-long-">useSnapshot</a></span>(long&nbsp;scanSnapshotId)</code>
 <div class="block">Create a new <a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given snapshot
@@ -400,7 +391,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
 </ul>
 </li>
 </ul>
@@ -416,6 +407,15 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="SCAN_COLUMNS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCAN_COLUMNS</h4>
+<pre>protected static final&nbsp;java.util.List&lt;java.lang.String&gt; SCAN_COLUMNS</pre>
+</li>
+</ul>
 <a name="DELETE_SCAN_COLUMNS">
 <!--   -->
 </a>
@@ -656,17 +656,6 @@
 </dl>
 </li>
 </ul>
-<a name="tableOps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableOps</h4>
-<pre>@Deprecated
-protected&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;tableOps()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</li>
-</ul>
 <a name="table--">
 <!--   -->
 </a>
@@ -739,21 +728,6 @@
 <pre>protected&nbsp;java.util.concurrent.ExecutorService&nbsp;planExecutor()</pre>
 </li>
 </ul>
-<a name="newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newRefinedScan</h4>
-<pre>@Deprecated
-protected&nbsp;ThisT&nbsp;newRefinedScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                           <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-                                           <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-                                           org.apache.iceberg.TableScanContext&nbsp;newContext)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="option-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -986,7 +960,7 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
@@ -998,6 +972,22 @@
 </dl>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>public&nbsp;ThisT&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">Scan</a></code></span></div>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;ThisT,T extends <a href="../../../org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,G extends <a href="../../../org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/BaseMetadataTable.html b/javadoc/org/apache/iceberg/BaseMetadataTable.html
index 7f6e322..ca1fd57 100644
--- a/javadoc/org/apache/iceberg/BaseMetadataTable.html
+++ b/javadoc/org/apache/iceberg/BaseMetadataTable.html
@@ -147,16 +147,6 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetadataTable.html#BaseMetadataTable-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-java.lang.String-">BaseMetadataTable</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                 <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                 java.lang.String&nbsp;name)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use BaseMetadataTable(Table, String) instead.</span></div>
-</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected </code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetadataTable.html#BaseMetadataTable-org.apache.iceberg.Table-java.lang.String-">BaseMetadataTable</a></span>(<a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                  java.lang.String&nbsp;name)</code>&nbsp;</td>
 </tr>
@@ -279,7 +269,7 @@
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseMetadataTable.html#operations--">operations</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 2.0.0; do not use metadata table TableOperations</span></div>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; do not use metadata table TableOperations</span></div>
 </div>
 </td>
 </tr>
@@ -432,19 +422,6 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="BaseMetadataTable-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>BaseMetadataTable</h4>
-<pre>@Deprecated
-protected&nbsp;BaseMetadataTable(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                        <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                        java.lang.String&nbsp;name)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use BaseMetadataTable(Table, String) instead.</span></div>
-</li>
-</ul>
 <a name="BaseMetadataTable-org.apache.iceberg.Table-java.lang.String-">
 <!--   -->
 </a>
@@ -480,7 +457,7 @@
 <h4>operations</h4>
 <pre>@Deprecated
 public&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;operations()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 2.0.0; do not use metadata table TableOperations</span></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0; do not use metadata table TableOperations</span></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../org/apache/iceberg/HasTableOperations.html#operations--">operations</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/HasTableOperations.html" title="interface in org.apache.iceberg">HasTableOperations</a></code></dd>
diff --git a/javadoc/org/apache/iceberg/BaseMetastoreCatalog.html b/javadoc/org/apache/iceberg/BaseMetastoreCatalog.html
index 511ec50..c3d7c81 100644
--- a/javadoc/org/apache/iceberg/BaseMetastoreCatalog.html
+++ b/javadoc/org/apache/iceberg/BaseMetastoreCatalog.html
@@ -111,7 +111,7 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a>, <a href="../../../org/apache/iceberg/dell/ecs/EcsCatalog.html" title="class in org.apache.iceberg.dell.ecs">EcsCatalog</a>, <a href="../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a>, <a href="../../../org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a>, <a href="../../../org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a>, <a href="../../../org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a>, <a href="../../../org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a>, <a href="../../../org/apache/iceberg/snowflake/SnowflakeCatalog.html" title="class in org.apache.iceberg.snowflake">SnowflakeCatalog</a></dd>
+<dd><a href="../../../org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a>, <a href="../../../org/apache/iceberg/dell/ecs/EcsCatalog.html" title="class in org.apache.iceberg.dell.ecs">EcsCatalog</a>, <a href="../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a>, <a href="../../../org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a>, <a href="../../../org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a>, <a href="../../../org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a>, <a href="../../../org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a>, <a href="../../../org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a>, <a href="../../../org/apache/iceberg/snowflake/SnowflakeCatalog.html" title="class in org.apache.iceberg.snowflake">SnowflakeCatalog</a></dd>
 </dl>
 <hr>
 <br>
diff --git a/javadoc/org/apache/iceberg/BaseOverwriteFiles.html b/javadoc/org/apache/iceberg/BaseOverwriteFiles.html
index 38bc334..7ba2367 100644
--- a/javadoc/org/apache/iceberg/BaseOverwriteFiles.html
+++ b/javadoc/org/apache/iceberg/BaseOverwriteFiles.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":42,"i52":10,"i53":42,"i54":10,"i55":10,"i56":42,"i57":10,"i58":42,"i59":10,"i60":42,"i61":10,"i62":10,"i63":10,"i64":10,"i65":42,"i66":10,"i67":42,"i68":10,"i69":42,"i70":10,"i71":42,"i72":10,"i73":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":42,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":42,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -166,23 +166,22 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#add-org.apache.iceberg.DeleteFile-long-">add</a></span>(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file,
+   long&nbsp;dataSequenceNumber)</code>
+<div class="block">Add a delete file to the new snapshot.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#add-org.apache.iceberg.ManifestFile-">add</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>
 <div class="block">Add all files in a manifest to the new snapshot.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>protected org.apache.iceberg.DeleteFileIndex</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-">addedDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                java.lang.Long&nbsp;startingSnapshotId,
-                <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.addedDeleteFiles(TableMetadata, Long, Expression, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>protected java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#addedDataFiles--">addedDataFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>protected org.apache.iceberg.DeleteFileIndex</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">addedDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                 java.lang.Long&nbsp;startingSnapshotId,
@@ -192,250 +191,267 @@
 <div class="block">Returns matching delete files have been added to the table since a starting snapshot.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>protected java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#addedFiles--">addedFiles</a></span>()</code>&nbsp;</td>
-</tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>protected java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#addedFiles--">addedFiles</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#addedDataFiles--"><code>addedDataFiles()</code></a>.</span></div>
+</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#addFile-org.apache.iceberg.DataFile-">addFile</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code>
 <div class="block">Add a <a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to the table.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#addsDataFiles--">addsDataFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#addsDeleteFiles--">addsDeleteFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#apply--">apply</a></span>()</code>
 <div class="block">Apply the pending changes and return the uncommitted changes for validation.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>java.util.List&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#apply-org.apache.iceberg.TableMetadata-org.apache.iceberg.Snapshot-">apply</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
      <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot)</code>
 <div class="block">Apply the update's changes to the given metadata and snapshot.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#caseSensitive-boolean-">caseSensitive</a></span>(boolean&nbsp;isCaseSensitive)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#cleanAll--">cleanAll</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#cleanUncommitted-java.util.Set-">cleanUncommitted</a></span>(java.util.Set&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;committed)</code>
 <div class="block">Clean up any uncommitted manifests that were created.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#commit--">commit</a></span>()</code>
 <div class="block">Apply the pending changes and commit.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/metrics/CommitMetrics.html" title="class in org.apache.iceberg.metrics">CommitMetrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#commitMetrics--">commitMetrics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#conflictDetectionFilter-org.apache.iceberg.expressions.Expression-">conflictDetectionFilter</a></span>(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;newConflictDetectionFilter)</code>
 <div class="block">Sets a conflict detection filter used to validate concurrently added data and delete files.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#current--">current</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#dataSpec--">dataSpec</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#delete-java.lang.CharSequence-">delete</a></span>(java.lang.CharSequence&nbsp;path)</code>
 <div class="block">Add a specific data path to be deleted in the new snapshot.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#delete-org.apache.iceberg.DataFile-">delete</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code>
 <div class="block">Add a specific data file to be deleted in the new snapshot.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#delete-org.apache.iceberg.DeleteFile-">delete</a></span>(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file)</code>
 <div class="block">Add a specific delete file to be deleted in the new snapshot.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#deleteByRowFilter-org.apache.iceberg.expressions.Expression-">deleteByRowFilter</a></span>(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code>
 <div class="block">Add a filter to match files to delete.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#deleteFile-org.apache.iceberg.DataFile-">deleteFile</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code>
 <div class="block">Delete a <a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> from the table.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#deleteFile-java.lang.String-">deleteFile</a></span>(java.lang.String&nbsp;path)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#deletesDataFiles--">deletesDataFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#deletesDeleteFiles--">deletesDeleteFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#deleteWith-java.util.function.Consumer-">deleteWith</a></span>(java.util.function.Consumer&lt;java.lang.String&gt;&nbsp;deleteCallback)</code>
 <div class="block">Set a callback to delete files instead of the table's default.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#dropPartition-int-org.apache.iceberg.StructLike-">dropPartition</a></span>(int&nbsp;specId,
              <a href="../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition)</code>
 <div class="block">Add a partition tuple to drop from the table during the delete phase.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#failAnyDelete--">failAnyDelete</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#failMissingDeletePaths--">failMissingDeletePaths</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#isCaseSensitive--">isCaseSensitive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#manifestListPath--">manifestListPath</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#newDeleteManifestReader-org.apache.iceberg.ManifestFile-">newDeleteManifestReader</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#newDeleteManifestWriter-org.apache.iceberg.PartitionSpec-">newDeleteManifestWriter</a></span>(<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#newManifestOutput--">newManifestOutput</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#newManifestReader-org.apache.iceberg.ManifestFile-">newManifestReader</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#newManifestWriter-org.apache.iceberg.PartitionSpec-">newManifestWriter</a></span>(<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>protected java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#operation--">operation</a></span>()</code>
 <div class="block">A string that describes the action that produced the new snapshot.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#overwriteByRowFilter-org.apache.iceberg.expressions.Expression-">overwriteByRowFilter</a></span>(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code>
 <div class="block">Delete files that match an <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> on data rows from the table.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#refresh--">refresh</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>protected ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#reportWith-org.apache.iceberg.metrics.MetricsReporter-">reportWith</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;newReporter)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#rowFilter--">rowFilter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#scanManifestsWith-java.util.concurrent.ExecutorService-">scanManifestsWith</a></span>(java.util.concurrent.ExecutorService&nbsp;executorService)</code>
 <div class="block">Use a particular executor to scan manifests.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#self--">self</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#set-java.lang.String-java.lang.String-">set</a></span>(java.lang.String&nbsp;property,
    java.lang.String&nbsp;value)</code>
 <div class="block">Set a summary property in the snapshot produced by this update.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#setNewFilesSequenceNumber-long-">setNewFilesSequenceNumber</a></span>(long&nbsp;sequenceNumber)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#setNewDataFilesDataSequenceNumber-long-">setNewDataFilesDataSequenceNumber</a></span>(long&nbsp;sequenceNumber)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i48" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#setNewFilesSequenceNumber-long-">setNewFilesSequenceNumber</a></span>(long&nbsp;sequenceNumber)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#setNewDataFilesDataSequenceNumber-long-"><code>setNewDataFilesDataSequenceNumber(long)</code></a>;</span></div>
+</div>
+</td>
+</tr>
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#snapshotId--">snapshotId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#stageOnly--">stageOnly</a></span>()</code>
 <div class="block">Called to stage a snapshot in table metadata, but not update the current snapshot id.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>protected java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#summary--">summary</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>protected java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#targetBranch--">targetBranch</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#targetBranch-java.lang.String-">targetBranch</a></span>(java.lang.String&nbsp;branch)</code>
-<div class="block">* A setter for the target branch on which snapshot producer operation should be performed</div>
+<div class="block">A setter for the target branch on which snapshot producer operation should be performed</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html" title="class in org.apache.iceberg">BaseOverwriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#toBranch-java.lang.String-">toBranch</a></span>(java.lang.String&nbsp;branch)</code>
 <div class="block">Perform operations on a particular branch</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>java.lang.Object</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#updateEvent--">updateEvent</a></span>()</code>
 <div class="block">Generates update event to notify about metadata changes</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validate-org.apache.iceberg.TableMetadata-org.apache.iceberg.Snapshot-">validate</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
         <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code>
 <div class="block">Validate the current metadata.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                      java.lang.Long&nbsp;startingSnapshotId,
-                      <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, Expression, Snapshot)</code>
-     instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i52" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                       java.lang.Long&nbsp;startingSnapshotId,
@@ -445,18 +461,7 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                      java.lang.Long&nbsp;startingSnapshotId,
-                      <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i54" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                       java.lang.Long&nbsp;startingSnapshotId,
@@ -466,23 +471,13 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateAddedFilesMatchOverwriteFilter--">validateAddedFilesMatchOverwriteFilter</a></span>()</code>
 <div class="block">Signal that each file added to the table must match the overwrite expression.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-">validateDataFilesExist</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                      java.lang.Long&nbsp;startingSnapshotId,
-                      <a href="../../../org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a>&nbsp;requiredDataFiles,
-                      boolean&nbsp;skipDeletes,
-                      <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</td>
-</tr>
-<tr id="i57" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateDataFilesExist</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                       java.lang.Long&nbsp;startingSnapshotId,
@@ -491,18 +486,7 @@
                       <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter,
                       <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateDeletedDataFiles(TableMetadata, Long, Expression,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i59" class="rowColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                         java.lang.Long&nbsp;startingSnapshotId,
@@ -512,18 +496,7 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                         java.lang.Long&nbsp;startingSnapshotId,
@@ -533,35 +506,25 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateFromSnapshot-long-">validateFromSnapshot</a></span>(long&nbsp;snapshotId)</code>
 <div class="block">Set the snapshot ID used in any reads for this operation.</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateNoConflictingData--">validateNoConflictingData</a></span>()</code>
 <div class="block">Enables validation that data added concurrently does not conflict with this commit's operation.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/OverwriteFiles.html" title="interface in org.apache.iceberg">OverwriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateNoConflictingDeletes--">validateNoConflictingDeletes</a></span>()</code>
 <div class="block">Enables validation that deletes that happened concurrently do not conflict with this commit's
  operation.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata, java.lang.Long, org.apache.iceberg.expressions.Expression)</code> instead</span></div>
-</div>
-</td>
-</tr>
 <tr id="i66" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
@@ -574,17 +537,6 @@
 </tr>
 <tr id="i67" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i68" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                         java.lang.Long&nbsp;startingSnapshotId,
                         <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
@@ -593,18 +545,7 @@
  starting snapshot.</div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                java.lang.Long&nbsp;startingSnapshotId,
-                                <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                                java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i70" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-org.apache.iceberg.Snapshot-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                                 java.lang.Long&nbsp;startingSnapshotId,
@@ -615,17 +556,7 @@
  to the table since a starting snapshot.</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-java.lang.Iterable-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                java.lang.Long&nbsp;startingSnapshotId,
-                                java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i72" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-java.lang.Iterable-org.apache.iceberg.Snapshot-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                                 java.lang.Long&nbsp;startingSnapshotId,
@@ -635,7 +566,7 @@
  to the table since a starting snapshot.</div>
 </td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.ExecutorService</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#workerPool--">workerPool</a></span>()</code>&nbsp;</td>
 </tr>
@@ -1006,7 +937,19 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>addedFiles</h4>
-<pre>protected&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;addedFiles()</pre>
+<pre>@Deprecated
+protected&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;addedFiles()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#addedDataFiles--"><code>addedDataFiles()</code></a>.</span></div>
+<div class="block">Returns added data files.</div>
+</li>
+</ul>
+<a name="addedDataFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addedDataFiles</h4>
+<pre>protected&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;addedDataFiles()</pre>
 </li>
 </ul>
 <a name="failAnyDelete--">
@@ -1083,6 +1026,42 @@
 <div class="block">Add a specific data path to be deleted in the new snapshot.</div>
 </li>
 </ul>
+<a name="deletesDataFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deletesDataFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;deletesDataFiles()</pre>
+</li>
+</ul>
+<a name="deletesDeleteFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deletesDeleteFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;deletesDeleteFiles()</pre>
+</li>
+</ul>
+<a name="addsDataFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addsDataFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;addsDataFiles()</pre>
+</li>
+</ul>
+<a name="addsDeleteFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addsDeleteFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;addsDeleteFiles()</pre>
+</li>
+</ul>
 <a name="add-org.apache.iceberg.DataFile-">
 <!--   -->
 </a>
@@ -1103,6 +1082,17 @@
 <div class="block">Add a delete file to the new snapshot.</div>
 </li>
 </ul>
+<a name="add-org.apache.iceberg.DeleteFile-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>protected&nbsp;void&nbsp;add(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file,
+                   long&nbsp;dataSequenceNumber)</pre>
+<div class="block">Add a delete file to the new snapshot.</div>
+</li>
+</ul>
 <a name="add-org.apache.iceberg.ManifestFile-">
 <!--   -->
 </a>
@@ -1113,26 +1103,6 @@
 <div class="block">Add all files in a manifest to the new snapshot.</div>
 </li>
 </ul>
-<a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateAddedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateAddedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                  java.lang.Long&nbsp;startingSnapshotId,
-                                                  <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>partitionSet</code> - a set of partitions to filter new conflicting data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1154,26 +1124,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateAddedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateAddedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                  java.lang.Long&nbsp;startingSnapshotId,
-                                                  <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, Expression, Snapshot)</code>
-     instead</span></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>conflictDetectionFilter</code> - an expression used to find new conflicting data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1215,50 +1165,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-java.lang.Iterable-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeletesForDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeletesForDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                            java.lang.Long&nbsp;startingSnapshotId,
-                                                            java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-<div class="block">Validates that no new delete files that must be applied to the given data files have been added
- to the table since a starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFiles</code> - data files to validate have no new row deletes</dd>
-</dl>
-</li>
-</ul>
-<a name="validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeletesForDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeletesForDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                            java.lang.Long&nbsp;startingSnapshotId,
-                                                            <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                                                            java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-<div class="block">Validates that no new delete files that must be applied to the given data files have been added
- to the table since a starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - a data filter</dd>
-<dd><code>dataFiles</code> - data files to validate have no new row deletes</dd>
-</dl>
-</li>
-</ul>
 <a name="validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1282,27 +1188,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeleteFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeleteFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata, java.lang.Long, org.apache.iceberg.expressions.Expression)</code> instead</span></div>
-<div class="block">Validates that no delete files matching a filter have been added to the table since a starting
- snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - an expression used to find new conflicting delete files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1324,28 +1209,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeleteFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeleteFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<div class="block">Validates that no delete files matching a partition set have been added to the table since a
- starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>partitionSet</code> - a partition set used to find new conflicting delete files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1367,29 +1230,6 @@
 </dl>
 </li>
 </ul>
-<a name="addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addedDeleteFiles</h4>
-<pre>@Deprecated
-protected&nbsp;org.apache.iceberg.DeleteFileIndex&nbsp;addedDeleteFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                                          java.lang.Long&nbsp;startingSnapshotId,
-                                                                          <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                                                                          <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.addedDeleteFiles(TableMetadata, Long, Expression, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<div class="block">Returns matching delete files have been added to the table since a starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - an expression used to find delete files</dd>
-<dd><code>partitionSet</code> - a partition set used to find delete files</dd>
-</dl>
-</li>
-</ul>
 <a name="addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1412,28 +1252,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateDeletedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateDeletedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateDeletedDataFiles(TableMetadata, Long, Expression,
-     Snapshot)</code> instead</span></div>
-<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
- snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - an expression used to find deleted data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1455,28 +1273,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateDeletedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateDeletedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
- snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>partitionSet</code> - a partition set used to find deleted data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1504,22 +1300,23 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setNewFilesSequenceNumber</h4>
-<pre>protected&nbsp;void&nbsp;setNewFilesSequenceNumber(long&nbsp;sequenceNumber)</pre>
+<pre>@Deprecated
+protected&nbsp;void&nbsp;setNewFilesSequenceNumber(long&nbsp;sequenceNumber)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/BaseOverwriteFiles.html#setNewDataFilesDataSequenceNumber-long-"><code>setNewDataFilesDataSequenceNumber(long)</code></a>;</span></div>
+<div class="block">Sets a data sequence number for new data files.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sequenceNumber</code> - a data sequence number</dd>
+</dl>
 </li>
 </ul>
-<a name="validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-">
+<a name="setNewDataFilesDataSequenceNumber-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>validateDataFilesExist</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateDataFilesExist(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                  java.lang.Long&nbsp;startingSnapshotId,
-                                                  <a href="../../../org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a>&nbsp;requiredDataFiles,
-                                                  boolean&nbsp;skipDeletes,
-                                                  <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<h4>setNewDataFilesDataSequenceNumber</h4>
+<pre>protected&nbsp;void&nbsp;setNewDataFilesDataSequenceNumber(long&nbsp;sequenceNumber)</pre>
 </li>
 </ul>
 <a name="validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
@@ -1658,7 +1455,7 @@
 <li class="blockList">
 <h4>targetBranch</h4>
 <pre>protected&nbsp;void&nbsp;targetBranch(java.lang.String&nbsp;branch)</pre>
-<div class="block">* A setter for the target branch on which snapshot producer operation should be performed</div>
+<div class="block">A setter for the target branch on which snapshot producer operation should be performed</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>branch</code> - to set as target branch</dd>
diff --git a/javadoc/org/apache/iceberg/BaseReplacePartitions.html b/javadoc/org/apache/iceberg/BaseReplacePartitions.html
index 5d160d7..a9ccaaa 100644
--- a/javadoc/org/apache/iceberg/BaseReplacePartitions.html
+++ b/javadoc/org/apache/iceberg/BaseReplacePartitions.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":42,"i49":10,"i50":42,"i51":10,"i52":10,"i53":42,"i54":10,"i55":42,"i56":10,"i57":42,"i58":10,"i59":10,"i60":10,"i61":10,"i62":42,"i63":10,"i64":42,"i65":10,"i66":42,"i67":10,"i68":42,"i69":10,"i70":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":42,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":42,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -146,23 +146,22 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#add-org.apache.iceberg.DeleteFile-long-">add</a></span>(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file,
+   long&nbsp;dataSequenceNumber)</code>
+<div class="block">Add a delete file to the new snapshot.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#add-org.apache.iceberg.ManifestFile-">add</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>
 <div class="block">Add all files in a manifest to the new snapshot.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>protected org.apache.iceberg.DeleteFileIndex</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-">addedDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                java.lang.Long&nbsp;startingSnapshotId,
-                <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.addedDeleteFiles(TableMetadata, Long, Expression, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>protected java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#addedDataFiles--">addedDataFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>protected org.apache.iceberg.DeleteFileIndex</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">addedDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                 java.lang.Long&nbsp;startingSnapshotId,
@@ -172,232 +171,249 @@
 <div class="block">Returns matching delete files have been added to the table since a starting snapshot.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>protected java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#addedFiles--">addedFiles</a></span>()</code>&nbsp;</td>
-</tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>protected java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#addedFiles--">addedFiles</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/BaseReplacePartitions.html#addedDataFiles--"><code>addedDataFiles()</code></a>.</span></div>
+</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/ReplacePartitions.html" title="interface in org.apache.iceberg">ReplacePartitions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#addFile-org.apache.iceberg.DataFile-">addFile</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code>
 <div class="block">Add a <a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> to the table.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#addsDataFiles--">addsDataFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#addsDeleteFiles--">addsDeleteFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#apply--">apply</a></span>()</code>
 <div class="block">Apply the pending changes and return the uncommitted changes for validation.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>java.util.List&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#apply-org.apache.iceberg.TableMetadata-org.apache.iceberg.Snapshot-">apply</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
      <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot)</code>
 <div class="block">Apply the update's changes to the given metadata and snapshot.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#caseSensitive-boolean-">caseSensitive</a></span>(boolean&nbsp;isCaseSensitive)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#cleanAll--">cleanAll</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#cleanUncommitted-java.util.Set-">cleanUncommitted</a></span>(java.util.Set&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;committed)</code>
 <div class="block">Clean up any uncommitted manifests that were created.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#commit--">commit</a></span>()</code>
 <div class="block">Apply the pending changes and commit.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/metrics/CommitMetrics.html" title="class in org.apache.iceberg.metrics">CommitMetrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#commitMetrics--">commitMetrics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#current--">current</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#dataSpec--">dataSpec</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#delete-java.lang.CharSequence-">delete</a></span>(java.lang.CharSequence&nbsp;path)</code>
 <div class="block">Add a specific data path to be deleted in the new snapshot.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#delete-org.apache.iceberg.DataFile-">delete</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code>
 <div class="block">Add a specific data file to be deleted in the new snapshot.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#delete-org.apache.iceberg.DeleteFile-">delete</a></span>(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file)</code>
 <div class="block">Add a specific delete file to be deleted in the new snapshot.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#deleteByRowFilter-org.apache.iceberg.expressions.Expression-">deleteByRowFilter</a></span>(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code>
 <div class="block">Add a filter to match files to delete.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#deleteFile-java.lang.String-">deleteFile</a></span>(java.lang.String&nbsp;path)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#deletesDataFiles--">deletesDataFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#deletesDeleteFiles--">deletesDeleteFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#deleteWith-java.util.function.Consumer-">deleteWith</a></span>(java.util.function.Consumer&lt;java.lang.String&gt;&nbsp;deleteCallback)</code>
 <div class="block">Set a callback to delete files instead of the table's default.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#dropPartition-int-org.apache.iceberg.StructLike-">dropPartition</a></span>(int&nbsp;specId,
              <a href="../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition)</code>
 <div class="block">Add a partition tuple to drop from the table during the delete phase.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#failAnyDelete--">failAnyDelete</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#failMissingDeletePaths--">failMissingDeletePaths</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#isCaseSensitive--">isCaseSensitive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#manifestListPath--">manifestListPath</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#newDeleteManifestReader-org.apache.iceberg.ManifestFile-">newDeleteManifestReader</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#newDeleteManifestWriter-org.apache.iceberg.PartitionSpec-">newDeleteManifestWriter</a></span>(<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#newManifestOutput--">newManifestOutput</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#newManifestReader-org.apache.iceberg.ManifestFile-">newManifestReader</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#newManifestWriter-org.apache.iceberg.PartitionSpec-">newManifestWriter</a></span>(<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>protected java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#operation--">operation</a></span>()</code>
 <div class="block">A string that describes the action that produced the new snapshot.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#refresh--">refresh</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>protected ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#reportWith-org.apache.iceberg.metrics.MetricsReporter-">reportWith</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;newReporter)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#rowFilter--">rowFilter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#scanManifestsWith-java.util.concurrent.ExecutorService-">scanManifestsWith</a></span>(java.util.concurrent.ExecutorService&nbsp;executorService)</code>
 <div class="block">Use a particular executor to scan manifests.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ReplacePartitions.html" title="interface in org.apache.iceberg">ReplacePartitions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#self--">self</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#set-java.lang.String-java.lang.String-">set</a></span>(java.lang.String&nbsp;property,
    java.lang.String&nbsp;value)</code>
 <div class="block">Set a summary property in the snapshot produced by this update.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#setNewFilesSequenceNumber-long-">setNewFilesSequenceNumber</a></span>(long&nbsp;sequenceNumber)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#setNewDataFilesDataSequenceNumber-long-">setNewDataFilesDataSequenceNumber</a></span>(long&nbsp;sequenceNumber)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#setNewFilesSequenceNumber-long-">setNewFilesSequenceNumber</a></span>(long&nbsp;sequenceNumber)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/BaseReplacePartitions.html#setNewDataFilesDataSequenceNumber-long-"><code>setNewDataFilesDataSequenceNumber(long)</code></a>;</span></div>
+</div>
+</td>
+</tr>
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#snapshotId--">snapshotId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#stageOnly--">stageOnly</a></span>()</code>
 <div class="block">Called to stage a snapshot in table metadata, but not update the current snapshot id.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>protected java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#summary--">summary</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>protected java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#targetBranch--">targetBranch</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#targetBranch-java.lang.String-">targetBranch</a></span>(java.lang.String&nbsp;branch)</code>
-<div class="block">* A setter for the target branch on which snapshot producer operation should be performed</div>
+<div class="block">A setter for the target branch on which snapshot producer operation should be performed</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/BaseReplacePartitions.html" title="class in org.apache.iceberg">BaseReplacePartitions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#toBranch-java.lang.String-">toBranch</a></span>(java.lang.String&nbsp;branch)</code>
 <div class="block">Perform operations on a particular branch</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>java.lang.Object</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#updateEvent--">updateEvent</a></span>()</code>
 <div class="block">Generates update event to notify about metadata changes</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validate-org.apache.iceberg.TableMetadata-org.apache.iceberg.Snapshot-">validate</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;currentMetadata,
         <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code>
 <div class="block">Validate the current metadata.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                      java.lang.Long&nbsp;startingSnapshotId,
-                      <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, Expression, Snapshot)</code>
-     instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i49" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                       java.lang.Long&nbsp;startingSnapshotId,
@@ -407,18 +423,7 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                      java.lang.Long&nbsp;startingSnapshotId,
-                      <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i51" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                       java.lang.Long&nbsp;startingSnapshotId,
@@ -428,23 +433,13 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/ReplacePartitions.html" title="interface in org.apache.iceberg">ReplacePartitions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateAppendOnly--">validateAppendOnly</a></span>()</code>
 <div class="block">Validate that no partitions will be replaced and the operation is append-only.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-">validateDataFilesExist</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                      java.lang.Long&nbsp;startingSnapshotId,
-                      <a href="../../../org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a>&nbsp;requiredDataFiles,
-                      boolean&nbsp;skipDeletes,
-                      <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</td>
-</tr>
-<tr id="i54" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateDataFilesExist</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                       java.lang.Long&nbsp;startingSnapshotId,
@@ -453,18 +448,7 @@
                       <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter,
                       <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateDeletedDataFiles(TableMetadata, Long, Expression,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i56" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                         java.lang.Long&nbsp;startingSnapshotId,
@@ -474,18 +458,7 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                         java.lang.Long&nbsp;startingSnapshotId,
@@ -495,35 +468,25 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/ReplacePartitions.html" title="interface in org.apache.iceberg">ReplacePartitions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateFromSnapshot-long-">validateFromSnapshot</a></span>(long&nbsp;newStartingSnapshotId)</code>
 <div class="block">Set the snapshot ID used in validations for this operation.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/ReplacePartitions.html" title="interface in org.apache.iceberg">ReplacePartitions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateNoConflictingData--">validateNoConflictingData</a></span>()</code>
 <div class="block">Enables validation that data added concurrently does not conflict with this commit's operation.</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/ReplacePartitions.html" title="interface in org.apache.iceberg">ReplacePartitions</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateNoConflictingDeletes--">validateNoConflictingDeletes</a></span>()</code>
 <div class="block">Enables validation that deletes that happened concurrently do not conflict with this commit's
  operation.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata, java.lang.Long, org.apache.iceberg.expressions.Expression)</code> instead</span></div>
-</div>
-</td>
-</tr>
 <tr id="i63" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
@@ -536,17 +499,6 @@
 </tr>
 <tr id="i64" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i65" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                         java.lang.Long&nbsp;startingSnapshotId,
                         <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
@@ -555,18 +507,7 @@
  starting snapshot.</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                java.lang.Long&nbsp;startingSnapshotId,
-                                <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                                java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i67" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-org.apache.iceberg.Snapshot-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                                 java.lang.Long&nbsp;startingSnapshotId,
@@ -577,17 +518,7 @@
  to the table since a starting snapshot.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-java.lang.Iterable-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                java.lang.Long&nbsp;startingSnapshotId,
-                                java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i69" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-java.lang.Iterable-org.apache.iceberg.Snapshot-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                                 java.lang.Long&nbsp;startingSnapshotId,
@@ -597,7 +528,7 @@
  to the table since a starting snapshot.</div>
 </td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.ExecutorService</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplacePartitions.html#workerPool--">workerPool</a></span>()</code>&nbsp;</td>
 </tr>
@@ -882,7 +813,19 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>addedFiles</h4>
-<pre>protected&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;addedFiles()</pre>
+<pre>@Deprecated
+protected&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;addedFiles()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/BaseReplacePartitions.html#addedDataFiles--"><code>addedDataFiles()</code></a>.</span></div>
+<div class="block">Returns added data files.</div>
+</li>
+</ul>
+<a name="addedDataFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addedDataFiles</h4>
+<pre>protected&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;addedDataFiles()</pre>
 </li>
 </ul>
 <a name="failAnyDelete--">
@@ -959,6 +902,42 @@
 <div class="block">Add a specific data path to be deleted in the new snapshot.</div>
 </li>
 </ul>
+<a name="deletesDataFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deletesDataFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;deletesDataFiles()</pre>
+</li>
+</ul>
+<a name="deletesDeleteFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deletesDeleteFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;deletesDeleteFiles()</pre>
+</li>
+</ul>
+<a name="addsDataFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addsDataFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;addsDataFiles()</pre>
+</li>
+</ul>
+<a name="addsDeleteFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addsDeleteFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;addsDeleteFiles()</pre>
+</li>
+</ul>
 <a name="add-org.apache.iceberg.DataFile-">
 <!--   -->
 </a>
@@ -979,6 +958,17 @@
 <div class="block">Add a delete file to the new snapshot.</div>
 </li>
 </ul>
+<a name="add-org.apache.iceberg.DeleteFile-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>protected&nbsp;void&nbsp;add(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file,
+                   long&nbsp;dataSequenceNumber)</pre>
+<div class="block">Add a delete file to the new snapshot.</div>
+</li>
+</ul>
 <a name="add-org.apache.iceberg.ManifestFile-">
 <!--   -->
 </a>
@@ -989,26 +979,6 @@
 <div class="block">Add all files in a manifest to the new snapshot.</div>
 </li>
 </ul>
-<a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateAddedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateAddedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                  java.lang.Long&nbsp;startingSnapshotId,
-                                                  <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>partitionSet</code> - a set of partitions to filter new conflicting data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1030,26 +1000,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateAddedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateAddedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                  java.lang.Long&nbsp;startingSnapshotId,
-                                                  <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, Expression, Snapshot)</code>
-     instead</span></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>conflictDetectionFilter</code> - an expression used to find new conflicting data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1091,50 +1041,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-java.lang.Iterable-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeletesForDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeletesForDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                            java.lang.Long&nbsp;startingSnapshotId,
-                                                            java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-<div class="block">Validates that no new delete files that must be applied to the given data files have been added
- to the table since a starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFiles</code> - data files to validate have no new row deletes</dd>
-</dl>
-</li>
-</ul>
-<a name="validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeletesForDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeletesForDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                            java.lang.Long&nbsp;startingSnapshotId,
-                                                            <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                                                            java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-<div class="block">Validates that no new delete files that must be applied to the given data files have been added
- to the table since a starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - a data filter</dd>
-<dd><code>dataFiles</code> - data files to validate have no new row deletes</dd>
-</dl>
-</li>
-</ul>
 <a name="validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1158,27 +1064,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeleteFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeleteFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata, java.lang.Long, org.apache.iceberg.expressions.Expression)</code> instead</span></div>
-<div class="block">Validates that no delete files matching a filter have been added to the table since a starting
- snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - an expression used to find new conflicting delete files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1200,28 +1085,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeleteFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeleteFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<div class="block">Validates that no delete files matching a partition set have been added to the table since a
- starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>partitionSet</code> - a partition set used to find new conflicting delete files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1243,29 +1106,6 @@
 </dl>
 </li>
 </ul>
-<a name="addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addedDeleteFiles</h4>
-<pre>@Deprecated
-protected&nbsp;org.apache.iceberg.DeleteFileIndex&nbsp;addedDeleteFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                                          java.lang.Long&nbsp;startingSnapshotId,
-                                                                          <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                                                                          <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.addedDeleteFiles(TableMetadata, Long, Expression, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<div class="block">Returns matching delete files have been added to the table since a starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - an expression used to find delete files</dd>
-<dd><code>partitionSet</code> - a partition set used to find delete files</dd>
-</dl>
-</li>
-</ul>
 <a name="addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1288,28 +1128,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateDeletedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateDeletedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateDeletedDataFiles(TableMetadata, Long, Expression,
-     Snapshot)</code> instead</span></div>
-<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
- snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - an expression used to find deleted data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1331,28 +1149,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateDeletedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateDeletedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
- snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>partitionSet</code> - a partition set used to find deleted data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1380,22 +1176,23 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setNewFilesSequenceNumber</h4>
-<pre>protected&nbsp;void&nbsp;setNewFilesSequenceNumber(long&nbsp;sequenceNumber)</pre>
+<pre>@Deprecated
+protected&nbsp;void&nbsp;setNewFilesSequenceNumber(long&nbsp;sequenceNumber)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/BaseReplacePartitions.html#setNewDataFilesDataSequenceNumber-long-"><code>setNewDataFilesDataSequenceNumber(long)</code></a>;</span></div>
+<div class="block">Sets a data sequence number for new data files.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sequenceNumber</code> - a data sequence number</dd>
+</dl>
 </li>
 </ul>
-<a name="validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-">
+<a name="setNewDataFilesDataSequenceNumber-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>validateDataFilesExist</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateDataFilesExist(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                  java.lang.Long&nbsp;startingSnapshotId,
-                                                  <a href="../../../org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a>&nbsp;requiredDataFiles,
-                                                  boolean&nbsp;skipDeletes,
-                                                  <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<h4>setNewDataFilesDataSequenceNumber</h4>
+<pre>protected&nbsp;void&nbsp;setNewDataFilesDataSequenceNumber(long&nbsp;sequenceNumber)</pre>
 </li>
 </ul>
 <a name="validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
@@ -1516,7 +1313,7 @@
 <li class="blockList">
 <h4>targetBranch</h4>
 <pre>protected&nbsp;void&nbsp;targetBranch(java.lang.String&nbsp;branch)</pre>
-<div class="block">* A setter for the target branch on which snapshot producer operation should be performed</div>
+<div class="block">A setter for the target branch on which snapshot producer operation should be performed</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>branch</code> - to set as target branch</dd>
diff --git a/javadoc/org/apache/iceberg/BaseReplaceSortOrder.html b/javadoc/org/apache/iceberg/BaseReplaceSortOrder.html
index 088cb40..f6bb3f7 100644
--- a/javadoc/org/apache/iceberg/BaseReplaceSortOrder.html
+++ b/javadoc/org/apache/iceberg/BaseReplaceSortOrder.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -146,12 +146,18 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/iceberg/ReplaceSortOrder.html" title="interface in org.apache.iceberg">ReplaceSortOrder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplaceSortOrder.html#caseSensitive-boolean-">caseSensitive</a></span>(boolean&nbsp;caseSensitive)</code>
+<div class="block">Set case sensitivity of sort column name resolution.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplaceSortOrder.html#commit--">commit</a></span>()</code>
 <div class="block">Apply the pending changes and commit.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/ReplaceSortOrder.html" title="interface in org.apache.iceberg">ReplaceSortOrder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseReplaceSortOrder.html#desc-org.apache.iceberg.expressions.Term-org.apache.iceberg.NullOrder-">desc</a></span>(<a href="../../../org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a>&nbsp;term,
     <a href="../../../org/apache/iceberg/NullOrder.html" title="enum in org.apache.iceberg">NullOrder</a>&nbsp;nullOrder)</code>
@@ -256,7 +262,7 @@
 <a name="desc-org.apache.iceberg.expressions.Term-org.apache.iceberg.NullOrder-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>desc</h4>
 <pre>public&nbsp;<a href="../../../org/apache/iceberg/ReplaceSortOrder.html" title="interface in org.apache.iceberg">ReplaceSortOrder</a>&nbsp;desc(<a href="../../../org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a>&nbsp;term,
@@ -274,6 +280,25 @@
 </dl>
 </li>
 </ul>
+<a name="caseSensitive-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>caseSensitive</h4>
+<pre>public&nbsp;<a href="../../../org/apache/iceberg/ReplaceSortOrder.html" title="interface in org.apache.iceberg">ReplaceSortOrder</a>&nbsp;caseSensitive(boolean&nbsp;caseSensitive)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/SortOrderBuilder.html#caseSensitive-boolean-">SortOrderBuilder</a></code></span></div>
+<div class="block">Set case sensitivity of sort column name resolution.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/SortOrderBuilder.html#caseSensitive-boolean-">caseSensitive</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/SortOrderBuilder.html" title="interface in org.apache.iceberg">SortOrderBuilder</a>&lt;<a href="../../../org/apache/iceberg/ReplaceSortOrder.html" title="interface in org.apache.iceberg">ReplaceSortOrder</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>caseSensitive</code> - when true, column name resolution is case-sensitive</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this for method chaining</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/BaseRewriteManifests.html b/javadoc/org/apache/iceberg/BaseRewriteManifests.html
index de8721f..52873fd 100644
--- a/javadoc/org/apache/iceberg/BaseRewriteManifests.html
+++ b/javadoc/org/apache/iceberg/BaseRewriteManifests.html
@@ -279,7 +279,7 @@
 <tr id="i29" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/BaseRewriteManifests.html#targetBranch-java.lang.String-">targetBranch</a></span>(java.lang.String&nbsp;branch)</code>
-<div class="block">* A setter for the target branch on which snapshot producer operation should be performed</div>
+<div class="block">A setter for the target branch on which snapshot producer operation should be performed</div>
 </td>
 </tr>
 <tr id="i30" class="altColor">
@@ -575,7 +575,7 @@
 <li class="blockList">
 <h4>targetBranch</h4>
 <pre>protected&nbsp;void&nbsp;targetBranch(java.lang.String&nbsp;branch)</pre>
-<div class="block">* A setter for the target branch on which snapshot producer operation should be performed</div>
+<div class="block">A setter for the target branch on which snapshot producer operation should be performed</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>branch</code> - to set as target branch</dd>
diff --git a/javadoc/org/apache/iceberg/BatchScan.html b/javadoc/org/apache/iceberg/BatchScan.html
index 7bc3458..3dd8f1d 100644
--- a/javadoc/org/apache/iceberg/BatchScan.html
+++ b/javadoc/org/apache/iceberg/BatchScan.html
@@ -168,7 +168,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/CatalogProperties.html b/javadoc/org/apache/iceberg/CatalogProperties.html
index 907c09d..5a60c52 100644
--- a/javadoc/org/apache/iceberg/CatalogProperties.html
+++ b/javadoc/org/apache/iceberg/CatalogProperties.html
@@ -127,24 +127,6 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#AUTH_DEFAULT_REFRESH_ENABLED">AUTH_DEFAULT_REFRESH_ENABLED</a></span></code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; Use <a href="../../../org/apache/iceberg/rest/auth/OAuth2Properties.html#TOKEN_REFRESH_ENABLED"><code>OAuth2Properties.TOKEN_REFRESH_ENABLED</code></a> to control token
-     refresh behavior.</span></div>
-</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT">AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT</a></span></code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; Use <a href="../../../org/apache/iceberg/rest/auth/OAuth2Properties.html#TOKEN_REFRESH_ENABLED_DEFAULT"><code>OAuth2Properties.TOKEN_REFRESH_ENABLED_DEFAULT</code></a> to control
-     default token refresh behavior.</span></div>
-</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#AUTH_SESSION_TIMEOUT_MS">AUTH_SESSION_TIMEOUT_MS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -153,6 +135,16 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#CACHE_CASE_SENSITIVE">CACHE_CASE_SENSITIVE</a></span></code>
+<div class="block">Controls whether the caching catalog will cache table entries using case sensitive keys.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#CACHE_CASE_SENSITIVE_DEFAULT">CACHE_CASE_SENSITIVE_DEFAULT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#CACHE_ENABLED">CACHE_ENABLED</a></span></code>
 <div class="block">Controls whether the catalog will cache table entries upon load.</div>
 </td>
@@ -189,125 +181,132 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_SIZE">CLIENT_POOL_SIZE</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_CACHE_KEYS">CLIENT_POOL_CACHE_KEYS</a></span></code>
+<div class="block">A comma separated list of elements used, in addition to the <a href="../../../org/apache/iceberg/CatalogProperties.html#URI"><code>URI</code></a>, to compose the key of
+ the client pool cache.</div>
+</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_SIZE">CLIENT_POOL_SIZE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_SIZE_DEFAULT">CLIENT_POOL_SIZE_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#FILE_IO_IMPL">FILE_IO_IMPL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_ENABLED">IO_MANIFEST_CACHE_ENABLED</a></span></code>
 <div class="block">Controls whether to use caching during manifest reads or not.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_ENABLED_DEFAULT">IO_MANIFEST_CACHE_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS">IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS</a></span></code>
 <div class="block">Controls the maximum duration for which an entry stays in the manifest cache.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS_DEFAULT">IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH">IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH</a></span></code>
 <div class="block">Controls the maximum length of file to be considered for caching.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH_DEFAULT">IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_MAX_TOTAL_BYTES">IO_MANIFEST_CACHE_MAX_TOTAL_BYTES</a></span></code>
 <div class="block">Controls the maximum total amount of bytes to cache in manifest cache.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#IO_MANIFEST_CACHE_MAX_TOTAL_BYTES_DEFAULT">IO_MANIFEST_CACHE_MAX_TOTAL_BYTES_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_ACQUIRE_INTERVAL_MS">LOCK_ACQUIRE_INTERVAL_MS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_ACQUIRE_INTERVAL_MS_DEFAULT">LOCK_ACQUIRE_INTERVAL_MS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_ACQUIRE_TIMEOUT_MS">LOCK_ACQUIRE_TIMEOUT_MS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_ACQUIRE_TIMEOUT_MS_DEFAULT">LOCK_ACQUIRE_TIMEOUT_MS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_INTERVAL_MS">LOCK_HEARTBEAT_INTERVAL_MS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_INTERVAL_MS_DEFAULT">LOCK_HEARTBEAT_INTERVAL_MS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_THREADS">LOCK_HEARTBEAT_THREADS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_THREADS_DEFAULT">LOCK_HEARTBEAT_THREADS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_TIMEOUT_MS">LOCK_HEARTBEAT_TIMEOUT_MS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_HEARTBEAT_TIMEOUT_MS_DEFAULT">LOCK_HEARTBEAT_TIMEOUT_MS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_IMPL">LOCK_IMPL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#LOCK_TABLE">LOCK_TABLE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#METRICS_REPORTER_IMPL">METRICS_REPORTER_IMPL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#TABLE_DEFAULT_PREFIX">TABLE_DEFAULT_PREFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#TABLE_OVERRIDE_PREFIX">TABLE_OVERRIDE_PREFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#URI">URI</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#USER">USER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogProperties.html#WAREHOUSE_LOCATION">WAREHOUSE_LOCATION</a></span></code>&nbsp;</td>
 </tr>
@@ -449,6 +448,33 @@
 </dl>
 </li>
 </ul>
+<a name="CACHE_CASE_SENSITIVE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CACHE_CASE_SENSITIVE</h4>
+<pre>public static final&nbsp;java.lang.String CACHE_CASE_SENSITIVE</pre>
+<div class="block">Controls whether the caching catalog will cache table entries using case sensitive keys.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../constant-values.html#org.apache.iceberg.CatalogProperties.CACHE_CASE_SENSITIVE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CACHE_CASE_SENSITIVE_DEFAULT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CACHE_CASE_SENSITIVE_DEFAULT</h4>
+<pre>public static final&nbsp;boolean CACHE_CASE_SENSITIVE_DEFAULT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../constant-values.html#org.apache.iceberg.CatalogProperties.CACHE_CASE_SENSITIVE_DEFAULT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="CACHE_EXPIRATION_INTERVAL_MS">
 <!--   -->
 </a>
@@ -680,6 +706,23 @@
 <pre>public static final&nbsp;long CLIENT_POOL_CACHE_EVICTION_INTERVAL_MS_DEFAULT</pre>
 </li>
 </ul>
+<a name="CLIENT_POOL_CACHE_KEYS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CLIENT_POOL_CACHE_KEYS</h4>
+<pre>public static final&nbsp;java.lang.String CLIENT_POOL_CACHE_KEYS</pre>
+<div class="block">A comma separated list of elements used, in addition to the <a href="../../../org/apache/iceberg/CatalogProperties.html#URI"><code>URI</code></a>, to compose the key of
+ the client pool cache.
+
+ <p>Supported key elements in a Catalog are implementation-dependent.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../constant-values.html#org.apache.iceberg.CatalogProperties.CLIENT_POOL_CACHE_KEYS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="LOCK_IMPL">
 <!--   -->
 </a>
@@ -846,38 +889,6 @@
 </dl>
 </li>
 </ul>
-<a name="AUTH_DEFAULT_REFRESH_ENABLED">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>AUTH_DEFAULT_REFRESH_ENABLED</h4>
-<pre>@Deprecated
-public static final&nbsp;java.lang.String AUTH_DEFAULT_REFRESH_ENABLED</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Will be removed in 1.3.0; Use <a href="../../../org/apache/iceberg/rest/auth/OAuth2Properties.html#TOKEN_REFRESH_ENABLED"><code>OAuth2Properties.TOKEN_REFRESH_ENABLED</code></a> to control token
-     refresh behavior.</span></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../constant-values.html#org.apache.iceberg.CatalogProperties.AUTH_DEFAULT_REFRESH_ENABLED">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT</h4>
-<pre>@Deprecated
-public static final&nbsp;boolean AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Will be removed in 1.3.0; Use <a href="../../../org/apache/iceberg/rest/auth/OAuth2Properties.html#TOKEN_REFRESH_ENABLED_DEFAULT"><code>OAuth2Properties.TOKEN_REFRESH_ENABLED_DEFAULT</code></a> to control
-     default token refresh behavior.</span></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../constant-values.html#org.apache.iceberg.CatalogProperties.AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
 <a name="AUTH_SESSION_TIMEOUT_MS">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/CatalogUtil.html b/javadoc/org/apache/iceberg/CatalogUtil.html
index c28a05e..d477489 100644
--- a/javadoc/org/apache/iceberg/CatalogUtil.html
+++ b/javadoc/org/apache/iceberg/CatalogUtil.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -191,12 +191,21 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogUtil.html#deleteFiles-org.apache.iceberg.io.FileIO-java.lang.Iterable-java.lang.String-boolean-">deleteFiles</a></span>(<a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
+           java.lang.Iterable&lt;java.lang.String&gt;&nbsp;files,
+           java.lang.String&nbsp;type,
+           boolean&nbsp;concurrent)</code>
+<div class="block">Helper to delete files.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogUtil.html#dropTableData-org.apache.iceberg.io.FileIO-org.apache.iceberg.TableMetadata-">dropTableData</a></span>(<a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
              <a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;metadata)</code>
 <div class="block">Drops all data and metadata files referenced by TableMetadata.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogUtil.html#loadCatalog-java.lang.String-java.lang.String-java.util.Map-java.lang.Object-">loadCatalog</a></span>(java.lang.String&nbsp;impl,
            java.lang.String&nbsp;catalogName,
@@ -205,7 +214,7 @@
 <div class="block">Load a custom catalog implementation.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogUtil.html#loadFileIO-java.lang.String-java.util.Map-java.lang.Object-">loadFileIO</a></span>(java.lang.String&nbsp;impl,
           java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties,
@@ -213,7 +222,7 @@
 <div class="block">Load a custom <a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io"><code>FileIO</code></a> implementation.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/CatalogUtil.html#loadMetricsReporter-java.util.Map-">loadMetricsReporter</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>
 <div class="block">Load a custom <a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics"><code>MetricsReporter</code></a> implementation.</div>
@@ -367,6 +376,26 @@
 </dl>
 </li>
 </ul>
+<a name="deleteFiles-org.apache.iceberg.io.FileIO-java.lang.Iterable-java.lang.String-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deleteFiles</h4>
+<pre>public static&nbsp;void&nbsp;deleteFiles(<a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
+                               java.lang.Iterable&lt;java.lang.String&gt;&nbsp;files,
+                               java.lang.String&nbsp;type,
+                               boolean&nbsp;concurrent)</pre>
+<div class="block">Helper to delete files. Bulk deletion is used if possible.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>io</code> - FileIO for deletes</dd>
+<dd><code>files</code> - files to delete</dd>
+<dd><code>type</code> - type of files being deleted</dd>
+<dd><code>concurrent</code> - controls concurrent deletion. Only applicable for non-bulk FileIO</dd>
+</dl>
+</li>
+</ul>
 <a name="loadCatalog-java.lang.String-java.lang.String-java.util.Map-java.lang.Object-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/ClientPoolImpl.html b/javadoc/org/apache/iceberg/ClientPoolImpl.html
index 1062dab..532113d 100644
--- a/javadoc/org/apache/iceberg/ClientPoolImpl.html
+++ b/javadoc/org/apache/iceberg/ClientPoolImpl.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":6,"i2":10,"i3":6,"i4":10,"i5":6,"i6":10,"i7":10};
+var methods = {"i0":10,"i1":6,"i2":10,"i3":10,"i4":6,"i5":10,"i6":6,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -179,26 +179,30 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ClientPoolImpl.html#close-C-">close</a></span>(<a href="../../../org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">C</a>&nbsp;client)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ClientPoolImpl.html#isClosed--">isClosed</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ClientPoolImpl.html#isConnectionException-java.lang.Exception-">isConnectionException</a></span>(java.lang.Exception&nbsp;exc)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>protected abstract <a href="../../../org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">C</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ClientPoolImpl.html#newClient--">newClient</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ClientPoolImpl.html#poolSize--">poolSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>protected abstract <a href="../../../org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">C</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ClientPoolImpl.html#reconnect-C-">reconnect</a></span>(<a href="../../../org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">C</a>&nbsp;client)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>&lt;R&gt;&nbsp;R</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ClientPoolImpl.html#run-org.apache.iceberg.ClientPool.Action-">run</a></span>(<a href="../../../org/apache/iceberg/ClientPool.Action.html" title="interface in org.apache.iceberg">ClientPool.Action</a>&lt;R,<a href="../../../org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">C</a>,<a href="../../../org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">E</a>&gt;&nbsp;action)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>&lt;R&gt;&nbsp;R</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ClientPoolImpl.html#run-org.apache.iceberg.ClientPool.Action-boolean-">run</a></span>(<a href="../../../org/apache/iceberg/ClientPool.Action.html" title="interface in org.apache.iceberg">ClientPool.Action</a>&lt;R,<a href="../../../org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">C</a>,<a href="../../../org/apache/iceberg/ClientPoolImpl.html" title="type parameter in ClientPoolImpl">E</a>&gt;&nbsp;action,
    boolean&nbsp;retry)</code>&nbsp;</td>
@@ -339,12 +343,21 @@
 <a name="poolSize--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>poolSize</h4>
 <pre>public&nbsp;int&nbsp;poolSize()</pre>
 </li>
 </ul>
+<a name="isClosed--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isClosed</h4>
+<pre>public&nbsp;boolean&nbsp;isClosed()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/ContentFile.html b/javadoc/org/apache/iceberg/ContentFile.html
index 12f6a8d..faed612 100644
--- a/javadoc/org/apache/iceberg/ContentFile.html
+++ b/javadoc/org/apache/iceberg/ContentFile.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":18,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":18,"i17":6,"i18":6,"i19":6,"i20":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":18,"i4":6,"i5":18,"i6":6,"i7":18,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":18,"i19":6,"i20":6,"i21":6,"i22":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -162,97 +162,109 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>default java.lang.Long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#dataSequenceNumber--">dataSequenceNumber</a></span>()</code>
+<div class="block">Returns the data sequence number of the file.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#equalityFieldIds--">equalityFieldIds</a></span>()</code>
 <div class="block">Returns the set of field IDs used for equality comparison, in equality delete files.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>default java.lang.Long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#fileSequenceNumber--">fileSequenceNumber</a></span>()</code>
+<div class="block">Returns the file sequence number.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#fileSizeInBytes--">fileSizeInBytes</a></span>()</code>
 <div class="block">Returns the file size in bytes.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#format--">format</a></span>()</code>
 <div class="block">Returns format of the file.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>java.nio.ByteBuffer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#keyMetadata--">keyMetadata</a></span>()</code>
 <div class="block">Returns metadata about how this file is encrypted, or null if the file is stored in plain text.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,java.nio.ByteBuffer&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#lowerBounds--">lowerBounds</a></span>()</code>
 <div class="block">Returns if collected, map from column ID to value lower bounds, null otherwise.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,java.lang.Long&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#nanValueCounts--">nanValueCounts</a></span>()</code>
 <div class="block">Returns if collected, map from column ID to its NaN value count, null otherwise.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,java.lang.Long&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#nullValueCounts--">nullValueCounts</a></span>()</code>
 <div class="block">Returns if collected, map from column ID to its null value count, null otherwise.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#partition--">partition</a></span>()</code>
 <div class="block">Returns partition for this file as a <a href="../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg"><code>StructLike</code></a>.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>java.lang.CharSequence</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#path--">path</a></span>()</code>
 <div class="block">Returns fully qualified path to the file, suitable for constructing a Hadoop Path.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>java.lang.Long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#pos--">pos</a></span>()</code>
 <div class="block">Returns the ordinal position of the file in a manifest, or null if it was not read from a
  manifest.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#recordCount--">recordCount</a></span>()</code>
 <div class="block">Returns the number of top-level records in the file.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>default java.lang.Integer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#sortOrderId--">sortOrderId</a></span>()</code>
 <div class="block">Returns the sort order id of this file, which describes how the file is ordered.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#specId--">specId</a></span>()</code>
 <div class="block">Returns id of the partition spec used for partition metadata.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>java.util.List&lt;java.lang.Long&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#splitOffsets--">splitOffsets</a></span>()</code>
 <div class="block">Returns list of recommended split locations, if applicable, null otherwise.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,java.nio.ByteBuffer&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#upperBounds--">upperBounds</a></span>()</code>
 <div class="block">Returns if collected, map from column ID to value upper bounds, null otherwise.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,java.lang.Long&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/ContentFile.html#valueCounts--">valueCounts</a></span>()</code>
 <div class="block">Returns if collected, map from column ID to the count of its non-null values, null otherwise.</div>
@@ -468,6 +480,46 @@
  they share the same sort order id.</div>
 </li>
 </ul>
+<a name="dataSequenceNumber--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dataSequenceNumber</h4>
+<pre>default&nbsp;java.lang.Long&nbsp;dataSequenceNumber()</pre>
+<div class="block">Returns the data sequence number of the file.
+
+ <p>This method represents the sequence number to which the file should apply. Note the data
+ sequence number may differ from the sequence number of the snapshot in which the underlying
+ file was added (a.k.a the file sequence number). New snapshots can add files that belong to
+ older sequence numbers (e.g. compaction). The data sequence number also does not change when
+ the file is marked as deleted.
+
+ <p>This method can return null if the data sequence number is unknown. This may happen while
+ reading a v2 manifest that did not persist the data sequence number for manifest entries with
+ status DELETED (older Iceberg versions).</div>
+</li>
+</ul>
+<a name="fileSequenceNumber--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fileSequenceNumber</h4>
+<pre>default&nbsp;java.lang.Long&nbsp;fileSequenceNumber()</pre>
+<div class="block">Returns the file sequence number.
+
+ <p>The file sequence number represents the sequence number of the snapshot in which the
+ underlying file was added. The file sequence number is always assigned at commit and cannot be
+ provided explicitly, unlike the data sequence number. The file sequence number does not change
+ upon assigning. In case of rewrite (like compaction), file sequence number can be higher than
+ the data sequence number.
+
+ <p>This method can return null if the file sequence number is unknown. This may happen while
+ reading a v2 manifest that did not persist the file sequence number for manifest entries with
+ status EXISTING or DELETED (older Iceberg versions).</div>
+</li>
+</ul>
 <a name="copy--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/DataFile.html b/javadoc/org/apache/iceberg/DataFile.html
index 0a5688b..e025b12 100644
--- a/javadoc/org/apache/iceberg/DataFile.html
+++ b/javadoc/org/apache/iceberg/DataFile.html
@@ -241,7 +241,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a></h3>
-<code><a href="../../../org/apache/iceberg/ContentFile.html#columnSizes--">columnSizes</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copy--">copy</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copy-boolean-">copy</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copyWithoutStats--">copyWithoutStats</a>, <a href="../../../org/apache/iceberg/ContentFile.html#fileSizeInBytes--">fileSizeInBytes</a>, <a href="../../../org/apache/iceberg/ContentFile.html#format--">format</a>, <a href="../../../org/apache/iceberg/ContentFile.html#keyMetadata--">keyMetadata</a>, <a href="../../../org/apache/iceberg/ContentFile.html#lowerBounds--">lowerBounds</a>, <a href="../../../org/apache/iceberg/ContentFile.html#nanValueCounts--">nanValueCounts</a>, <a href="../../../org/apache/iceberg/ContentFile.html#nullValueCounts--">nullValueCounts</a>, <a href="../../../org/apache/iceberg/ContentFile.html#partition--">partition</a>, <a href="../../../org/apache/iceberg/ContentFile.html#path--">path</a>, <a href="../../../org/apache/iceberg/ContentFile.html#pos--">pos</a>, <a href="../../../org/apache/iceberg/ContentFile.html#recordCount--">recordCount</a>, <a href="../../../org/apache/iceberg/ContentFile.html#sortOrderId--">sortOrderId</a>, <a href="../../../org/apache/iceberg/ContentFile.html#specId--">specId</a>, <a href="../../../org/apache/iceberg/ContentFile.html#splitOffsets--">splitOffsets</a>, <a href="../../../org/apache/iceberg/ContentFile.html#upperBounds--">upperBounds</a>, <a href="../../../org/apache/iceberg/ContentFile.html#valueCounts--">valueCounts</a></code></li>
+<code><a href="../../../org/apache/iceberg/ContentFile.html#columnSizes--">columnSizes</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copy--">copy</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copy-boolean-">copy</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copyWithoutStats--">copyWithoutStats</a>, <a href="../../../org/apache/iceberg/ContentFile.html#dataSequenceNumber--">dataSequenceNumber</a>, <a href="../../../org/apache/iceberg/ContentFile.html#fileSequenceNumber--">fileSequenceNumber</a>, <a href="../../../org/apache/iceberg/ContentFile.html#fileSizeInBytes--">fileSizeInBytes</a>, <a href="../../../org/apache/iceberg/ContentFile.html#format--">format</a>, <a href="../../../org/apache/iceberg/ContentFile.html#keyMetadata--">keyMetadata</a>, <a href="../../../org/apache/iceberg/ContentFile.html#lowerBounds--">lowerBounds</a>, <a href="../../../org/apache/iceberg/ContentFile.html#nanValueCounts--">nanValueCounts</a>, <a href="../../../org/apache/iceberg/ContentFile.html#nullValueCounts--">nullValueCounts</a>, <a href="../../../org/apache/iceberg/ContentFile.html#partition--">partition</a>, <a href="../../../org/apache/iceberg/ContentFile.html#path--">path</a>, <a href="../../../org/apache/iceberg/ContentFile.html#pos--">pos</a>, <a href="../../../org/apache/iceberg/ContentFile.html#recordCount--">recordCount</a>, <a href="../../../org/apache/iceberg/ContentFile.html#sortOrderId--">sortOrderId</a>, <a href="../../../org/apache/iceberg/ContentFile.html#specId--">specId</a>, <a href="../../../org/apache/iceberg/ContentFile.html#splitOffsets--">splitOffsets</a>, <a href="../../../org/apache/iceberg/ContentFile.html#upperBounds--">upperBounds</a>, <a href="../../../org/apache/iceberg/ContentFile.html#valueCounts--">valueCounts</a></code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/DataFilesTable.DataFilesTableScan.html b/javadoc/org/apache/iceberg/DataFilesTable.DataFilesTableScan.html
index 5b39f84..f624f40 100644
--- a/javadoc/org/apache/iceberg/DataFilesTable.DataFilesTableScan.html
+++ b/javadoc/org/apache/iceberg/DataFilesTable.DataFilesTableScan.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":42,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":42,"i28":10,"i29":10,"i30":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -148,6 +148,10 @@
 <td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataFilesTable.DataFilesTableScan.html#DELETE_SCAN_WITH_STATS_COLUMNS">DELETE_SCAN_WITH_STATS_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataFilesTable.DataFilesTableScan.html#SCAN_COLUMNS">SCAN_COLUMNS</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -158,7 +162,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -231,15 +235,10 @@
 </td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>protected ThisT</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataFilesTable.DataFilesTableScan.html#newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">newRefinedScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-              <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-              org.apache.iceberg.TableScanContext&nbsp;newContext)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
+<td class="colFirst"><code>ThisT</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataFilesTable.DataFilesTableScan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
 </td>
 </tr>
 <tr id="i12" class="altColor">
@@ -323,25 +322,17 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataFilesTable.DataFilesTableScan.html#table--">table</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i27" class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataFilesTable.DataFilesTableScan.html#tableOps--">tableOps</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</div>
-</td>
-</tr>
-<tr id="i28" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataFilesTable.DataFilesTableScan.html#tableSchema--">tableSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataFilesTable.DataFilesTableScan.html#tableType--">tableType</a></span>()</code>
 <div class="block">Type of scan being performed, such as <a href="../../../org/apache/iceberg/MetadataTableType.html#ALL_DATA_FILES"><code>MetadataTableType.ALL_DATA_FILES</code></a> when scanning a
  table's <a href="../../../org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg"><code>AllDataFilesTable</code></a>.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataFilesTable.DataFilesTableScan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
@@ -374,7 +365,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
 </ul>
 </li>
 </ul>
@@ -390,6 +381,15 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="SCAN_COLUMNS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCAN_COLUMNS</h4>
+<pre>protected static final&nbsp;java.util.List&lt;java.lang.String&gt; SCAN_COLUMNS</pre>
+</li>
+</ul>
 <a name="DELETE_SCAN_COLUMNS">
 <!--   -->
 </a>
@@ -542,17 +542,6 @@
 </dl>
 </li>
 </ul>
-<a name="tableOps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableOps</h4>
-<pre>@Deprecated
-protected&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;tableOps()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</li>
-</ul>
 <a name="table--">
 <!--   -->
 </a>
@@ -625,21 +614,6 @@
 <pre>protected&nbsp;java.util.concurrent.ExecutorService&nbsp;planExecutor()</pre>
 </li>
 </ul>
-<a name="newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newRefinedScan</h4>
-<pre>@Deprecated
-protected&nbsp;ThisT&nbsp;newRefinedScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                           <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-                                           <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-                                           org.apache.iceberg.TableScanContext&nbsp;newContext)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="option-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -872,7 +846,7 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
@@ -884,6 +858,22 @@
 </dl>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>public&nbsp;ThisT&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">Scan</a></code></span></div>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;ThisT,T extends <a href="../../../org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,G extends <a href="../../../org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/DataTableScan.html b/javadoc/org/apache/iceberg/DataTableScan.html
index 22e3248..e60f962 100644
--- a/javadoc/org/apache/iceberg/DataTableScan.html
+++ b/javadoc/org/apache/iceberg/DataTableScan.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":42,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":42,"i27":10,"i28":10,"i29":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -144,6 +144,10 @@
 <td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#DELETE_SCAN_WITH_STATS_COLUMNS">DELETE_SCAN_WITH_STATS_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#SCAN_COLUMNS">SCAN_COLUMNS</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -160,28 +164,6 @@
 <th class="colLast" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#DataTableScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-">DataTableScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-             <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use DataTableScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#DataTableScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">DataTableScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-             <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-             <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
-             org.apache.iceberg.TableScanContext&nbsp;context)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use DataTableScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>protected </code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#DataTableScan-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">DataTableScan</a></span>(<a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
@@ -197,7 +179,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -264,15 +246,10 @@
 </td>
 </tr>
 <tr id="i10" class="altColor">
-<td class="colFirst"><code>protected ThisT</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">newRefinedScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-              <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-              org.apache.iceberg.TableScanContext&nbsp;newContext)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
+<td class="colFirst"><code>ThisT</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
 </td>
 </tr>
 <tr id="i11" class="rowColor">
@@ -356,24 +333,16 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#table--">table</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i26" class="altColor">
-<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#tableOps--">tableOps</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</div>
-</td>
-</tr>
-<tr id="i27" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#tableSchema--">tableSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg">TableScan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DataTableScan.html#useSnapshot-long-">useSnapshot</a></span>(long&nbsp;scanSnapshotId)</code>
 <div class="block">Create a new <a href="../../../org/apache/iceberg/TableScan.html" title="interface in org.apache.iceberg"><code>TableScan</code></a> from this scan's configuration that will use the given snapshot
@@ -407,7 +376,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
 </ul>
 </li>
 </ul>
@@ -423,6 +392,15 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="SCAN_COLUMNS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCAN_COLUMNS</h4>
+<pre>protected static final&nbsp;java.util.List&lt;java.lang.String&gt; SCAN_COLUMNS</pre>
+</li>
+</ul>
 <a name="DELETE_SCAN_COLUMNS">
 <!--   -->
 </a>
@@ -449,34 +427,6 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="DataTableScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DataTableScan</h4>
-<pre>@Deprecated
-public&nbsp;DataTableScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                 <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use DataTableScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
-<a name="DataTableScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DataTableScan</h4>
-<pre>@Deprecated
-protected&nbsp;DataTableScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                    <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                    <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
-                                    org.apache.iceberg.TableScanContext&nbsp;context)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use DataTableScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="DataTableScan-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
 <!--   -->
 </a>
@@ -606,17 +556,6 @@
 </dl>
 </li>
 </ul>
-<a name="tableOps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableOps</h4>
-<pre>@Deprecated
-protected&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;tableOps()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</li>
-</ul>
 <a name="table--">
 <!--   -->
 </a>
@@ -689,21 +628,6 @@
 <pre>protected&nbsp;java.util.concurrent.ExecutorService&nbsp;planExecutor()</pre>
 </li>
 </ul>
-<a name="newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newRefinedScan</h4>
-<pre>@Deprecated
-protected&nbsp;ThisT&nbsp;newRefinedScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                           <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-                                           <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-                                           org.apache.iceberg.TableScanContext&nbsp;newContext)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="option-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -951,7 +875,7 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
@@ -963,6 +887,22 @@
 </dl>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>public&nbsp;ThisT&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">Scan</a></code></span></div>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;ThisT,T extends <a href="../../../org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,G extends <a href="../../../org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/DeleteFile.html b/javadoc/org/apache/iceberg/DeleteFile.html
index d848e82..d6cc9a0 100644
--- a/javadoc/org/apache/iceberg/DeleteFile.html
+++ b/javadoc/org/apache/iceberg/DeleteFile.html
@@ -136,7 +136,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a></h3>
-<code><a href="../../../org/apache/iceberg/ContentFile.html#columnSizes--">columnSizes</a>, <a href="../../../org/apache/iceberg/ContentFile.html#content--">content</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copy--">copy</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copy-boolean-">copy</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copyWithoutStats--">copyWithoutStats</a>, <a href="../../../org/apache/iceberg/ContentFile.html#equalityFieldIds--">equalityFieldIds</a>, <a href="../../../org/apache/iceberg/ContentFile.html#fileSizeInBytes--">fileSizeInBytes</a>, <a href="../../../org/apache/iceberg/ContentFile.html#format--">format</a>, <a href="../../../org/apache/iceberg/ContentFile.html#keyMetadata--">keyMetadata</a>, <a href="../../../org/apache/iceberg/ContentFile.html#lowerBounds--">lowerBounds</a>, <a href="../../../org/apache/iceberg/ContentFile.html#nanValueCounts--">nanValueCounts</a>, <a href="../../../org/apache/iceberg/ContentFile.html#nullValueCounts--">nullValueCounts</a>, <a href="../../../org/apache/iceberg/ContentFile.html#partition--">partition</a>, <a href="../../../org/apache/iceberg/ContentFile.html#path--">path</a>, <a href="../../../org/apache/iceberg/ContentFile.html#pos--">pos</a>, <a href="../../../org/apache/iceberg/ContentFile.html#recordCount--">recordCount</a>, <a href="../../../org/apache/iceberg/ContentFile.html#sortOrderId--">sortOrderId</a>, <a href="../../../org/apache/iceberg/ContentFile.html#specId--">specId</a>, <a href="../../../org/apache/iceberg/ContentFile.html#upperBounds--">upperBounds</a>, <a href="../../../org/apache/iceberg/ContentFile.html#valueCounts--">valueCounts</a></code></li>
+<code><a href="../../../org/apache/iceberg/ContentFile.html#columnSizes--">columnSizes</a>, <a href="../../../org/apache/iceberg/ContentFile.html#content--">content</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copy--">copy</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copy-boolean-">copy</a>, <a href="../../../org/apache/iceberg/ContentFile.html#copyWithoutStats--">copyWithoutStats</a>, <a href="../../../org/apache/iceberg/ContentFile.html#dataSequenceNumber--">dataSequenceNumber</a>, <a href="../../../org/apache/iceberg/ContentFile.html#equalityFieldIds--">equalityFieldIds</a>, <a href="../../../org/apache/iceberg/ContentFile.html#fileSequenceNumber--">fileSequenceNumber</a>, <a href="../../../org/apache/iceberg/ContentFile.html#fileSizeInBytes--">fileSizeInBytes</a>, <a href="../../../org/apache/iceberg/ContentFile.html#format--">format</a>, <a href="../../../org/apache/iceberg/ContentFile.html#keyMetadata--">keyMetadata</a>, <a href="../../../org/apache/iceberg/ContentFile.html#lowerBounds--">lowerBounds</a>, <a href="../../../org/apache/iceberg/ContentFile.html#nanValueCounts--">nanValueCounts</a>, <a href="../../../org/apache/iceberg/ContentFile.html#nullValueCounts--">nullValueCounts</a>, <a href="../../../org/apache/iceberg/ContentFile.html#partition--">partition</a>, <a href="../../../org/apache/iceberg/ContentFile.html#path--">path</a>, <a href="../../../org/apache/iceberg/ContentFile.html#pos--">pos</a>, <a href="../../../org/apache/iceberg/ContentFile.html#recordCount--">recordCount</a>, <a href="../../../org/apache/iceberg/ContentFile.html#sortOrderId--">sortOrderId</a>, <a href="../../../org/apache/iceberg/ContentFile.html#specId--">specId</a>, <a href="../../../org/apache/iceberg/ContentFile.html#upperBounds--">upperBounds</a>, <a href="../../../org/apache/iceberg/ContentFile.html#valueCounts--">valueCounts</a></code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html b/javadoc/org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html
index ce160ce..b263cf6 100644
--- a/javadoc/org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html
+++ b/javadoc/org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":42,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":42,"i28":10,"i29":10,"i30":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -148,6 +148,10 @@
 <td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html#DELETE_SCAN_WITH_STATS_COLUMNS">DELETE_SCAN_WITH_STATS_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html#SCAN_COLUMNS">SCAN_COLUMNS</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -158,7 +162,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -231,15 +235,10 @@
 </td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>protected ThisT</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html#newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">newRefinedScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-              <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-              org.apache.iceberg.TableScanContext&nbsp;newContext)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
+<td class="colFirst"><code>ThisT</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
 </td>
 </tr>
 <tr id="i12" class="altColor">
@@ -323,25 +322,17 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html#table--">table</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i27" class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html#tableOps--">tableOps</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</div>
-</td>
-</tr>
-<tr id="i28" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html#tableSchema--">tableSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html#tableType--">tableType</a></span>()</code>
 <div class="block">Type of scan being performed, such as <a href="../../../org/apache/iceberg/MetadataTableType.html#ALL_DATA_FILES"><code>MetadataTableType.ALL_DATA_FILES</code></a> when scanning a
  table's <a href="../../../org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg"><code>AllDataFilesTable</code></a>.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/DeleteFilesTable.DeleteFilesTableScan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
@@ -374,7 +365,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
 </ul>
 </li>
 </ul>
@@ -390,6 +381,15 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="SCAN_COLUMNS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCAN_COLUMNS</h4>
+<pre>protected static final&nbsp;java.util.List&lt;java.lang.String&gt; SCAN_COLUMNS</pre>
+</li>
+</ul>
 <a name="DELETE_SCAN_COLUMNS">
 <!--   -->
 </a>
@@ -542,17 +542,6 @@
 </dl>
 </li>
 </ul>
-<a name="tableOps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableOps</h4>
-<pre>@Deprecated
-protected&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;tableOps()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</li>
-</ul>
 <a name="table--">
 <!--   -->
 </a>
@@ -625,21 +614,6 @@
 <pre>protected&nbsp;java.util.concurrent.ExecutorService&nbsp;planExecutor()</pre>
 </li>
 </ul>
-<a name="newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newRefinedScan</h4>
-<pre>@Deprecated
-protected&nbsp;ThisT&nbsp;newRefinedScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                           <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-                                           <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-                                           org.apache.iceberg.TableScanContext&nbsp;newContext)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="option-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -872,7 +846,7 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
@@ -884,6 +858,22 @@
 </dl>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>public&nbsp;ThisT&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">Scan</a></code></span></div>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;ThisT,T extends <a href="../../../org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,G extends <a href="../../../org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/FileMetadata.Builder.html b/javadoc/org/apache/iceberg/FileMetadata.Builder.html
index 28b650e..df80dfb 100644
--- a/javadoc/org/apache/iceberg/FileMetadata.Builder.html
+++ b/javadoc/org/apache/iceberg/FileMetadata.Builder.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -205,6 +205,10 @@
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FileMetadata.Builder.html#withSplitOffsets-java.util.List-">withSplitOffsets</a></span>(java.util.List&lt;java.lang.Long&gt;&nbsp;offsets)</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FileMetadata.Builder.html#withStatus-org.apache.hadoop.fs.FileStatus-">withStatus</a></span>(org.apache.hadoop.fs.FileStatus&nbsp;stat)</code>&nbsp;</td>
 </tr>
 </table>
@@ -364,6 +368,15 @@
 <pre>public&nbsp;<a href="../../../org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a>&nbsp;withMetrics(<a href="../../../org/apache/iceberg/Metrics.html" title="class in org.apache.iceberg">Metrics</a>&nbsp;metrics)</pre>
 </li>
 </ul>
+<a name="withSplitOffsets-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withSplitOffsets</h4>
+<pre>public&nbsp;<a href="../../../org/apache/iceberg/FileMetadata.Builder.html" title="class in org.apache.iceberg">FileMetadata.Builder</a>&nbsp;withSplitOffsets(java.util.List&lt;java.lang.Long&gt;&nbsp;offsets)</pre>
+</li>
+</ul>
 <a name="withEncryptionKeyMetadata-java.nio.ByteBuffer-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/FilesTable.FilesTableScan.html b/javadoc/org/apache/iceberg/FilesTable.FilesTableScan.html
index 31d56c0..c827e08 100644
--- a/javadoc/org/apache/iceberg/FilesTable.FilesTableScan.html
+++ b/javadoc/org/apache/iceberg/FilesTable.FilesTableScan.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":42,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":42,"i28":10,"i29":10,"i30":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -148,6 +148,10 @@
 <td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FilesTable.FilesTableScan.html#DELETE_SCAN_WITH_STATS_COLUMNS">DELETE_SCAN_WITH_STATS_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FilesTable.FilesTableScan.html#SCAN_COLUMNS">SCAN_COLUMNS</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -158,7 +162,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -231,15 +235,10 @@
 </td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>protected ThisT</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FilesTable.FilesTableScan.html#newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">newRefinedScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-              <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-              org.apache.iceberg.TableScanContext&nbsp;newContext)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
+<td class="colFirst"><code>ThisT</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FilesTable.FilesTableScan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
 </td>
 </tr>
 <tr id="i12" class="altColor">
@@ -323,25 +322,17 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FilesTable.FilesTableScan.html#table--">table</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i27" class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FilesTable.FilesTableScan.html#tableOps--">tableOps</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</div>
-</td>
-</tr>
-<tr id="i28" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FilesTable.FilesTableScan.html#tableSchema--">tableSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FilesTable.FilesTableScan.html#tableType--">tableType</a></span>()</code>
 <div class="block">Type of scan being performed, such as <a href="../../../org/apache/iceberg/MetadataTableType.html#ALL_DATA_FILES"><code>MetadataTableType.ALL_DATA_FILES</code></a> when scanning a
  table's <a href="../../../org/apache/iceberg/AllDataFilesTable.html" title="class in org.apache.iceberg"><code>AllDataFilesTable</code></a>.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/FilesTable.FilesTableScan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
@@ -374,7 +365,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></code></li>
 </ul>
 </li>
 </ul>
@@ -390,6 +381,15 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="SCAN_COLUMNS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCAN_COLUMNS</h4>
+<pre>protected static final&nbsp;java.util.List&lt;java.lang.String&gt; SCAN_COLUMNS</pre>
+</li>
+</ul>
 <a name="DELETE_SCAN_COLUMNS">
 <!--   -->
 </a>
@@ -542,17 +542,6 @@
 </dl>
 </li>
 </ul>
-<a name="tableOps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableOps</h4>
-<pre>@Deprecated
-protected&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;tableOps()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</li>
-</ul>
 <a name="table--">
 <!--   -->
 </a>
@@ -625,21 +614,6 @@
 <pre>protected&nbsp;java.util.concurrent.ExecutorService&nbsp;planExecutor()</pre>
 </li>
 </ul>
-<a name="newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newRefinedScan</h4>
-<pre>@Deprecated
-protected&nbsp;ThisT&nbsp;newRefinedScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                           <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-                                           <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-                                           org.apache.iceberg.TableScanContext&nbsp;newContext)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="option-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -872,7 +846,7 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
@@ -884,6 +858,22 @@
 </dl>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>public&nbsp;ThisT&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">Scan</a></code></span></div>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;ThisT,T extends <a href="../../../org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,G extends <a href="../../../org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/IncrementalAppendScan.html b/javadoc/org/apache/iceberg/IncrementalAppendScan.html
index 0a98015..2c0a5d2 100644
--- a/javadoc/org/apache/iceberg/IncrementalAppendScan.html
+++ b/javadoc/org/apache/iceberg/IncrementalAppendScan.html
@@ -124,7 +124,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/IncrementalChangelogScan.html b/javadoc/org/apache/iceberg/IncrementalChangelogScan.html
index b6ca205..8334dd2 100644
--- a/javadoc/org/apache/iceberg/IncrementalChangelogScan.html
+++ b/javadoc/org/apache/iceberg/IncrementalChangelogScan.html
@@ -124,7 +124,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/IncrementalScan.html b/javadoc/org/apache/iceberg/IncrementalScan.html
index abfdfb2..efb82b4 100644
--- a/javadoc/org/apache/iceberg/IncrementalScan.html
+++ b/javadoc/org/apache/iceberg/IncrementalScan.html
@@ -152,7 +152,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/MetadataUpdate.SetDefaultPartitionSpec.html b/javadoc/org/apache/iceberg/MetadataUpdate.SetDefaultPartitionSpec.html
index 23c9b82..122f678 100644
--- a/javadoc/org/apache/iceberg/MetadataUpdate.SetDefaultPartitionSpec.html
+++ b/javadoc/org/apache/iceberg/MetadataUpdate.SetDefaultPartitionSpec.html
@@ -155,7 +155,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/MetadataUpdate.SetDefaultPartitionSpec.html#SetDefaultPartitionSpec-int-">SetDefaultPartitionSpec</a></span>(int&nbsp;schemaId)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/MetadataUpdate.SetDefaultPartitionSpec.html#SetDefaultPartitionSpec-int-">SetDefaultPartitionSpec</a></span>(int&nbsp;specId)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -208,7 +208,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SetDefaultPartitionSpec</h4>
-<pre>public&nbsp;SetDefaultPartitionSpec(int&nbsp;schemaId)</pre>
+<pre>public&nbsp;SetDefaultPartitionSpec(int&nbsp;specId)</pre>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/MicroBatches.MicroBatchBuilder.html b/javadoc/org/apache/iceberg/MicroBatches.MicroBatchBuilder.html
index 51fbc84..3d84d57 100644
--- a/javadoc/org/apache/iceberg/MicroBatches.MicroBatchBuilder.html
+++ b/javadoc/org/apache/iceberg/MicroBatches.MicroBatchBuilder.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -142,6 +142,13 @@
         boolean&nbsp;scanAllFiles)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../org/apache/iceberg/MicroBatches.MicroBatch.html" title="class in org.apache.iceberg">MicroBatches.MicroBatch</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/MicroBatches.MicroBatchBuilder.html#generate-long-long-long-boolean-">generate</a></span>(long&nbsp;startFileIndex,
+        long&nbsp;endFileIndex,
+        long&nbsp;targetSizeInBytes,
+        boolean&nbsp;scanAllFiles)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/MicroBatches.MicroBatchBuilder.html" title="class in org.apache.iceberg">MicroBatches.MicroBatchBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/MicroBatches.MicroBatchBuilder.html#specsById-java.util.Map-">specsById</a></span>(java.util.Map&lt;java.lang.Integer,<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&gt;&nbsp;specs)</code>&nbsp;</td>
 </tr>
@@ -188,10 +195,22 @@
 <a name="generate-long-long-boolean-">
 <!--   -->
 </a>
+<ul class="blockList">
+<li class="blockList">
+<h4>generate</h4>
+<pre>public&nbsp;<a href="../../../org/apache/iceberg/MicroBatches.MicroBatch.html" title="class in org.apache.iceberg">MicroBatches.MicroBatch</a>&nbsp;generate(long&nbsp;startFileIndex,
+                                        long&nbsp;targetSizeInBytes,
+                                        boolean&nbsp;scanAllFiles)</pre>
+</li>
+</ul>
+<a name="generate-long-long-long-boolean-">
+<!--   -->
+</a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>generate</h4>
 <pre>public&nbsp;<a href="../../../org/apache/iceberg/MicroBatches.MicroBatch.html" title="class in org.apache.iceberg">MicroBatches.MicroBatch</a>&nbsp;generate(long&nbsp;startFileIndex,
+                                        long&nbsp;endFileIndex,
                                         long&nbsp;targetSizeInBytes,
                                         boolean&nbsp;scanAllFiles)</pre>
 </li>
diff --git a/javadoc/org/apache/iceberg/MicroBatches.html b/javadoc/org/apache/iceberg/MicroBatches.html
index 94763d2..b9c586c 100644
--- a/javadoc/org/apache/iceberg/MicroBatches.html
+++ b/javadoc/org/apache/iceberg/MicroBatches.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9};
+var methods = {"i0":9,"i1":9,"i2":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -155,6 +155,22 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/MicroBatches.html#from-org.apache.iceberg.Snapshot-org.apache.iceberg.io.FileIO-">from</a></span>(<a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot,
     <a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io)</code>&nbsp;</td>
 </tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/MicroBatches.html#openManifestFile-org.apache.iceberg.io.FileIO-java.util.Map-boolean-org.apache.iceberg.Snapshot-org.apache.iceberg.ManifestFile-boolean-">openManifestFile</a></span>(<a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
+                java.util.Map&lt;java.lang.Integer,<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&gt;&nbsp;specsById,
+                boolean&nbsp;caseSensitive,
+                <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot,
+                <a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifestFile,
+                boolean&nbsp;scanAllFiles)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static java.util.List&lt;<a href="../../../org/apache/iceberg/util/Pair.html" title="class in org.apache.iceberg.util">Pair</a>&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>,java.lang.Integer&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/MicroBatches.html#skippedManifestIndexesFromSnapshot-org.apache.iceberg.io.FileIO-org.apache.iceberg.Snapshot-long-boolean-">skippedManifestIndexesFromSnapshot</a></span>(<a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
+                                  <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot,
+                                  long&nbsp;startFileIndex,
+                                  boolean&nbsp;scanAllFiles)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -177,6 +193,32 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="skippedManifestIndexesFromSnapshot-org.apache.iceberg.io.FileIO-org.apache.iceberg.Snapshot-long-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>skippedManifestIndexesFromSnapshot</h4>
+<pre>public static&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/util/Pair.html" title="class in org.apache.iceberg.util">Pair</a>&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>,java.lang.Integer&gt;&gt;&nbsp;skippedManifestIndexesFromSnapshot(<a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
+                                                                                                      <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot,
+                                                                                                      long&nbsp;startFileIndex,
+                                                                                                      boolean&nbsp;scanAllFiles)</pre>
+</li>
+</ul>
+<a name="openManifestFile-org.apache.iceberg.io.FileIO-java.util.Map-boolean-org.apache.iceberg.Snapshot-org.apache.iceberg.ManifestFile-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>openManifestFile</h4>
+<pre>public static&nbsp;<a href="../../../org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;openManifestFile(<a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
+                                                               java.util.Map&lt;java.lang.Integer,<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&gt;&nbsp;specsById,
+                                                               boolean&nbsp;caseSensitive,
+                                                               <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot,
+                                                               <a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifestFile,
+                                                               boolean&nbsp;scanAllFiles)</pre>
+</li>
+</ul>
 <a name="from-org.apache.iceberg.Snapshot-org.apache.iceberg.io.FileIO-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/Partitioning.html b/javadoc/org/apache/iceberg/Partitioning.html
index acea7b3..84495bb 100644
--- a/javadoc/org/apache/iceberg/Partitioning.html
+++ b/javadoc/org/apache/iceberg/Partitioning.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":41,"i1":9,"i2":9,"i3":9,"i4":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -122,39 +122,31 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Partitioning.html#groupingKeyType-java.util.Collection-">groupingKeyType</a></span>(java.util.Collection&lt;<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&gt;&nbsp;specs)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">use <a href="../../../org/apache/iceberg/Partitioning.html#groupingKeyType-org.apache.iceberg.Schema-java.util.Collection-"><code>groupingKeyType(Schema, Collection)</code></a> instead; will be removed in 1.3.0</span></div>
-</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Partitioning.html#groupingKeyType-org.apache.iceberg.Schema-java.util.Collection-">groupingKeyType</a></span>(<a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
                java.util.Collection&lt;<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&gt;&nbsp;specs)</code>
 <div class="block">Builds a grouping key type considering the provided schema and specs.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Partitioning.html#hasBucketField-org.apache.iceberg.PartitionSpec-">hasBucketField</a></span>(<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code>
 <div class="block">Check whether the spec contains a bucketed partition field.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Partitioning.html#partitionType-org.apache.iceberg.Table-">partitionType</a></span>(<a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code>
 <div class="block">Builds a unified partition type considering all specs in a table.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Partitioning.html#sortOrderFor-org.apache.iceberg.PartitionSpec-">sortOrderFor</a></span>(<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code>
 <div class="block">Create a sort order that will group data for a partition spec.</div>
@@ -218,24 +210,6 @@
 </dl>
 </li>
 </ul>
-<a name="groupingKeyType-java.util.Collection-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>groupingKeyType</h4>
-<pre>@Deprecated
-public static&nbsp;<a href="../../../org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a>&nbsp;groupingKeyType(java.util.Collection&lt;<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&gt;&nbsp;specs)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../org/apache/iceberg/Partitioning.html#groupingKeyType-org.apache.iceberg.Schema-java.util.Collection-"><code>groupingKeyType(Schema, Collection)</code></a> instead; will be removed in 1.3.0</span></div>
-<div class="block">Builds a grouping key type considering all provided specs.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>specs</code> - one or many specs</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the constructed grouping key type</dd>
-</dl>
-</li>
-</ul>
 <a name="groupingKeyType-org.apache.iceberg.Schema-java.util.Collection-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html b/javadoc/org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html
index e1168c3..c29668e 100644
--- a/javadoc/org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html
+++ b/javadoc/org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":42,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":42,"i25":10,"i26":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -149,6 +149,10 @@
 <td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html#DELETE_SCAN_WITH_STATS_COLUMNS">DELETE_SCAN_WITH_STATS_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html#SCAN_COLUMNS">SCAN_COLUMNS</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -185,7 +189,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -237,15 +241,10 @@
 </td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>protected ThisT</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html#newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">newRefinedScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-              <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-              org.apache.iceberg.TableScanContext&nbsp;newContext)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
+<td class="colFirst"><code>ThisT</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
@@ -329,18 +328,10 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html#table--">table</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i24" class="altColor">
-<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html#tableOps--">tableOps</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</div>
-</td>
-</tr>
-<tr id="i25" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html#tableSchema--">tableSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.PositionDeletesBatchScan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
@@ -373,7 +364,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
 </ul>
 </li>
 </ul>
@@ -389,6 +380,15 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="SCAN_COLUMNS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCAN_COLUMNS</h4>
+<pre>protected static final&nbsp;java.util.List&lt;java.lang.String&gt; SCAN_COLUMNS</pre>
+</li>
+</ul>
 <a name="DELETE_SCAN_COLUMNS">
 <!--   -->
 </a>
@@ -497,17 +497,6 @@
 </dl>
 </li>
 </ul>
-<a name="tableOps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableOps</h4>
-<pre>@Deprecated
-protected&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;tableOps()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</li>
-</ul>
 <a name="table--">
 <!--   -->
 </a>
@@ -571,21 +560,6 @@
 <pre>protected&nbsp;java.util.concurrent.ExecutorService&nbsp;planExecutor()</pre>
 </li>
 </ul>
-<a name="newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newRefinedScan</h4>
-<pre>@Deprecated
-protected&nbsp;ThisT&nbsp;newRefinedScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                           <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-                                           <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-                                           org.apache.iceberg.TableScanContext&nbsp;newContext)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="option-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
@@ -833,7 +807,7 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
@@ -845,6 +819,22 @@
 </dl>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>public&nbsp;ThisT&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">Scan</a></code></span></div>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;ThisT,T extends <a href="../../../org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,G extends <a href="../../../org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/PositionDeletesTable.html b/javadoc/org/apache/iceberg/PositionDeletesTable.html
index bb0c792..0f1578f 100644
--- a/javadoc/org/apache/iceberg/PositionDeletesTable.html
+++ b/javadoc/org/apache/iceberg/PositionDeletesTable.html
@@ -73,13 +73,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -149,6 +149,33 @@
 </table>
 </li>
 </ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.html#DELETE_FILE_PATH">DELETE_FILE_PATH</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.html#PARTITION">PARTITION</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/PositionDeletesTable.html#SPEC_ID">SPEC_ID</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -323,6 +350,53 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="PARTITION">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PARTITION</h4>
+<pre>public static final&nbsp;java.lang.String PARTITION</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../constant-values.html#org.apache.iceberg.PositionDeletesTable.PARTITION">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="SPEC_ID">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SPEC_ID</h4>
+<pre>public static final&nbsp;java.lang.String SPEC_ID</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../constant-values.html#org.apache.iceberg.PositionDeletesTable.SPEC_ID">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="DELETE_FILE_PATH">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DELETE_FILE_PATH</h4>
+<pre>public static final&nbsp;java.lang.String DELETE_FILE_PATH</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../constant-values.html#org.apache.iceberg.PositionDeletesTable.DELETE_FILE_PATH">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -751,13 +825,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/ReplaceSortOrder.html b/javadoc/org/apache/iceberg/ReplaceSortOrder.html
index de0890f..22019d4 100644
--- a/javadoc/org/apache/iceberg/ReplaceSortOrder.html
+++ b/javadoc/org/apache/iceberg/ReplaceSortOrder.html
@@ -135,7 +135,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/SortOrderBuilder.html" title="interface in org.apache.iceberg">SortOrderBuilder</a></h3>
-<code><a href="../../../org/apache/iceberg/SortOrderBuilder.html#asc-java.lang.String-">asc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#asc-java.lang.String-org.apache.iceberg.NullOrder-">asc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#asc-org.apache.iceberg.expressions.Term-">asc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#asc-org.apache.iceberg.expressions.Term-org.apache.iceberg.NullOrder-">asc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-java.lang.String-">desc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-java.lang.String-org.apache.iceberg.NullOrder-">desc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-org.apache.iceberg.expressions.Term-">desc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-org.apache.iceberg.expressions.Term-org.apache.iceberg.NullOrder-">desc</a></code></li>
+<code><a href="../../../org/apache/iceberg/SortOrderBuilder.html#asc-java.lang.String-">asc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#asc-java.lang.String-org.apache.iceberg.NullOrder-">asc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#asc-org.apache.iceberg.expressions.Term-">asc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#asc-org.apache.iceberg.expressions.Term-org.apache.iceberg.NullOrder-">asc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-java.lang.String-">desc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-java.lang.String-org.apache.iceberg.NullOrder-">desc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-org.apache.iceberg.expressions.Term-">desc</a>, <a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-org.apache.iceberg.expressions.Term-org.apache.iceberg.NullOrder-">desc</a></code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/RewriteFiles.html b/javadoc/org/apache/iceberg/RewriteFiles.html
index 2da4719..714cd46 100644
--- a/javadoc/org/apache/iceberg/RewriteFiles.html
+++ b/javadoc/org/apache/iceberg/RewriteFiles.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":18,"i1":6,"i2":6,"i3":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
+var methods = {"i0":18,"i1":18,"i2":18,"i3":18,"i4":18,"i5":18,"i6":50,"i7":38,"i8":38,"i9":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -113,7 +113,10 @@
  <p>When committing, these changes will be applied to the latest table snapshot. Commit conflicts
  will be resolved by applying the changes to the new latest snapshot and reattempting the commit.
  If any of the deleted files are no longer in the latest snapshot when reattempting, the commit
- will throw a <a href="../../../org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions"><code>ValidationException</code></a>.</div>
+ will throw a <a href="../../../org/apache/iceberg/exceptions/ValidationException.html" title="class in org.apache.iceberg.exceptions"><code>ValidationException</code></a>.
+
+ <p>Note that the new state of the table after each rewrite must be logically equivalent to the
+ original table state.</div>
 </li>
 </ul>
 </div>
@@ -127,36 +130,79 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>default <a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#rewriteFiles-java.util.Set-java.util.Set-">rewriteFiles</a></span>(java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToDelete,
-            java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToAdd)</code>
-<div class="block">Add a rewrite that replaces one set of data files with another set that contains the same data.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#addFile-org.apache.iceberg.DataFile-">addFile</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;dataFile)</code>
+<div class="block">Add a new data file.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>default <a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#addFile-org.apache.iceberg.DeleteFile-">addFile</a></span>(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;deleteFile)</code>
+<div class="block">Add a new delete file.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>default <a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#addFile-org.apache.iceberg.DeleteFile-long-">addFile</a></span>(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;deleteFile,
+       long&nbsp;dataSequenceNumber)</code>
+<div class="block">Add a new delete file with the given data sequence number.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>default <a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#dataSequenceNumber-long-">dataSequenceNumber</a></span>(long&nbsp;sequenceNumber)</code>
+<div class="block">Configure the data sequence number for this rewrite operation.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>default <a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#deleteFile-org.apache.iceberg.DataFile-">deleteFile</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;dataFile)</code>
+<div class="block">Remove a data file from the current table state.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>default <a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#deleteFile-org.apache.iceberg.DeleteFile-">deleteFile</a></span>(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;deleteFile)</code>
+<div class="block">Remove a delete file from the table state.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>default <a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#rewriteFiles-java.util.Set-java.util.Set-">rewriteFiles</a></span>(java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToDelete,
+            java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToAdd)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
+</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#rewriteFiles-java.util.Set-java.util.Set-long-">rewriteFiles</a></span>(java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToDelete,
             java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToAdd,
             long&nbsp;sequenceNumber)</code>
-<div class="block">Add a rewrite that replaces one set of data files with another set that contains the same data.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
+</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#rewriteFiles-java.util.Set-java.util.Set-java.util.Set-java.util.Set-">rewriteFiles</a></span>(java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFilesToReplace,
             java.util.Set&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToReplace,
             java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFilesToAdd,
             java.util.Set&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToAdd)</code>
-<div class="block">Add a rewrite that replaces one set of files with another set that contains the same data.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
+</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/RewriteFiles.html#validateFromSnapshot-long-">validateFromSnapshot</a></span>(long&nbsp;snapshotId)</code>
 <div class="block">Set the snapshot ID used in any reads for this operation.</div>
@@ -191,14 +237,140 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="deleteFile-org.apache.iceberg.DataFile-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deleteFile</h4>
+<pre>default&nbsp;<a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;deleteFile(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;dataFile)</pre>
+<div class="block">Remove a data file from the current table state.
+
+ <p>This rewrite operation may change the size or layout of the data files. When applicable, it
+ is also recommended to discard already deleted records while rewriting data files. However, the
+ set of live data records must never change.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dataFile</code> - a rewritten data file</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this for method chaining</dd>
+</dl>
+</li>
+</ul>
+<a name="deleteFile-org.apache.iceberg.DeleteFile-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deleteFile</h4>
+<pre>default&nbsp;<a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;deleteFile(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;deleteFile)</pre>
+<div class="block">Remove a delete file from the table state.
+
+ <p>This rewrite operation may change the size or layout of the delete files. When applicable,
+ it is also recommended to discard delete records for files that are no longer part of the table
+ state. However, the set of applicable delete records must never change.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deleteFile</code> - a rewritten delete file</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this for method chaining</dd>
+</dl>
+</li>
+</ul>
+<a name="addFile-org.apache.iceberg.DataFile-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addFile</h4>
+<pre>default&nbsp;<a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;addFile(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;dataFile)</pre>
+<div class="block">Add a new data file.
+
+ <p>This rewrite operation may change the size or layout of the data files. When applicable, it
+ is also recommended to discard already deleted records while rewriting data files. However, the
+ set of live data records must never change.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dataFile</code> - a new data file</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this for method chaining</dd>
+</dl>
+</li>
+</ul>
+<a name="addFile-org.apache.iceberg.DeleteFile-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addFile</h4>
+<pre>default&nbsp;<a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;addFile(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;deleteFile)</pre>
+<div class="block">Add a new delete file.
+
+ <p>This rewrite operation may change the size or layout of the delete files. When applicable,
+ it is also recommended to discard delete records for files that are no longer part of the table
+ state. However, the set of applicable delete records must never change.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deleteFile</code> - a new delete file</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this for method chaining</dd>
+</dl>
+</li>
+</ul>
+<a name="addFile-org.apache.iceberg.DeleteFile-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addFile</h4>
+<pre>default&nbsp;<a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;addFile(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;deleteFile,
+                             long&nbsp;dataSequenceNumber)</pre>
+<div class="block">Add a new delete file with the given data sequence number.
+
+ <p>This rewrite operation may change the size or layout of the delete files. When applicable,
+ it is also recommended to discard delete records for files that are no longer part of the table
+ state. However, the set of applicable delete records must never change.
+
+ <p>To ensure equivalence in the set of applicable delete records, the sequence number of the
+ delete file must be the max sequence number of the delete files that it is replacing. Rewriting
+ equality deletes that belong to different sequence numbers is not allowed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deleteFile</code> - a new delete file</dd>
+<dd><code>dataSequenceNumber</code> - data sequence number to append on the file</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this for method chaining</dd>
+</dl>
+</li>
+</ul>
+<a name="dataSequenceNumber-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dataSequenceNumber</h4>
+<pre>default&nbsp;<a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;dataSequenceNumber(long&nbsp;sequenceNumber)</pre>
+<div class="block">Configure the data sequence number for this rewrite operation. This data sequence number will
+ be used for all new data files that are added in this rewrite. This method is helpful to avoid
+ commit conflicts between data compaction and adding equality deletes.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sequenceNumber</code> - a data sequence number</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this for method chaining</dd>
+</dl>
+</li>
+</ul>
 <a name="rewriteFiles-java.util.Set-java.util.Set-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>rewriteFiles</h4>
-<pre>default&nbsp;<a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;rewriteFiles(java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToDelete,
-                                  java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToAdd)</pre>
+<pre>@Deprecated
+default&nbsp;<a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;rewriteFiles(java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToDelete,
+                                              java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToAdd)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
 <div class="block">Add a rewrite that replaces one set of data files with another set that contains the same data.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -215,9 +387,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>rewriteFiles</h4>
-<pre><a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;rewriteFiles(java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToDelete,
-                          java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToAdd,
-                          long&nbsp;sequenceNumber)</pre>
+<pre>@Deprecated
+<a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;rewriteFiles(java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToDelete,
+                                      java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;filesToAdd,
+                                      long&nbsp;sequenceNumber)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
 <div class="block">Add a rewrite that replaces one set of data files with another set that contains the same data.
  The sequence number provided will be used for all the data files added.</div>
 <dl>
@@ -236,10 +410,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>rewriteFiles</h4>
-<pre><a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;rewriteFiles(java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFilesToReplace,
-                          java.util.Set&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToReplace,
-                          java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFilesToAdd,
-                          java.util.Set&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToAdd)</pre>
+<pre>@Deprecated
+<a href="../../../org/apache/iceberg/RewriteFiles.html" title="interface in org.apache.iceberg">RewriteFiles</a>&nbsp;rewriteFiles(java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFilesToReplace,
+                                      java.util.Set&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToReplace,
+                                      java.util.Set&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFilesToAdd,
+                                      java.util.Set&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToAdd)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.3.0, will be removed in 2.0.0</span></div>
 <div class="block">Add a rewrite that replaces one set of files with another set that contains the same data.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
diff --git a/javadoc/org/apache/iceberg/Scan.html b/javadoc/org/apache/iceberg/Scan.html
index 4b31ea9..2951a45 100644
--- a/javadoc/org/apache/iceberg/Scan.html
+++ b/javadoc/org/apache/iceberg/Scan.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":18,"i14":6,"i15":6,"i16":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":18,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":18,"i15":6,"i16":6,"i17":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -172,6 +172,13 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>default <a href="../../../org/apache/iceberg/Scan.html" title="type parameter in Scan">ThisT</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/Scan.html" title="type parameter in Scan">ThisT</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a></span>(java.lang.String&nbsp;property,
       java.lang.String&nbsp;value)</code>
@@ -179,61 +186,61 @@
  behavior based on the incoming pair.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="../../../org/apache/iceberg/Scan.html" title="type parameter in Scan">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a></span>()</code>
 <div class="block">Plan tasks for this scan where each task reads a single file.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io">CloseableIterable</a>&lt;<a href="../../../org/apache/iceberg/Scan.html" title="type parameter in Scan">G</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a></span>()</code>
 <div class="block">Plan balanced task groups for this scan by splitting large and combining small tasks.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/Scan.html" title="type parameter in Scan">ThisT</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a></span>(java.util.concurrent.ExecutorService&nbsp;executorService)</code>
 <div class="block">Create a new scan to use a particular executor to plan.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/Scan.html" title="type parameter in Scan">ThisT</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a></span>(<a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema)</code>
 <div class="block">Create a new scan from this with the schema as its projection.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a></span>()</code>
 <div class="block">Returns this scan's projection <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a>.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/Scan.html" title="type parameter in Scan">ThisT</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a></span>(java.util.Collection&lt;java.lang.String&gt;&nbsp;columns)</code>
 <div class="block">Create a new scan from this that will read the given data columns.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>default <a href="../../../org/apache/iceberg/Scan.html" title="type parameter in Scan">ThisT</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a></span>(java.lang.String...&nbsp;columns)</code>
 <div class="block">Create a new scan from this that will read the given columns.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a></span>()</code>
 <div class="block">Returns the split lookback for this scan.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a></span>()</code>
 <div class="block">Returns the split open file cost for this scan.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
@@ -509,13 +516,24 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>long&nbsp;splitOpenFileCost()</pre>
 <div class="block">Returns the split open file cost for this scan.</div>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>default&nbsp;<a href="../../../org/apache/iceberg/Scan.html" title="type parameter in Scan">ThisT</a>&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/Snapshot.html b/javadoc/org/apache/iceberg/Snapshot.html
index 1065860..62c9108 100644
--- a/javadoc/org/apache/iceberg/Snapshot.html
+++ b/javadoc/org/apache/iceberg/Snapshot.html
@@ -383,7 +383,8 @@
 <div class="block">Return all data files added to the table in this snapshot.
 
  <p>The files returned include the following columns: file_path, file_format, partition,
- record_count, and file_size_in_bytes. Other columns will be null.</div>
+ record_count, and file_size_in_bytes. Data and file sequence number are populated. Other
+ columns will be null.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>io</code> - a <a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io"><code>FileIO</code></a> instance used for reading files from storage</dd>
@@ -402,7 +403,8 @@
 <div class="block">Return all data files removed from the table in this snapshot.
 
  <p>The files returned include the following columns: file_path, file_format, partition,
- record_count, and file_size_in_bytes. Other columns will be null.</div>
+ record_count, and file_size_in_bytes. Data and file sequence number are populated. Other
+ columns will be null.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>io</code> - a <a href="../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io"><code>FileIO</code></a> instance used for reading files from storage</dd>
diff --git a/javadoc/org/apache/iceberg/SnapshotScan.html b/javadoc/org/apache/iceberg/SnapshotScan.html
index ad88a3c..2985864 100644
--- a/javadoc/org/apache/iceberg/SnapshotScan.html
+++ b/javadoc/org/apache/iceberg/SnapshotScan.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":42,"i10":6,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":42,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":6,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -151,6 +151,10 @@
 <td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#DELETE_SCAN_WITH_STATS_COLUMNS">DELETE_SCAN_WITH_STATS_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#SCAN_COLUMNS">SCAN_COLUMNS</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -182,7 +186,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -238,15 +242,10 @@
 </td>
 </tr>
 <tr id="i9" class="rowColor">
-<td class="colFirst"><code>protected ThisT</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">newRefinedScan</a></span>(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-              <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-              <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-              org.apache.iceberg.TableScanContext&nbsp;newContext)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</div>
+<td class="colFirst"><code>ThisT</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</code>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
 </td>
 </tr>
 <tr id="i10" class="altColor">
@@ -342,32 +341,24 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#table--">table</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i28" class="altColor">
-<td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#tableOps--">tableOps</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</div>
-</td>
-</tr>
-<tr id="i29" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#tableSchema--">tableSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#targetSplitSize--">targetSplitSize</a></span>()</code>
 <div class="block">Returns the target split size for this scan.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/SnapshotScan.html" title="type parameter in SnapshotScan">ThisT</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#useRef-java.lang.String-">useRef</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/SnapshotScan.html" title="type parameter in SnapshotScan">ThisT</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SnapshotScan.html#useSnapshot-long-">useSnapshot</a></span>(long&nbsp;scanSnapshotId)</code>&nbsp;</td>
 </tr>
@@ -400,6 +391,15 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
+<a name="SCAN_COLUMNS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SCAN_COLUMNS</h4>
+<pre>protected static final&nbsp;java.util.List&lt;java.lang.String&gt; SCAN_COLUMNS</pre>
+</li>
+</ul>
 <a name="DELETE_SCAN_COLUMNS">
 <!--   -->
 </a>
@@ -539,17 +539,6 @@
 </dl>
 </li>
 </ul>
-<a name="tableOps--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableOps</h4>
-<pre>@Deprecated
-protected&nbsp;<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;tableOps()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; avoid using TableOperations for scans or use BaseTable</span></div>
-</li>
-</ul>
 <a name="table--">
 <!--   -->
 </a>
@@ -622,21 +611,6 @@
 <pre>protected&nbsp;java.util.concurrent.ExecutorService&nbsp;planExecutor()</pre>
 </li>
 </ul>
-<a name="newRefinedScan-org.apache.iceberg.TableOperations-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newRefinedScan</h4>
-<pre>@Deprecated
-protected&nbsp;ThisT&nbsp;newRefinedScan(<a href="../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>&nbsp;ignored,
-                                           <a href="../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable,
-                                           <a href="../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newSchema,
-                                           org.apache.iceberg.TableScanContext&nbsp;newContext)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use newRefinedScan(Table, Schema, TableScanContext)
-     instead.</span></div>
-</li>
-</ul>
 <a name="newRefinedScan-org.apache.iceberg.Table-org.apache.iceberg.Schema-org.apache.iceberg.TableScanContext-">
 <!--   -->
 </a>
@@ -895,7 +869,7 @@
 <a name="splitOpenFileCost--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>splitOpenFileCost</h4>
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
@@ -907,6 +881,22 @@
 </dl>
 </li>
 </ul>
+<a name="metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metricsReporter</h4>
+<pre>public&nbsp;ThisT&nbsp;metricsReporter(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;reporter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">Scan</a></code></span></div>
+<div class="block">Create a new scan that will report scan metrics to the provided reporter in addition to
+ reporters maintained by the scan.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a>&lt;ThisT,T extends <a href="../../../org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg">ScanTask</a>,G extends <a href="../../../org/apache/iceberg/ScanTaskGroup.html" title="interface in org.apache.iceberg">ScanTaskGroup</a>&lt;T&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/SortOrder.Builder.html b/javadoc/org/apache/iceberg/SortOrder.Builder.html
index a5b9542..3603612 100644
--- a/javadoc/org/apache/iceberg/SortOrder.Builder.html
+++ b/javadoc/org/apache/iceberg/SortOrder.Builder.html
@@ -152,7 +152,9 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/SortOrder.Builder.html" title="class in org.apache.iceberg">SortOrder.Builder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SortOrder.Builder.html#caseSensitive-boolean-">caseSensitive</a></span>(boolean&nbsp;sortCaseSensitive)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SortOrder.Builder.html#caseSensitive-boolean-">caseSensitive</a></span>(boolean&nbsp;sortCaseSensitive)</code>
+<div class="block">Set case sensitivity of sort column name resolution.</div>
+</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/SortOrder.Builder.html" title="class in org.apache.iceberg">SortOrder.Builder</a></code></td>
@@ -284,6 +286,16 @@
 <li class="blockList">
 <h4>caseSensitive</h4>
 <pre>public&nbsp;<a href="../../../org/apache/iceberg/SortOrder.Builder.html" title="class in org.apache.iceberg">SortOrder.Builder</a>&nbsp;caseSensitive(boolean&nbsp;sortCaseSensitive)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../org/apache/iceberg/SortOrderBuilder.html#caseSensitive-boolean-">SortOrderBuilder</a></code></span></div>
+<div class="block">Set case sensitivity of sort column name resolution.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../org/apache/iceberg/SortOrderBuilder.html#caseSensitive-boolean-">caseSensitive</a></code>&nbsp;in interface&nbsp;<code><a href="../../../org/apache/iceberg/SortOrderBuilder.html" title="interface in org.apache.iceberg">SortOrderBuilder</a>&lt;<a href="../../../org/apache/iceberg/SortOrder.Builder.html" title="class in org.apache.iceberg">SortOrder.Builder</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sortCaseSensitive</code> - when true, column name resolution is case-sensitive</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this for method chaining</dd>
+</dl>
 </li>
 </ul>
 <a name="build--">
diff --git a/javadoc/org/apache/iceberg/SortOrderBuilder.html b/javadoc/org/apache/iceberg/SortOrderBuilder.html
index 6cb2578..a59f3e7 100644
--- a/javadoc/org/apache/iceberg/SortOrderBuilder.html
+++ b/javadoc/org/apache/iceberg/SortOrderBuilder.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":18,"i1":18,"i2":18,"i3":6,"i4":18,"i5":18,"i6":18,"i7":6};
+var methods = {"i0":18,"i1":18,"i2":18,"i3":6,"i4":18,"i5":18,"i6":18,"i7":18,"i8":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -155,24 +155,30 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>default <a href="../../../org/apache/iceberg/SortOrderBuilder.html" title="type parameter in SortOrderBuilder">R</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SortOrderBuilder.html#caseSensitive-boolean-">caseSensitive</a></span>(boolean&nbsp;caseSensitive)</code>
+<div class="block">Set case sensitivity of sort column name resolution.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>default <a href="../../../org/apache/iceberg/SortOrderBuilder.html" title="type parameter in SortOrderBuilder">R</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-java.lang.String-">desc</a></span>(java.lang.String&nbsp;name)</code>
 <div class="block">Add a field to the sort by field name, ascending with nulls first.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>default <a href="../../../org/apache/iceberg/SortOrderBuilder.html" title="type parameter in SortOrderBuilder">R</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-java.lang.String-org.apache.iceberg.NullOrder-">desc</a></span>(java.lang.String&nbsp;name,
     <a href="../../../org/apache/iceberg/NullOrder.html" title="enum in org.apache.iceberg">NullOrder</a>&nbsp;nullOrder)</code>
 <div class="block">Add a field to the sort by field name, ascending with the given null order.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>default <a href="../../../org/apache/iceberg/SortOrderBuilder.html" title="type parameter in SortOrderBuilder">R</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-org.apache.iceberg.expressions.Term-">desc</a></span>(<a href="../../../org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a>&nbsp;term)</code>
 <div class="block">Add an expression term to the sort, ascending with nulls first.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/SortOrderBuilder.html" title="type parameter in SortOrderBuilder">R</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/SortOrderBuilder.html#desc-org.apache.iceberg.expressions.Term-org.apache.iceberg.NullOrder-">desc</a></span>(<a href="../../../org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a>&nbsp;term,
     <a href="../../../org/apache/iceberg/NullOrder.html" title="enum in org.apache.iceberg">NullOrder</a>&nbsp;nullOrder)</code>
@@ -315,7 +321,7 @@
 <a name="desc-org.apache.iceberg.expressions.Term-org.apache.iceberg.NullOrder-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>desc</h4>
 <pre><a href="../../../org/apache/iceberg/SortOrderBuilder.html" title="type parameter in SortOrderBuilder">R</a>&nbsp;desc(<a href="../../../org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a>&nbsp;term,
@@ -330,6 +336,22 @@
 </dl>
 </li>
 </ul>
+<a name="caseSensitive-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>caseSensitive</h4>
+<pre>default&nbsp;<a href="../../../org/apache/iceberg/SortOrderBuilder.html" title="type parameter in SortOrderBuilder">R</a>&nbsp;caseSensitive(boolean&nbsp;caseSensitive)</pre>
+<div class="block">Set case sensitivity of sort column name resolution.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>caseSensitive</code> - when true, column name resolution is case-sensitive</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this for method chaining</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/StreamingDelete.html b/javadoc/org/apache/iceberg/StreamingDelete.html
index 2322856..226ca08 100644
--- a/javadoc/org/apache/iceberg/StreamingDelete.html
+++ b/javadoc/org/apache/iceberg/StreamingDelete.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":42,"i51":10,"i52":42,"i53":10,"i54":42,"i55":10,"i56":42,"i57":10,"i58":42,"i59":10,"i60":42,"i61":10,"i62":42,"i63":10,"i64":42,"i65":10,"i66":42,"i67":10,"i68":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":42,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":42,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -169,23 +169,22 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#add-org.apache.iceberg.DeleteFile-long-">add</a></span>(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file,
+   long&nbsp;dataSequenceNumber)</code>
+<div class="block">Add a delete file to the new snapshot.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#add-org.apache.iceberg.ManifestFile-">add</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>
 <div class="block">Add all files in a manifest to the new snapshot.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>protected org.apache.iceberg.DeleteFileIndex</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-">addedDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                java.lang.Long&nbsp;startingSnapshotId,
-                <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.addedDeleteFiles(TableMetadata, Long, Expression, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>protected java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#addedDataFiles--">addedDataFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>protected org.apache.iceberg.DeleteFileIndex</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">addedDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                 java.lang.Long&nbsp;startingSnapshotId,
@@ -195,244 +194,261 @@
 <div class="block">Returns matching delete files have been added to the table since a starting snapshot.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>protected java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#addedFiles--">addedFiles</a></span>()</code>&nbsp;</td>
-</tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>protected java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#addedFiles--">addedFiles</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/StreamingDelete.html#addedDataFiles--"><code>addedDataFiles()</code></a>.</span></div>
+</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#addsDataFiles--">addsDataFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#addsDeleteFiles--">addsDeleteFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#apply--">apply</a></span>()</code>
 <div class="block">Apply the pending changes and return the uncommitted changes for validation.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>java.util.List&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#apply-org.apache.iceberg.TableMetadata-org.apache.iceberg.Snapshot-">apply</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
      <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot)</code>
 <div class="block">Apply the update's changes to the given metadata and snapshot.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#caseSensitive-boolean-">caseSensitive</a></span>(boolean&nbsp;isCaseSensitive)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#cleanAll--">cleanAll</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#cleanUncommitted-java.util.Set-">cleanUncommitted</a></span>(java.util.Set&lt;<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;committed)</code>
 <div class="block">Clean up any uncommitted manifests that were created.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#commit--">commit</a></span>()</code>
 <div class="block">Apply the pending changes and commit.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/metrics/CommitMetrics.html" title="class in org.apache.iceberg.metrics">CommitMetrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#commitMetrics--">commitMetrics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#current--">current</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#dataSpec--">dataSpec</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#delete-java.lang.CharSequence-">delete</a></span>(java.lang.CharSequence&nbsp;path)</code>
 <div class="block">Add a specific data path to be deleted in the new snapshot.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#delete-org.apache.iceberg.DataFile-">delete</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code>
 <div class="block">Add a specific data file to be deleted in the new snapshot.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#delete-org.apache.iceberg.DeleteFile-">delete</a></span>(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file)</code>
 <div class="block">Add a specific delete file to be deleted in the new snapshot.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#deleteByRowFilter-org.apache.iceberg.expressions.Expression-">deleteByRowFilter</a></span>(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code>
 <div class="block">Add a filter to match files to delete.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#deleteFile-java.lang.CharSequence-">deleteFile</a></span>(java.lang.CharSequence&nbsp;path)</code>
 <div class="block">Delete a file path from the underlying table.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#deleteFile-org.apache.iceberg.DataFile-">deleteFile</a></span>(<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&nbsp;file)</code>
 <div class="block">Delete a file tracked by a <a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> from the underlying table.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#deleteFile-java.lang.String-">deleteFile</a></span>(java.lang.String&nbsp;path)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#deleteFromRowFilter-org.apache.iceberg.expressions.Expression-">deleteFromRowFilter</a></span>(<a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;expr)</code>
 <div class="block">Delete files that match an <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><code>Expression</code></a> on data rows from the table.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#deletesDataFiles--">deletesDataFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#deletesDeleteFiles--">deletesDeleteFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#deleteWith-java.util.function.Consumer-">deleteWith</a></span>(java.util.function.Consumer&lt;java.lang.String&gt;&nbsp;deleteCallback)</code>
 <div class="block">Set a callback to delete files instead of the table's default.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#dropPartition-int-org.apache.iceberg.StructLike-">dropPartition</a></span>(int&nbsp;specId,
              <a href="../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition)</code>
 <div class="block">Add a partition tuple to drop from the table during the delete phase.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#failAnyDelete--">failAnyDelete</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#failMissingDeletePaths--">failMissingDeletePaths</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#isCaseSensitive--">isCaseSensitive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#manifestListPath--">manifestListPath</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#newDeleteManifestReader-org.apache.iceberg.ManifestFile-">newDeleteManifestReader</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#newDeleteManifestWriter-org.apache.iceberg.PartitionSpec-">newDeleteManifestWriter</a></span>(<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#newManifestOutput--">newManifestOutput</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestReader.html" title="class in org.apache.iceberg">ManifestReader</a>&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#newManifestReader-org.apache.iceberg.ManifestFile-">newManifestReader</a></span>(<a href="../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&nbsp;manifest)</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/ManifestWriter.html" title="class in org.apache.iceberg">ManifestWriter</a>&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#newManifestWriter-org.apache.iceberg.PartitionSpec-">newManifestWriter</a></span>(<a href="../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>protected java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#operation--">operation</a></span>()</code>
 <div class="block">A string that describes the action that produced the new snapshot.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#refresh--">refresh</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>protected ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#reportWith-org.apache.iceberg.metrics.MetricsReporter-">reportWith</a></span>(<a href="../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>&nbsp;newReporter)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#rowFilter--">rowFilter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#scanManifestsWith-java.util.concurrent.ExecutorService-">scanManifestsWith</a></span>(java.util.concurrent.ExecutorService&nbsp;executorService)</code>
 <div class="block">Use a particular executor to scan manifests.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../org/apache/iceberg/DeleteFiles.html" title="interface in org.apache.iceberg">DeleteFiles</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#self--">self</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#set-java.lang.String-java.lang.String-">set</a></span>(java.lang.String&nbsp;property,
    java.lang.String&nbsp;value)</code>
 <div class="block">Set a summary property in the snapshot produced by this update.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#setNewFilesSequenceNumber-long-">setNewFilesSequenceNumber</a></span>(long&nbsp;sequenceNumber)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#setNewDataFilesDataSequenceNumber-long-">setNewDataFilesDataSequenceNumber</a></span>(long&nbsp;sequenceNumber)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i47" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#setNewFilesSequenceNumber-long-">setNewFilesSequenceNumber</a></span>(long&nbsp;sequenceNumber)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/StreamingDelete.html#setNewDataFilesDataSequenceNumber-long-"><code>setNewDataFilesDataSequenceNumber(long)</code></a>;</span></div>
+</div>
+</td>
+</tr>
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#snapshotId--">snapshotId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>ThisT</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#stageOnly--">stageOnly</a></span>()</code>
 <div class="block">Called to stage a snapshot in table metadata, but not update the current snapshot id.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>protected java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#summary--">summary</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>protected java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#targetBranch--">targetBranch</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#targetBranch-java.lang.String-">targetBranch</a></span>(java.lang.String&nbsp;branch)</code>
-<div class="block">* A setter for the target branch on which snapshot producer operation should be performed</div>
+<div class="block">A setter for the target branch on which snapshot producer operation should be performed</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="../../../org/apache/iceberg/StreamingDelete.html" title="class in org.apache.iceberg">StreamingDelete</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#toBranch-java.lang.String-">toBranch</a></span>(java.lang.String&nbsp;branch)</code>
 <div class="block">Perform operations on a particular branch</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>java.lang.Object</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#updateEvent--">updateEvent</a></span>()</code>
 <div class="block">Generates update event to notify about metadata changes</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validate-org.apache.iceberg.TableMetadata-org.apache.iceberg.Snapshot-">validate</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;currentMetadata,
         <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;snapshot)</code>
 <div class="block">Validate the current metadata.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                      java.lang.Long&nbsp;startingSnapshotId,
-                      <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, Expression, Snapshot)</code>
-     instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i51" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                       java.lang.Long&nbsp;startingSnapshotId,
@@ -442,18 +458,7 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                      java.lang.Long&nbsp;startingSnapshotId,
-                      <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i53" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">validateAddedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                       java.lang.Long&nbsp;startingSnapshotId,
@@ -463,17 +468,7 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-">validateDataFilesExist</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                      java.lang.Long&nbsp;startingSnapshotId,
-                      <a href="../../../org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a>&nbsp;requiredDataFiles,
-                      boolean&nbsp;skipDeletes,
-                      <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</td>
-</tr>
-<tr id="i55" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateDataFilesExist</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                       java.lang.Long&nbsp;startingSnapshotId,
@@ -482,18 +477,7 @@
                       <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter,
                       <a href="../../../org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg">Snapshot</a>&nbsp;parent)</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateDeletedDataFiles(TableMetadata, Long, Expression,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i57" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                         java.lang.Long&nbsp;startingSnapshotId,
@@ -503,18 +487,7 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">validateDeletedDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                         java.lang.Long&nbsp;startingSnapshotId,
@@ -524,16 +497,6 @@
  snapshot.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata, java.lang.Long, org.apache.iceberg.expressions.Expression)</code> instead</span></div>
-</div>
-</td>
-</tr>
 <tr id="i61" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
@@ -546,17 +509,6 @@
 </tr>
 <tr id="i62" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                        java.lang.Long&nbsp;startingSnapshotId,
-                        <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i63" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">validateNoNewDeleteFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                         java.lang.Long&nbsp;startingSnapshotId,
                         <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet,
@@ -565,18 +517,7 @@
  starting snapshot.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                java.lang.Long&nbsp;startingSnapshotId,
-                                <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                                java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i65" class="rowColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-org.apache.iceberg.Snapshot-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                                 java.lang.Long&nbsp;startingSnapshotId,
@@ -587,17 +528,7 @@
  to the table since a starting snapshot.</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-java.lang.Iterable-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                java.lang.Long&nbsp;startingSnapshotId,
-                                java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i67" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-java.lang.Iterable-org.apache.iceberg.Snapshot-">validateNoNewDeletesForDataFiles</a></span>(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
                                 java.lang.Long&nbsp;startingSnapshotId,
@@ -607,7 +538,7 @@
  to the table since a starting snapshot.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.ExecutorService</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/StreamingDelete.html#workerPool--">workerPool</a></span>()</code>&nbsp;</td>
 </tr>
@@ -843,7 +774,19 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>addedFiles</h4>
-<pre>protected&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;addedFiles()</pre>
+<pre>@Deprecated
+protected&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;addedFiles()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/StreamingDelete.html#addedDataFiles--"><code>addedDataFiles()</code></a>.</span></div>
+<div class="block">Returns added data files.</div>
+</li>
+</ul>
+<a name="addedDataFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addedDataFiles</h4>
+<pre>protected&nbsp;java.util.List&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;addedDataFiles()</pre>
 </li>
 </ul>
 <a name="failAnyDelete--">
@@ -920,6 +863,42 @@
 <div class="block">Add a specific data path to be deleted in the new snapshot.</div>
 </li>
 </ul>
+<a name="deletesDataFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deletesDataFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;deletesDataFiles()</pre>
+</li>
+</ul>
+<a name="deletesDeleteFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deletesDeleteFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;deletesDeleteFiles()</pre>
+</li>
+</ul>
+<a name="addsDataFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addsDataFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;addsDataFiles()</pre>
+</li>
+</ul>
+<a name="addsDeleteFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addsDeleteFiles</h4>
+<pre>protected&nbsp;boolean&nbsp;addsDeleteFiles()</pre>
+</li>
+</ul>
 <a name="add-org.apache.iceberg.DataFile-">
 <!--   -->
 </a>
@@ -940,6 +919,17 @@
 <div class="block">Add a delete file to the new snapshot.</div>
 </li>
 </ul>
+<a name="add-org.apache.iceberg.DeleteFile-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>protected&nbsp;void&nbsp;add(<a href="../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&nbsp;file,
+                   long&nbsp;dataSequenceNumber)</pre>
+<div class="block">Add a delete file to the new snapshot.</div>
+</li>
+</ul>
 <a name="add-org.apache.iceberg.ManifestFile-">
 <!--   -->
 </a>
@@ -950,26 +940,6 @@
 <div class="block">Add all files in a manifest to the new snapshot.</div>
 </li>
 </ul>
-<a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateAddedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateAddedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                  java.lang.Long&nbsp;startingSnapshotId,
-                                                  <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>partitionSet</code> - a set of partitions to filter new conflicting data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -991,26 +961,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateAddedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateAddedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                  java.lang.Long&nbsp;startingSnapshotId,
-                                                  <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateAddedDataFiles(TableMetadata, Long, Expression, Snapshot)</code>
-     instead</span></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>conflictDetectionFilter</code> - an expression used to find new conflicting data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateAddedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1052,50 +1002,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-java.lang.Iterable-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeletesForDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeletesForDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                            java.lang.Long&nbsp;startingSnapshotId,
-                                                            java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-<div class="block">Validates that no new delete files that must be applied to the given data files have been added
- to the table since a starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFiles</code> - data files to validate have no new row deletes</dd>
-</dl>
-</li>
-</ul>
-<a name="validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeletesForDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeletesForDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                            java.lang.Long&nbsp;startingSnapshotId,
-                                                            <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                                                            java.lang.Iterable&lt;<a href="../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;dataFiles)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata, java.lang.Long, java.lang.Iterable&lt;org.apache.iceberg.DataFile&gt;, org.apache.iceberg.Snapshot)</code> instead</span></div>
-<div class="block">Validates that no new delete files that must be applied to the given data files have been added
- to the table since a starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - a data filter</dd>
-<dd><code>dataFiles</code> - data files to validate have no new row deletes</dd>
-</dl>
-</li>
-</ul>
 <a name="validateNoNewDeletesForDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-java.lang.Iterable-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1119,27 +1025,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeleteFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeleteFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata, java.lang.Long, org.apache.iceberg.expressions.Expression)</code> instead</span></div>
-<div class="block">Validates that no delete files matching a filter have been added to the table since a starting
- snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - an expression used to find new conflicting delete files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1161,28 +1046,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateNoNewDeleteFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateNoNewDeleteFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<div class="block">Validates that no delete files matching a partition set have been added to the table since a
- starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>partitionSet</code> - a partition set used to find new conflicting delete files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateNoNewDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1204,29 +1067,6 @@
 </dl>
 </li>
 </ul>
-<a name="addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addedDeleteFiles</h4>
-<pre>@Deprecated
-protected&nbsp;org.apache.iceberg.DeleteFileIndex&nbsp;addedDeleteFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                                          java.lang.Long&nbsp;startingSnapshotId,
-                                                                          <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter,
-                                                                          <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.addedDeleteFiles(TableMetadata, Long, Expression, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<div class="block">Returns matching delete files have been added to the table since a starting snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - an expression used to find delete files</dd>
-<dd><code>partitionSet</code> - a partition set used to find delete files</dd>
-</dl>
-</li>
-</ul>
 <a name="addedDeleteFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1249,28 +1089,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateDeletedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateDeletedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;dataFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateDeletedDataFiles(TableMetadata, Long, Expression,
-     Snapshot)</code> instead</span></div>
-<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
- snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>dataFilter</code> - an expression used to find deleted data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1292,28 +1110,6 @@
 </dl>
 </li>
 </ul>
-<a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateDeletedDataFiles</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateDeletedDataFiles(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                    java.lang.Long&nbsp;startingSnapshotId,
-                                                    <a href="../../../org/apache/iceberg/util/PartitionSet.html" title="class in org.apache.iceberg.util">PartitionSet</a>&nbsp;partitionSet)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <code>MergingSnapshotProducer.validateNoNewDeleteFiles(TableMetadata, Long, PartitionSet,
-     Snapshot)</code> instead</span></div>
-<div class="block">Validates that no files matching a filter have been deleted from the table since a starting
- snapshot.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>base</code> - table metadata to validate</dd>
-<dd><code>startingSnapshotId</code> - id of the snapshot current at the start of the operation</dd>
-<dd><code>partitionSet</code> - a partition set used to find deleted data files</dd>
-</dl>
-</li>
-</ul>
 <a name="validateDeletedDataFiles-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.PartitionSet-org.apache.iceberg.Snapshot-">
 <!--   -->
 </a>
@@ -1341,22 +1137,23 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setNewFilesSequenceNumber</h4>
-<pre>protected&nbsp;void&nbsp;setNewFilesSequenceNumber(long&nbsp;sequenceNumber)</pre>
+<pre>@Deprecated
+protected&nbsp;void&nbsp;setNewFilesSequenceNumber(long&nbsp;sequenceNumber)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../org/apache/iceberg/StreamingDelete.html#setNewDataFilesDataSequenceNumber-long-"><code>setNewDataFilesDataSequenceNumber(long)</code></a>;</span></div>
+<div class="block">Sets a data sequence number for new data files.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sequenceNumber</code> - a data sequence number</dd>
+</dl>
 </li>
 </ul>
-<a name="validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-">
+<a name="setNewDataFilesDataSequenceNumber-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>validateDataFilesExist</h4>
-<pre>@Deprecated
-protected&nbsp;void&nbsp;validateDataFilesExist(<a href="../../../org/apache/iceberg/TableMetadata.html" title="class in org.apache.iceberg">TableMetadata</a>&nbsp;base,
-                                                  java.lang.Long&nbsp;startingSnapshotId,
-                                                  <a href="../../../org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util">CharSequenceSet</a>&nbsp;requiredDataFiles,
-                                                  boolean&nbsp;skipDeletes,
-                                                  <a href="../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&nbsp;conflictDetectionFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<h4>setNewDataFilesDataSequenceNumber</h4>
+<pre>protected&nbsp;void&nbsp;setNewDataFilesDataSequenceNumber(long&nbsp;sequenceNumber)</pre>
 </li>
 </ul>
 <a name="validateDataFilesExist-org.apache.iceberg.TableMetadata-java.lang.Long-org.apache.iceberg.util.CharSequenceSet-boolean-org.apache.iceberg.expressions.Expression-org.apache.iceberg.Snapshot-">
@@ -1495,7 +1292,7 @@
 <li class="blockList">
 <h4>targetBranch</h4>
 <pre>protected&nbsp;void&nbsp;targetBranch(java.lang.String&nbsp;branch)</pre>
-<div class="block">* A setter for the target branch on which snapshot producer operation should be performed</div>
+<div class="block">A setter for the target branch on which snapshot producer operation should be performed</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>branch</code> - to set as target branch</dd>
diff --git a/javadoc/org/apache/iceberg/TableProperties.html b/javadoc/org/apache/iceberg/TableProperties.html
index ed30aad..055fb9a 100644
--- a/javadoc/org/apache/iceberg/TableProperties.html
+++ b/javadoc/org/apache/iceberg/TableProperties.html
@@ -373,13 +373,13 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#HMS_TABLE_OWNER">HMS_TABLE_OWNER</a></span></code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use the HMS_TABLE_OWNER constant from HiveCatalog</span></div>
-</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#HIVE_LOCK_ENABLED">HIVE_LOCK_ENABLED</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#HIVE_LOCK_ENABLED_DEFAULT">HIVE_LOCK_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MANIFEST_LISTS_ENABLED">MANIFEST_LISTS_ENABLED</a></span></code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -387,7 +387,7 @@
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MANIFEST_LISTS_ENABLED_DEFAULT">MANIFEST_LISTS_ENABLED_DEFAULT</a></span></code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -395,47 +395,47 @@
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MANIFEST_MERGE_ENABLED">MANIFEST_MERGE_ENABLED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MANIFEST_MERGE_ENABLED_DEFAULT">MANIFEST_MERGE_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MANIFEST_MIN_MERGE_COUNT">MANIFEST_MIN_MERGE_COUNT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MANIFEST_MIN_MERGE_COUNT_DEFAULT">MANIFEST_MIN_MERGE_COUNT_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MANIFEST_TARGET_SIZE_BYTES">MANIFEST_TARGET_SIZE_BYTES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MANIFEST_TARGET_SIZE_BYTES_DEFAULT">MANIFEST_TARGET_SIZE_BYTES_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MAX_REF_AGE_MS">MAX_REF_AGE_MS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MAX_REF_AGE_MS_DEFAULT">MAX_REF_AGE_MS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MAX_SNAPSHOT_AGE_MS">MAX_SNAPSHOT_AGE_MS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MAX_SNAPSHOT_AGE_MS_DEFAULT">MAX_SNAPSHOT_AGE_MS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MERGE_CARDINALITY_CHECK_ENABLED">MERGE_CARDINALITY_CHECK_ENABLED</a></span></code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -444,7 +444,7 @@
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT">MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT</a></span></code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -453,87 +453,87 @@
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MERGE_DISTRIBUTION_MODE">MERGE_DISTRIBUTION_MODE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MERGE_ISOLATION_LEVEL">MERGE_ISOLATION_LEVEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MERGE_ISOLATION_LEVEL_DEFAULT">MERGE_ISOLATION_LEVEL_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MERGE_MODE">MERGE_MODE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MERGE_MODE_DEFAULT">MERGE_MODE_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METADATA_COMPRESSION">METADATA_COMPRESSION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METADATA_COMPRESSION_DEFAULT">METADATA_COMPRESSION_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METADATA_DELETE_AFTER_COMMIT_ENABLED">METADATA_DELETE_AFTER_COMMIT_ENABLED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT">METADATA_DELETE_AFTER_COMMIT_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METADATA_PREVIOUS_VERSIONS_MAX">METADATA_PREVIOUS_VERSIONS_MAX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT">METADATA_PREVIOUS_VERSIONS_MAX_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METADATA_SPLIT_SIZE">METADATA_SPLIT_SIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METADATA_SPLIT_SIZE_DEFAULT">METADATA_SPLIT_SIZE_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METRICS_MAX_INFERRED_COLUMN_DEFAULTS">METRICS_MAX_INFERRED_COLUMN_DEFAULTS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METRICS_MAX_INFERRED_COLUMN_DEFAULTS_DEFAULT">METRICS_MAX_INFERRED_COLUMN_DEFAULTS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#METRICS_MODE_COLUMN_CONF_PREFIX">METRICS_MODE_COLUMN_CONF_PREFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MIN_SNAPSHOTS_TO_KEEP">MIN_SNAPSHOTS_TO_KEEP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#MIN_SNAPSHOTS_TO_KEEP_DEFAULT">MIN_SNAPSHOTS_TO_KEEP_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#OBJECT_STORE_ENABLED">OBJECT_STORE_ENABLED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#OBJECT_STORE_ENABLED_DEFAULT">OBJECT_STORE_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#OBJECT_STORE_PATH">OBJECT_STORE_PATH</a></span></code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -541,293 +541,293 @@
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_BATCH_SIZE">ORC_BATCH_SIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_BATCH_SIZE_DEFAULT">ORC_BATCH_SIZE_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_BLOCK_SIZE_BYTES">ORC_BLOCK_SIZE_BYTES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_BLOCK_SIZE_BYTES_DEFAULT">ORC_BLOCK_SIZE_BYTES_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_BLOOM_FILTER_COLUMNS">ORC_BLOOM_FILTER_COLUMNS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_BLOOM_FILTER_COLUMNS_DEFAULT">ORC_BLOOM_FILTER_COLUMNS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_BLOOM_FILTER_FPP">ORC_BLOOM_FILTER_FPP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_BLOOM_FILTER_FPP_DEFAULT">ORC_BLOOM_FILTER_FPP_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_COMPRESSION">ORC_COMPRESSION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_COMPRESSION_DEFAULT">ORC_COMPRESSION_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_COMPRESSION_STRATEGY">ORC_COMPRESSION_STRATEGY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_COMPRESSION_STRATEGY_DEFAULT">ORC_COMPRESSION_STRATEGY_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_STRIPE_SIZE_BYTES">ORC_STRIPE_SIZE_BYTES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_STRIPE_SIZE_BYTES_DEFAULT">ORC_STRIPE_SIZE_BYTES_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_VECTORIZATION_ENABLED">ORC_VECTORIZATION_ENABLED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_VECTORIZATION_ENABLED_DEFAULT">ORC_VECTORIZATION_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_WRITE_BATCH_SIZE">ORC_WRITE_BATCH_SIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#ORC_WRITE_BATCH_SIZE_DEFAULT">ORC_WRITE_BATCH_SIZE_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_BATCH_SIZE">PARQUET_BATCH_SIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_BATCH_SIZE_DEFAULT">PARQUET_BATCH_SIZE_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_BLOOM_FILTER_COLUMN_ENABLED_PREFIX">PARQUET_BLOOM_FILTER_COLUMN_ENABLED_PREFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_BLOOM_FILTER_MAX_BYTES">PARQUET_BLOOM_FILTER_MAX_BYTES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_BLOOM_FILTER_MAX_BYTES_DEFAULT">PARQUET_BLOOM_FILTER_MAX_BYTES_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION">PARQUET_COMPRESSION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION_DEFAULT">PARQUET_COMPRESSION_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION_LEVEL">PARQUET_COMPRESSION_LEVEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_COMPRESSION_LEVEL_DEFAULT">PARQUET_COMPRESSION_LEVEL_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_DICT_SIZE_BYTES">PARQUET_DICT_SIZE_BYTES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_DICT_SIZE_BYTES_DEFAULT">PARQUET_DICT_SIZE_BYTES_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_PAGE_ROW_LIMIT">PARQUET_PAGE_ROW_LIMIT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_PAGE_ROW_LIMIT_DEFAULT">PARQUET_PAGE_ROW_LIMIT_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_PAGE_SIZE_BYTES">PARQUET_PAGE_SIZE_BYTES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_PAGE_SIZE_BYTES_DEFAULT">PARQUET_PAGE_SIZE_BYTES_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_CHECK_MAX_RECORD_COUNT">PARQUET_ROW_GROUP_CHECK_MAX_RECORD_COUNT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_CHECK_MAX_RECORD_COUNT_DEFAULT">PARQUET_ROW_GROUP_CHECK_MAX_RECORD_COUNT_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_CHECK_MIN_RECORD_COUNT">PARQUET_ROW_GROUP_CHECK_MIN_RECORD_COUNT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_CHECK_MIN_RECORD_COUNT_DEFAULT">PARQUET_ROW_GROUP_CHECK_MIN_RECORD_COUNT_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_SIZE_BYTES">PARQUET_ROW_GROUP_SIZE_BYTES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT">PARQUET_ROW_GROUP_SIZE_BYTES_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_VECTORIZATION_ENABLED">PARQUET_VECTORIZATION_ENABLED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#PARQUET_VECTORIZATION_ENABLED_DEFAULT">PARQUET_VECTORIZATION_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.util.Set&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#RESERVED_PROPERTIES">RESERVED_PROPERTIES</a></span></code>
 <div class="block">Reserved Iceberg table properties list.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SNAPSHOT_COUNT">SNAPSHOT_COUNT</a></span></code>
 <div class="block">Reserved table property for the total number of snapshots.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SNAPSHOT_ID_INHERITANCE_ENABLED">SNAPSHOT_ID_INHERITANCE_ENABLED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT">SNAPSHOT_ID_INHERITANCE_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SPARK_WRITE_ACCEPT_ANY_SCHEMA">SPARK_WRITE_ACCEPT_ANY_SCHEMA</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SPARK_WRITE_ACCEPT_ANY_SCHEMA_DEFAULT">SPARK_WRITE_ACCEPT_ANY_SCHEMA_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SPARK_WRITE_PARTITIONED_FANOUT_ENABLED">SPARK_WRITE_PARTITIONED_FANOUT_ENABLED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT">SPARK_WRITE_PARTITIONED_FANOUT_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SPLIT_LOOKBACK">SPLIT_LOOKBACK</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SPLIT_LOOKBACK_DEFAULT">SPLIT_LOOKBACK_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SPLIT_OPEN_FILE_COST">SPLIT_OPEN_FILE_COST</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SPLIT_OPEN_FILE_COST_DEFAULT">SPLIT_OPEN_FILE_COST_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SPLIT_SIZE">SPLIT_SIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#SPLIT_SIZE_DEFAULT">SPLIT_SIZE_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#UPDATE_DISTRIBUTION_MODE">UPDATE_DISTRIBUTION_MODE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#UPDATE_ISOLATION_LEVEL">UPDATE_ISOLATION_LEVEL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#UPDATE_ISOLATION_LEVEL_DEFAULT">UPDATE_ISOLATION_LEVEL_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#UPDATE_MODE">UPDATE_MODE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#UPDATE_MODE_DEFAULT">UPDATE_MODE_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#UPSERT_ENABLED">UPSERT_ENABLED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#UPSERT_ENABLED_DEFAULT">UPSERT_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#UUID">UUID</a></span></code>
 <div class="block">Reserved table property for table UUID.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_AUDIT_PUBLISH_ENABLED">WRITE_AUDIT_PUBLISH_ENABLED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT">WRITE_AUDIT_PUBLISH_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_DATA_LOCATION">WRITE_DATA_LOCATION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE">WRITE_DISTRIBUTION_MODE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_HASH">WRITE_DISTRIBUTION_MODE_HASH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_NONE">WRITE_DISTRIBUTION_MODE_NONE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_DISTRIBUTION_MODE_RANGE">WRITE_DISTRIBUTION_MODE_RANGE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_FOLDER_STORAGE_LOCATION">WRITE_FOLDER_STORAGE_LOCATION</a></span></code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -835,27 +835,27 @@
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_LOCATION_PROVIDER_IMPL">WRITE_LOCATION_PROVIDER_IMPL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_METADATA_LOCATION">WRITE_METADATA_LOCATION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_PARTITION_SUMMARY_LIMIT">WRITE_PARTITION_SUMMARY_LIMIT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT">WRITE_PARTITION_SUMMARY_LIMIT_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_TARGET_FILE_SIZE_BYTES">WRITE_TARGET_FILE_SIZE_BYTES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/iceberg/TableProperties.html#WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT">WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
@@ -2728,6 +2728,32 @@
 </dl>
 </li>
 </ul>
+<a name="HIVE_LOCK_ENABLED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>HIVE_LOCK_ENABLED</h4>
+<pre>public static final&nbsp;java.lang.String HIVE_LOCK_ENABLED</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../constant-values.html#org.apache.iceberg.TableProperties.HIVE_LOCK_ENABLED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="HIVE_LOCK_ENABLED_DEFAULT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>HIVE_LOCK_ENABLED_DEFAULT</h4>
+<pre>public static final&nbsp;boolean HIVE_LOCK_ENABLED_DEFAULT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../constant-values.html#org.apache.iceberg.TableProperties.HIVE_LOCK_ENABLED_DEFAULT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="WRITE_DISTRIBUTION_MODE">
 <!--   -->
 </a>
@@ -3115,7 +3141,7 @@
 <a name="UPSERT_ENABLED_DEFAULT">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>UPSERT_ENABLED_DEFAULT</h4>
 <pre>public static final&nbsp;boolean UPSERT_ENABLED_DEFAULT</pre>
@@ -3125,21 +3151,6 @@
 </dl>
 </li>
 </ul>
-<a name="HMS_TABLE_OWNER">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>HMS_TABLE_OWNER</h4>
-<pre>@Deprecated
-public static final&nbsp;java.lang.String HMS_TABLE_OWNER</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0, use the HMS_TABLE_OWNER constant from HiveCatalog</span></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../constant-values.html#org.apache.iceberg.TableProperties.HMS_TABLE_OWNER">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/TableScan.html b/javadoc/org/apache/iceberg/TableScan.html
index a533160..5aa9749 100644
--- a/javadoc/org/apache/iceberg/TableScan.html
+++ b/javadoc/org/apache/iceberg/TableScan.html
@@ -187,7 +187,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg">Scan</a></h3>
-<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
+<code><a href="../../../org/apache/iceberg/Scan.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#filter--">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../org/apache/iceberg/Scan.html#ignoreResiduals--">ignoreResiduals</a>, <a href="../../../org/apache/iceberg/Scan.html#includeColumnStats--">includeColumnStats</a>, <a href="../../../org/apache/iceberg/Scan.html#isCaseSensitive--">isCaseSensitive</a>, <a href="../../../org/apache/iceberg/Scan.html#metricsReporter-org.apache.iceberg.metrics.MetricsReporter-">metricsReporter</a>, <a href="../../../org/apache/iceberg/Scan.html#option-java.lang.String-java.lang.String-">option</a>, <a href="../../../org/apache/iceberg/Scan.html#planFiles--">planFiles</a>, <a href="../../../org/apache/iceberg/Scan.html#planTasks--">planTasks</a>, <a href="../../../org/apache/iceberg/Scan.html#planWith-java.util.concurrent.ExecutorService-">planWith</a>, <a href="../../../org/apache/iceberg/Scan.html#project-org.apache.iceberg.Schema-">project</a>, <a href="../../../org/apache/iceberg/Scan.html#schema--">schema</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.util.Collection-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#select-java.lang.String...-">select</a>, <a href="../../../org/apache/iceberg/Scan.html#splitLookback--">splitLookback</a>, <a href="../../../org/apache/iceberg/Scan.html#splitOpenFileCost--">splitOpenFileCost</a>, <a href="../../../org/apache/iceberg/Scan.html#targetSplitSize--">targetSplitSize</a></code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/actions/Action.html b/javadoc/org/apache/iceberg/actions/Action.html
index 2d929fc..e440fcd 100644
--- a/javadoc/org/apache/iceberg/actions/Action.html
+++ b/javadoc/org/apache/iceberg/actions/Action.html
@@ -108,7 +108,7 @@
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/DeleteReachableFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteReachableFilesSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/ExpireSnapshotsSparkAction.html" title="class in org.apache.iceberg.spark.actions">ExpireSnapshotsSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/MigrateTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">MigrateTableSparkAction</a>, <a href="../../../../org/apache/iceberg/flink/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.flink.actions">RewriteDataFilesAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteDataFilesSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteManifestsSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">SnapshotTableSparkAction</a></dd>
+<dd><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteOrphanFilesSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/DeleteReachableFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteReachableFilesSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/ExpireSnapshotsSparkAction.html" title="class in org.apache.iceberg.spark.actions">ExpireSnapshotsSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/MigrateTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">MigrateTableSparkAction</a>, <a href="../../../../org/apache/iceberg/flink/actions/RewriteDataFilesAction.html" title="class in org.apache.iceberg.flink.actions">RewriteDataFilesAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteDataFilesSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteManifestsSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">SnapshotTableSparkAction</a></dd>
 </dl>
 <hr>
 <br>
diff --git a/javadoc/org/apache/iceberg/actions/ActionsProvider.html b/javadoc/org/apache/iceberg/actions/ActionsProvider.html
index e524020..2f13a49 100644
--- a/javadoc/org/apache/iceberg/actions/ActionsProvider.html
+++ b/javadoc/org/apache/iceberg/actions/ActionsProvider.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":18,"i1":18,"i2":18,"i3":18,"i4":18,"i5":18,"i6":18};
+var methods = {"i0":18,"i1":18,"i2":18,"i3":18,"i4":18,"i5":18,"i6":18,"i7":18};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -160,6 +160,12 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>default <a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/ActionsProvider.html#rewritePositionDeletes-org.apache.iceberg.Table-">rewritePositionDeletes</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code>
+<div class="block">Instantiates an action to rewrite position delete files</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions">SnapshotTable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/ActionsProvider.html#snapshotTable-java.lang.String-">snapshotTable</a></span>(java.lang.String&nbsp;sourceTableIdent)</code>
 <div class="block">Instantiates an action to snapshot an existing table as a new Iceberg table.</div>
@@ -243,13 +249,23 @@
 <a name="deleteReachableFiles-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>deleteReachableFiles</h4>
 <pre>default&nbsp;<a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles</a>&nbsp;deleteReachableFiles(java.lang.String&nbsp;metadataLocation)</pre>
 <div class="block">Instantiates an action to delete all the files reachable from given metadata location.</div>
 </li>
 </ul>
+<a name="rewritePositionDeletes-org.apache.iceberg.Table-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>rewritePositionDeletes</h4>
+<pre>default&nbsp;<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a>&nbsp;rewritePositionDeletes(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
+<div class="block">Instantiates an action to rewrite position delete files</div>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html b/javadoc/org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html
index 7814cab..c9d0b3d 100644
--- a/javadoc/org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html
+++ b/javadoc/org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -110,8 +110,13 @@
 <dd><a href="../../../../org/apache/iceberg/actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableDeleteOrphanFiles.Result.builder()</code>
+     instead.</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">BaseDeleteOrphanFilesActionResult</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">BaseDeleteOrphanFilesActionResult</span>
 extends java.lang.Object
 implements <a href="../../../../org/apache/iceberg/actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a></pre>
 </li>
@@ -132,7 +137,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html#BaseDeleteOrphanFilesActionResult-java.lang.Iterable-">BaseDeleteOrphanFilesActionResult</a></span>(java.lang.Iterable&lt;java.lang.String&gt;&nbsp;orphanFileLocations)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html#BaseDeleteOrphanFilesActionResult-java.lang.Iterable-">BaseDeleteOrphanFilesActionResult</a></span>(java.lang.Iterable&lt;java.lang.String&gt;&nbsp;orphanFileLocations)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -144,7 +151,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -152,6 +159,7 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html#orphanFileLocations--">orphanFileLocations</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns locations of orphan files.</div>
 </td>
 </tr>
@@ -184,6 +192,7 @@
 <li class="blockList">
 <h4>BaseDeleteOrphanFilesActionResult</h4>
 <pre>public&nbsp;BaseDeleteOrphanFilesActionResult(java.lang.Iterable&lt;java.lang.String&gt;&nbsp;orphanFileLocations)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -201,6 +210,7 @@
 <li class="blockList">
 <h4>orphanFileLocations</h4>
 <pre>public&nbsp;java.lang.Iterable&lt;java.lang.String&gt;&nbsp;orphanFileLocations()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/DeleteOrphanFiles.Result.html#orphanFileLocations--">DeleteOrphanFiles.Result</a></code></span></div>
 <div class="block">Returns locations of orphan files.</div>
 <dl>
diff --git a/javadoc/org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html b/javadoc/org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html
index 8ad9b89..9423d4c 100644
--- a/javadoc/org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html
+++ b/javadoc/org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" target="_top">Frames</a></li>
@@ -110,8 +110,13 @@
 <dd><a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles.Result</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableDeleteReachableFiles.Result.builder()</code>
+     instead.</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">BaseDeleteReachableFilesActionResult</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">BaseDeleteReachableFilesActionResult</span>
 extends java.lang.Object
 implements <a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles.Result</a></pre>
 </li>
@@ -135,7 +140,9 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#BaseDeleteReachableFilesActionResult-long-long-long-long-">BaseDeleteReachableFilesActionResult</a></span>(long&nbsp;deletedDataFilesCount,
                                     long&nbsp;deletedManifestsCount,
                                     long&nbsp;deletedManifestListsCount,
-                                    long&nbsp;otherDeletedFilesCount)</code>&nbsp;</td>
+                                    long&nbsp;otherDeletedFilesCount)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#BaseDeleteReachableFilesActionResult-long-long-long-long-long-long-">BaseDeleteReachableFilesActionResult</a></span>(long&nbsp;deletedDataFilesCount,
@@ -143,7 +150,9 @@
                                     long&nbsp;deletedEqDeleteFilesCount,
                                     long&nbsp;deletedManifestsCount,
                                     long&nbsp;deletedManifestListsCount,
-                                    long&nbsp;otherDeletedFilesCount)</code>&nbsp;</td>
+                                    long&nbsp;otherDeletedFilesCount)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -155,7 +164,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -163,36 +172,42 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedDataFilesCount--">deletedDataFilesCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the number of deleted data files.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedEqualityDeleteFilesCount--">deletedEqualityDeleteFilesCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the number of deleted equality delete files.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedManifestListsCount--">deletedManifestListsCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the number of deleted manifest lists.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedManifestsCount--">deletedManifestsCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the number of deleted manifests.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedOtherFilesCount--">deletedOtherFilesCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the number of deleted metadata json, version hint files.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html#deletedPositionDeleteFilesCount--">deletedPositionDeleteFilesCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the number of deleted position delete files.</div>
 </td>
 </tr>
@@ -228,6 +243,7 @@
                                             long&nbsp;deletedManifestsCount,
                                             long&nbsp;deletedManifestListsCount,
                                             long&nbsp;otherDeletedFilesCount)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="BaseDeleteReachableFilesActionResult-long-long-long-long-long-long-">
@@ -242,6 +258,7 @@
                                             long&nbsp;deletedManifestsCount,
                                             long&nbsp;deletedManifestListsCount,
                                             long&nbsp;otherDeletedFilesCount)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -259,6 +276,7 @@
 <li class="blockList">
 <h4>deletedDataFilesCount</h4>
 <pre>public&nbsp;long&nbsp;deletedDataFilesCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html#deletedDataFilesCount--">DeleteReachableFiles.Result</a></code></span></div>
 <div class="block">Returns the number of deleted data files.</div>
 <dl>
@@ -274,6 +292,7 @@
 <li class="blockList">
 <h4>deletedPositionDeleteFilesCount</h4>
 <pre>public&nbsp;long&nbsp;deletedPositionDeleteFilesCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html#deletedPositionDeleteFilesCount--">DeleteReachableFiles.Result</a></code></span></div>
 <div class="block">Returns the number of deleted position delete files.</div>
 <dl>
@@ -289,6 +308,7 @@
 <li class="blockList">
 <h4>deletedEqualityDeleteFilesCount</h4>
 <pre>public&nbsp;long&nbsp;deletedEqualityDeleteFilesCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html#deletedEqualityDeleteFilesCount--">DeleteReachableFiles.Result</a></code></span></div>
 <div class="block">Returns the number of deleted equality delete files.</div>
 <dl>
@@ -304,6 +324,7 @@
 <li class="blockList">
 <h4>deletedManifestsCount</h4>
 <pre>public&nbsp;long&nbsp;deletedManifestsCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html#deletedManifestsCount--">DeleteReachableFiles.Result</a></code></span></div>
 <div class="block">Returns the number of deleted manifests.</div>
 <dl>
@@ -319,6 +340,7 @@
 <li class="blockList">
 <h4>deletedManifestListsCount</h4>
 <pre>public&nbsp;long&nbsp;deletedManifestListsCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html#deletedManifestListsCount--">DeleteReachableFiles.Result</a></code></span></div>
 <div class="block">Returns the number of deleted manifest lists.</div>
 <dl>
@@ -334,6 +356,7 @@
 <li class="blockList">
 <h4>deletedOtherFilesCount</h4>
 <pre>public&nbsp;long&nbsp;deletedOtherFilesCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html#deletedOtherFilesCount--">DeleteReachableFiles.Result</a></code></span></div>
 <div class="block">Returns the number of deleted metadata json, version hint files.</div>
 <dl>
@@ -370,7 +393,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html b/javadoc/org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html
deleted file mode 100644
index a788258..0000000
--- a/javadoc/org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html
+++ /dev/null
@@ -1,416 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>BaseExpireSnapshotsActionResult</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BaseExpireSnapshotsActionResult";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" target="_top">Frames</a></li>
-<li><a href="BaseExpireSnapshotsActionResult.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.iceberg.actions</div>
-<h2 title="Class BaseExpireSnapshotsActionResult" class="title">Class BaseExpireSnapshotsActionResult</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.iceberg.actions.BaseExpireSnapshotsActionResult</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a></dd>
-</dl>
-<hr>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0.</span></div>
-</div>
-<br>
-<pre>@Deprecated
-public class <span class="typeNameLabel">BaseExpireSnapshotsActionResult</span>
-extends java.lang.Object
-implements <a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#BaseExpireSnapshotsActionResult-long-long-long-">BaseExpireSnapshotsActionResult</a></span>(long&nbsp;deletedDataFilesCount,
-                               long&nbsp;deletedManifestsCount,
-                               long&nbsp;deletedManifestListsCount)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#BaseExpireSnapshotsActionResult-long-long-long-long-long-">BaseExpireSnapshotsActionResult</a></span>(long&nbsp;deletedDataFilesCount,
-                               long&nbsp;deletedPosDeleteFilesCount,
-                               long&nbsp;deletedEqDeleteFilesCount,
-                               long&nbsp;deletedManifestsCount,
-                               long&nbsp;deletedManifestListsCount)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedDataFilesCount--">deletedDataFilesCount</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block">Returns the number of deleted data files.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedEqualityDeleteFilesCount--">deletedEqualityDeleteFilesCount</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block">Returns the number of deleted equality delete files.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedManifestListsCount--">deletedManifestListsCount</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block">Returns the number of deleted manifest lists.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedManifestsCount--">deletedManifestsCount</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block">Returns the number of deleted manifests.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html#deletedPositionDeleteFilesCount--">deletedPositionDeleteFilesCount</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block">Returns the number of deleted position delete files.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.actions.ExpireSnapshots.Result">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a></h3>
-<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedStatisticsFilesCount--">deletedStatisticsFilesCount</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="BaseExpireSnapshotsActionResult-long-long-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>BaseExpireSnapshotsActionResult</h4>
-<pre>public&nbsp;BaseExpireSnapshotsActionResult(long&nbsp;deletedDataFilesCount,
-                                       long&nbsp;deletedManifestsCount,
-                                       long&nbsp;deletedManifestListsCount)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</li>
-</ul>
-<a name="BaseExpireSnapshotsActionResult-long-long-long-long-long-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>BaseExpireSnapshotsActionResult</h4>
-<pre>public&nbsp;BaseExpireSnapshotsActionResult(long&nbsp;deletedDataFilesCount,
-                                       long&nbsp;deletedPosDeleteFilesCount,
-                                       long&nbsp;deletedEqDeleteFilesCount,
-                                       long&nbsp;deletedManifestsCount,
-                                       long&nbsp;deletedManifestListsCount)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="deletedDataFilesCount--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>deletedDataFilesCount</h4>
-<pre>public&nbsp;long&nbsp;deletedDataFilesCount()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedDataFilesCount--">ExpireSnapshots.Result</a></code></span></div>
-<div class="block">Returns the number of deleted data files.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedDataFilesCount--">deletedDataFilesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="deletedPositionDeleteFilesCount--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>deletedPositionDeleteFilesCount</h4>
-<pre>public&nbsp;long&nbsp;deletedPositionDeleteFilesCount()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedPositionDeleteFilesCount--">ExpireSnapshots.Result</a></code></span></div>
-<div class="block">Returns the number of deleted position delete files.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedPositionDeleteFilesCount--">deletedPositionDeleteFilesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="deletedEqualityDeleteFilesCount--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>deletedEqualityDeleteFilesCount</h4>
-<pre>public&nbsp;long&nbsp;deletedEqualityDeleteFilesCount()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedEqualityDeleteFilesCount--">ExpireSnapshots.Result</a></code></span></div>
-<div class="block">Returns the number of deleted equality delete files.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedEqualityDeleteFilesCount--">deletedEqualityDeleteFilesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="deletedManifestsCount--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>deletedManifestsCount</h4>
-<pre>public&nbsp;long&nbsp;deletedManifestsCount()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedManifestsCount--">ExpireSnapshots.Result</a></code></span></div>
-<div class="block">Returns the number of deleted manifests.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedManifestsCount--">deletedManifestsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="deletedManifestListsCount--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>deletedManifestListsCount</h4>
-<pre>public&nbsp;long&nbsp;deletedManifestListsCount()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedManifestListsCount--">ExpireSnapshots.Result</a></code></span></div>
-<div class="block">Returns the number of deleted manifest lists.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html#deletedManifestListsCount--">deletedManifestListsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" target="_top">Frames</a></li>
-<li><a href="BaseExpireSnapshotsActionResult.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/iceberg/actions/BaseFileGroupRewriteResult.html b/javadoc/org/apache/iceberg/actions/BaseFileGroupRewriteResult.html
index 8d71812..987044f 100644
--- a/javadoc/org/apache/iceberg/actions/BaseFileGroupRewriteResult.html
+++ b/javadoc/org/apache/iceberg/actions/BaseFileGroupRewriteResult.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -110,8 +110,12 @@
 <dd><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.FileGroupRewriteResult.builder()</code> instead.</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">BaseFileGroupRewriteResult</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">BaseFileGroupRewriteResult</span>
 extends java.lang.Object
 implements <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></pre>
 </li>
@@ -135,17 +139,16 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#BaseFileGroupRewriteResult-org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo-int-int-">BaseFileGroupRewriteResult</a></span>(<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a>&nbsp;info,
                           int&nbsp;addedFilesCount,
                           int&nbsp;rewrittenFilesCount)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">Will be removed in 1.3.0; use <code>BaseFileGroupRewriteResult#BaseFileGroupRewriteResult(FileGroupInfo, int, int, long)</code>
-     instead.</span></div>
-</div>
-</td>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#BaseFileGroupRewriteResult-org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo-int-int-long-">BaseFileGroupRewriteResult</a></span>(<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a>&nbsp;info,
                           int&nbsp;addedFilesCount,
                           int&nbsp;rewrittenFilesCount,
-                          long&nbsp;rewrittenBytesCount)</code>&nbsp;</td>
+                          long&nbsp;rewrittenBytesCount)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -157,26 +160,34 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#addedDataFilesCount--">addedDataFilesCount</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#addedDataFilesCount--">addedDataFilesCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#info--">info</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#info--">info</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#rewrittenBytesCount--">rewrittenBytesCount</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#rewrittenBytesCount--">rewrittenBytesCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#rewrittenDataFilesCount--">rewrittenDataFilesCount</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html#rewrittenDataFilesCount--">rewrittenDataFilesCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -206,12 +217,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>BaseFileGroupRewriteResult</h4>
-<pre>@Deprecated
-public&nbsp;BaseFileGroupRewriteResult(<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a>&nbsp;info,
-                                              int&nbsp;addedFilesCount,
-                                              int&nbsp;rewrittenFilesCount)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Will be removed in 1.3.0; use <code>BaseFileGroupRewriteResult#BaseFileGroupRewriteResult(FileGroupInfo, int, int, long)</code>
-     instead.</span></div>
+<pre>public&nbsp;BaseFileGroupRewriteResult(<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a>&nbsp;info,
+                                  int&nbsp;addedFilesCount,
+                                  int&nbsp;rewrittenFilesCount)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="BaseFileGroupRewriteResult-org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo-int-int-long-">
@@ -224,6 +233,7 @@
                                   int&nbsp;addedFilesCount,
                                   int&nbsp;rewrittenFilesCount,
                                   long&nbsp;rewrittenBytesCount)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -241,6 +251,7 @@
 <li class="blockList">
 <h4>info</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a>&nbsp;info()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html#info--">info</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></code></dd>
@@ -254,6 +265,7 @@
 <li class="blockList">
 <h4>addedDataFilesCount</h4>
 <pre>public&nbsp;int&nbsp;addedDataFilesCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html#addedDataFilesCount--">addedDataFilesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></code></dd>
@@ -267,6 +279,7 @@
 <li class="blockList">
 <h4>rewrittenDataFilesCount</h4>
 <pre>public&nbsp;int&nbsp;rewrittenDataFilesCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html#rewrittenDataFilesCount--">rewrittenDataFilesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></code></dd>
@@ -280,6 +293,7 @@
 <li class="blockList">
 <h4>rewrittenBytesCount</h4>
 <pre>public&nbsp;long&nbsp;rewrittenBytesCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html#rewrittenBytesCount--">rewrittenBytesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></code></dd>
@@ -313,7 +327,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/actions/BaseMigrateTableActionResult.html b/javadoc/org/apache/iceberg/actions/BaseMigrateTableActionResult.html
index a3d6cb6..636f353 100644
--- a/javadoc/org/apache/iceberg/actions/BaseMigrateTableActionResult.html
+++ b/javadoc/org/apache/iceberg/actions/BaseMigrateTableActionResult.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -110,8 +110,12 @@
 <dd><a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions">MigrateTable.Result</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableMigrateTable.Result.builder()</code> instead.</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">BaseMigrateTableActionResult</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">BaseMigrateTableActionResult</span>
 extends java.lang.Object
 implements <a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions">MigrateTable.Result</a></pre>
 </li>
@@ -132,7 +136,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseMigrateTableActionResult.html#BaseMigrateTableActionResult-long-">BaseMigrateTableActionResult</a></span>(long&nbsp;migratedDataFilesCount)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseMigrateTableActionResult.html#BaseMigrateTableActionResult-long-">BaseMigrateTableActionResult</a></span>(long&nbsp;migratedDataFilesCount)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -144,7 +150,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -152,6 +158,7 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseMigrateTableActionResult.html#migratedDataFilesCount--">migratedDataFilesCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the number of migrated data files.</div>
 </td>
 </tr>
@@ -184,6 +191,7 @@
 <li class="blockList">
 <h4>BaseMigrateTableActionResult</h4>
 <pre>public&nbsp;BaseMigrateTableActionResult(long&nbsp;migratedDataFilesCount)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -201,6 +209,7 @@
 <li class="blockList">
 <h4>migratedDataFilesCount</h4>
 <pre>public&nbsp;long&nbsp;migratedDataFilesCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html#migratedDataFilesCount--">MigrateTable.Result</a></code></span></div>
 <div class="block">Returns the number of migrated data files.</div>
 <dl>
diff --git a/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesAction.html b/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesAction.html
index 44626f3..673bd30 100644
--- a/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesAction.html
+++ b/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesAction.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":6,"i6":10,"i7":10,"i8":10,"i9":10,"i10":6,"i11":6,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":6,"i6":10,"i7":10,"i8":10,"i9":10,"i10":6,"i11":6,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -242,6 +242,13 @@
 <div class="block">Specify the target rewrite data file size in bytes</div>
 </td>
 </tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a>&lt;<a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="type parameter in BaseRewriteDataFilesAction">ThisT</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#useStartingSequenceNumber-boolean-">useStartingSequenceNumber</a></span>(boolean&nbsp;useStarting)</code>
+<div class="block">If the compaction should use the sequence number of the snapshot at compaction start time for
+ new data files, instead of using the sequence number of the newly produced snapshot.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -431,6 +438,26 @@
 </dl>
 </li>
 </ul>
+<a name="useStartingSequenceNumber-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>useStartingSequenceNumber</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a>&lt;<a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="type parameter in BaseRewriteDataFilesAction">ThisT</a>&gt;&nbsp;useStartingSequenceNumber(boolean&nbsp;useStarting)</pre>
+<div class="block">If the compaction should use the sequence number of the snapshot at compaction start time for
+ new data files, instead of using the sequence number of the newly produced snapshot.
+
+ <p>This avoids commit conflicts with updates that add newer equality deletes at a higher
+ sequence number.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>useStarting</code> - use starting sequence number if set to true</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this for method chaining</dd>
+</dl>
+</li>
+</ul>
 <a name="execute--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html b/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html
index d5b706f..e206957 100644
--- a/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html
+++ b/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -110,8 +110,12 @@
 <dd><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.FileGroupInfo.builder()</code> instead.</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">BaseRewriteDataFilesFileGroupInfo</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">BaseRewriteDataFilesFileGroupInfo</span>
 extends java.lang.Object
 implements <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></pre>
 </li>
@@ -134,7 +138,9 @@
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#BaseRewriteDataFilesFileGroupInfo-int-int-org.apache.iceberg.StructLike-">BaseRewriteDataFilesFileGroupInfo</a></span>(int&nbsp;globalIndex,
                                  int&nbsp;partitionIndex,
-                                 <a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition)</code>&nbsp;</td>
+                                 <a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -146,7 +152,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -154,24 +160,29 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#globalIndex--">globalIndex</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">returns which file group this is out of the total set of file groups for this rewrite</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#partition--">partition</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">returns which partition this file group contains files from</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#partitionIndex--">partitionIndex</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">returns which file group this is out of the set of file groups for this partition</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#toString--">toString</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html#toString--">toString</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -204,6 +215,7 @@
 <pre>public&nbsp;BaseRewriteDataFilesFileGroupInfo(int&nbsp;globalIndex,
                                          int&nbsp;partitionIndex,
                                          <a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -221,6 +233,7 @@
 <li class="blockList">
 <h4>globalIndex</h4>
 <pre>public&nbsp;int&nbsp;globalIndex()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html#globalIndex--">RewriteDataFiles.FileGroupInfo</a></code></span></div>
 <div class="block">returns which file group this is out of the total set of file groups for this rewrite</div>
 <dl>
@@ -236,6 +249,7 @@
 <li class="blockList">
 <h4>partitionIndex</h4>
 <pre>public&nbsp;int&nbsp;partitionIndex()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html#partitionIndex--">RewriteDataFiles.FileGroupInfo</a></code></span></div>
 <div class="block">returns which file group this is out of the set of file groups for this partition</div>
 <dl>
@@ -251,6 +265,7 @@
 <li class="blockList">
 <h4>partition</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html#partition--">RewriteDataFiles.FileGroupInfo</a></code></span></div>
 <div class="block">returns which partition this file group contains files from</div>
 <dl>
@@ -266,6 +281,7 @@
 <li class="blockList">
 <h4>toString</h4>
 <pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
diff --git a/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesResult.html b/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesResult.html
index 26ef131..76415fb 100644
--- a/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesResult.html
+++ b/javadoc/org/apache/iceberg/actions/BaseRewriteDataFilesResult.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -110,8 +110,13 @@
 <dd><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.Result.builder()</code>
+     instead.</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">BaseRewriteDataFilesResult</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">BaseRewriteDataFilesResult</span>
 extends java.lang.Object
 implements <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></pre>
 </li>
@@ -132,7 +137,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesResult.html#BaseRewriteDataFilesResult-java.util.List-">BaseRewriteDataFilesResult</a></span>(java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>&gt;&nbsp;rewriteResults)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesResult.html#BaseRewriteDataFilesResult-java.util.List-">BaseRewriteDataFilesResult</a></span>(java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>&gt;&nbsp;rewriteResults)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -144,14 +151,16 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesResult.html#rewriteResults--">rewriteResults</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesResult.html#rewriteResults--">rewriteResults</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -166,7 +175,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></h3>
-<code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#addedDataFilesCount--">addedDataFilesCount</a>, <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewrittenBytesCount--">rewrittenBytesCount</a>, <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewrittenDataFilesCount--">rewrittenDataFilesCount</a></code></li>
+<code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#addedDataFilesCount--">addedDataFilesCount</a>, <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#failedDataFilesCount--">failedDataFilesCount</a>, <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewriteFailures--">rewriteFailures</a>, <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewrittenBytesCount--">rewrittenBytesCount</a>, <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewrittenDataFilesCount--">rewrittenDataFilesCount</a></code></li>
 </ul>
 </li>
 </ul>
@@ -189,6 +198,7 @@
 <li class="blockList">
 <h4>BaseRewriteDataFilesResult</h4>
 <pre>public&nbsp;BaseRewriteDataFilesResult(java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>&gt;&nbsp;rewriteResults)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -206,6 +216,7 @@
 <li class="blockList">
 <h4>rewriteResults</h4>
 <pre>public&nbsp;java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>&gt;&nbsp;rewriteResults()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewriteResults--">rewriteResults</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></code></dd>
diff --git a/javadoc/org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html b/javadoc/org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html
index d05d81b..e8cdd78 100644
--- a/javadoc/org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html
+++ b/javadoc/org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42,"i1":41,"i2":42};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -110,8 +110,13 @@
 <dd><a href="../../../../org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions">RewriteManifests.Result</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteManifests.Result.builder()</code>
+     instead.</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">BaseRewriteManifestsActionResult</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">BaseRewriteManifestsActionResult</span>
 extends java.lang.Object
 implements <a href="../../../../org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions">RewriteManifests.Result</a></pre>
 </li>
@@ -133,7 +138,9 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html#BaseRewriteManifestsActionResult-java.lang.Iterable-java.lang.Iterable-">BaseRewriteManifestsActionResult</a></span>(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;rewrittenManifests,
-                                java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;addedManifests)</code>&nbsp;</td>
+                                java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;addedManifests)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -145,7 +152,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -153,16 +160,20 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html#addedManifests--">addedManifests</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns added manifests.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions">RewriteManifests.Result</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html#empty--">empty</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html#empty--">empty</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html#rewrittenManifests--">rewrittenManifests</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns rewritten manifests.</div>
 </td>
 </tr>
@@ -196,6 +207,7 @@
 <h4>BaseRewriteManifestsActionResult</h4>
 <pre>public&nbsp;BaseRewriteManifestsActionResult(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;rewrittenManifests,
                                         java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;addedManifests)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -213,6 +225,7 @@
 <li class="blockList">
 <h4>empty</h4>
 <pre>public static&nbsp;<a href="../../../../org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions">RewriteManifests.Result</a>&nbsp;empty()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="rewrittenManifests--">
@@ -222,6 +235,7 @@
 <li class="blockList">
 <h4>rewrittenManifests</h4>
 <pre>public&nbsp;java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;rewrittenManifests()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteManifests.Result.html#rewrittenManifests--">RewriteManifests.Result</a></code></span></div>
 <div class="block">Returns rewritten manifests.</div>
 <dl>
@@ -237,6 +251,7 @@
 <li class="blockList">
 <h4>addedManifests</h4>
 <pre>public&nbsp;java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg">ManifestFile</a>&gt;&nbsp;addedManifests()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteManifests.Result.html#addedManifests--">RewriteManifests.Result</a></code></span></div>
 <div class="block">Returns added manifests.</div>
 <dl>
diff --git a/javadoc/org/apache/iceberg/actions/BaseSnapshotTableActionResult.html b/javadoc/org/apache/iceberg/actions/BaseSnapshotTableActionResult.html
index 834d2bb..407c7dc 100644
--- a/javadoc/org/apache/iceberg/actions/BaseSnapshotTableActionResult.html
+++ b/javadoc/org/apache/iceberg/actions/BaseSnapshotTableActionResult.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -110,8 +110,13 @@
 <dd><a href="../../../../org/apache/iceberg/actions/SnapshotTable.Result.html" title="interface in org.apache.iceberg.actions">SnapshotTable.Result</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableSnapshotTable.Result.builder()</code>
+     instead.</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">BaseSnapshotTableActionResult</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">BaseSnapshotTableActionResult</span>
 extends java.lang.Object
 implements <a href="../../../../org/apache/iceberg/actions/SnapshotTable.Result.html" title="interface in org.apache.iceberg.actions">SnapshotTable.Result</a></pre>
 </li>
@@ -132,7 +137,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseSnapshotTableActionResult.html#BaseSnapshotTableActionResult-long-">BaseSnapshotTableActionResult</a></span>(long&nbsp;importedDataFilesCount)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseSnapshotTableActionResult.html#BaseSnapshotTableActionResult-long-">BaseSnapshotTableActionResult</a></span>(long&nbsp;importedDataFilesCount)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -144,7 +151,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -152,6 +159,7 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BaseSnapshotTableActionResult.html#importedDataFilesCount--">importedDataFilesCount</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the number of imported data files.</div>
 </td>
 </tr>
@@ -184,6 +192,7 @@
 <li class="blockList">
 <h4>BaseSnapshotTableActionResult</h4>
 <pre>public&nbsp;BaseSnapshotTableActionResult(long&nbsp;importedDataFilesCount)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -201,6 +210,7 @@
 <li class="blockList">
 <h4>importedDataFilesCount</h4>
 <pre>public&nbsp;long&nbsp;importedDataFilesCount()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/SnapshotTable.Result.html#importedDataFilesCount--">SnapshotTable.Result</a></code></span></div>
 <div class="block">Returns the number of imported data files.</div>
 <dl>
diff --git a/javadoc/org/apache/iceberg/actions/BinPackStrategy.html b/javadoc/org/apache/iceberg/actions/BinPackStrategy.html
index be91272..7f207a9 100644
--- a/javadoc/org/apache/iceberg/actions/BinPackStrategy.html
+++ b/javadoc/org/apache/iceberg/actions/BinPackStrategy.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -111,11 +111,15 @@
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a>, <a href="../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkBinPackStrategy</a></dd>
+<dd><a href="../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../../org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead.</span></div>
+</div>
 <br>
-<pre>public abstract class <span class="typeNameLabel">BinPackStrategy</span>
+<pre>@Deprecated
+public abstract class <span class="typeNameLabel">BinPackStrategy</span>
 extends java.lang.Object
 implements <a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></pre>
 <div class="block">A rewrite strategy for data files which determines which files to rewrite based on their size. If
@@ -149,54 +153,69 @@
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD">DELETE_FILE_THRESHOLD</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">The minimum number of deletes that needs to be associated with a data file for it to be
  considered for rewriting.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD_DEFAULT">DELETE_FILE_THRESHOLD_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD_DEFAULT">DELETE_FILE_THRESHOLD_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_BYTES">MAX_FILE_SIZE_BYTES</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Adjusts files which will be considered for rewriting.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_DEFAULT_RATIO">MAX_FILE_SIZE_DEFAULT_RATIO</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_DEFAULT_RATIO">MAX_FILE_SIZE_DEFAULT_RATIO</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_BYTES">MIN_FILE_SIZE_BYTES</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Adjusts files which will be considered for rewriting.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_DEFAULT_RATIO">MIN_FILE_SIZE_DEFAULT_RATIO</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_DEFAULT_RATIO">MIN_FILE_SIZE_DEFAULT_RATIO</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES">MIN_INPUT_FILES</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">The minimum number of files that need to be in a file group for it to be considered for
  compaction if the total size of that group is less than the <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#TARGET_FILE_SIZE_BYTES"><code>RewriteDataFiles.TARGET_FILE_SIZE_BYTES</code></a>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES_DEFAULT">MIN_INPUT_FILES_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES_DEFAULT">MIN_INPUT_FILES_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL">REWRITE_ALL</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Rewrites all files, regardless of their size.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL_DEFAULT">REWRITE_ALL_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL_DEFAULT">REWRITE_ALL_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -213,7 +232,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#BinPackStrategy--">BinPackStrategy</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#BinPackStrategy--">BinPackStrategy</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -225,65 +246,77 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>protected long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#inputFileSize-java.util.List-">inputFileSize</a></span>(java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;fileToRewrite)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#inputFileSize-java.util.List-">inputFileSize</a></span>(java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;fileToRewrite)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#name--">name</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the name of this rewrite strategy</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#numOutputFiles-long-">numOutputFiles</a></span>(long&nbsp;totalSizeInBytes)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Determine how many output files to create when rewriting.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#options-java.util.Map-">options</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets options to be used with this strategy</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#planFileGroups-java.lang.Iterable-">planFileGroups</a></span>(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;dataFiles)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Groups file scans into lists which will be processed in a single executable unit.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#selectFilesToRewrite-java.lang.Iterable-">selectFilesToRewrite</a></span>(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;dataFiles)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Selects files which this strategy believes are valid targets to be rewritten.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#splitSize-long-">splitSize</a></span>(long&nbsp;totalSizeInBytes)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the smallest of our max write file threshold, and our estimated split size based on the
  number of output files we want to generate.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#targetFileSize--">targetFileSize</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#targetFileSize--">targetFileSize</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#validOptions--">validOptions</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns a set of options which this rewrite strategy can use.</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#writeMaxFileSize--">writeMaxFileSize</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Estimates a larger max target file size than our target size used in task creation to avoid
  tasks which are predicted to have a certain size, but exceed that target size when serde is
  complete creating tiny remainder files.</div>
@@ -325,6 +358,7 @@
 <li class="blockList">
 <h4>MIN_INPUT_FILES</h4>
 <pre>public static final&nbsp;java.lang.String MIN_INPUT_FILES</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">The minimum number of files that need to be in a file group for it to be considered for
  compaction if the total size of that group is less than the <a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html#TARGET_FILE_SIZE_BYTES"><code>RewriteDataFiles.TARGET_FILE_SIZE_BYTES</code></a>. This can also be thought of as the maximum number of
  non-target-size files that could remain in a file group (partition) after rewriting.</div>
@@ -341,6 +375,7 @@
 <li class="blockList">
 <h4>MIN_INPUT_FILES_DEFAULT</h4>
 <pre>public static final&nbsp;int MIN_INPUT_FILES_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.BinPackStrategy.MIN_INPUT_FILES_DEFAULT">Constant Field Values</a></dd>
@@ -354,6 +389,7 @@
 <li class="blockList">
 <h4>MIN_FILE_SIZE_BYTES</h4>
 <pre>public static final&nbsp;java.lang.String MIN_FILE_SIZE_BYTES</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Adjusts files which will be considered for rewriting. Files smaller than <a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_BYTES"><code>MIN_FILE_SIZE_BYTES</code></a> will be considered for rewriting. This functions independently of <a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_BYTES"><code>MAX_FILE_SIZE_BYTES</code></a>.
 
  <p>Defaults to 75% of the target file size</div>
@@ -370,6 +406,7 @@
 <li class="blockList">
 <h4>MIN_FILE_SIZE_DEFAULT_RATIO</h4>
 <pre>public static final&nbsp;double MIN_FILE_SIZE_DEFAULT_RATIO</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.BinPackStrategy.MIN_FILE_SIZE_DEFAULT_RATIO">Constant Field Values</a></dd>
@@ -383,6 +420,7 @@
 <li class="blockList">
 <h4>MAX_FILE_SIZE_BYTES</h4>
 <pre>public static final&nbsp;java.lang.String MAX_FILE_SIZE_BYTES</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Adjusts files which will be considered for rewriting. Files larger than <a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_BYTES"><code>MAX_FILE_SIZE_BYTES</code></a> will be considered for rewriting. This functions independently of <a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_BYTES"><code>MIN_FILE_SIZE_BYTES</code></a>.
 
  <p>Defaults to 180% of the target file size</div>
@@ -399,6 +437,7 @@
 <li class="blockList">
 <h4>MAX_FILE_SIZE_DEFAULT_RATIO</h4>
 <pre>public static final&nbsp;double MAX_FILE_SIZE_DEFAULT_RATIO</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.BinPackStrategy.MAX_FILE_SIZE_DEFAULT_RATIO">Constant Field Values</a></dd>
@@ -412,6 +451,7 @@
 <li class="blockList">
 <h4>DELETE_FILE_THRESHOLD</h4>
 <pre>public static final&nbsp;java.lang.String DELETE_FILE_THRESHOLD</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">The minimum number of deletes that needs to be associated with a data file for it to be
  considered for rewriting. If a data file has this number of deletes or more, it will be
  rewritten regardless of its file size determined by <a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_BYTES"><code>MIN_FILE_SIZE_BYTES</code></a> and <a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_BYTES"><code>MAX_FILE_SIZE_BYTES</code></a>. If a file group contains a file that satisfies this condition, the file
@@ -432,6 +472,7 @@
 <li class="blockList">
 <h4>DELETE_FILE_THRESHOLD_DEFAULT</h4>
 <pre>public static final&nbsp;int DELETE_FILE_THRESHOLD_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.BinPackStrategy.DELETE_FILE_THRESHOLD_DEFAULT">Constant Field Values</a></dd>
@@ -445,6 +486,7 @@
 <li class="blockList">
 <h4>REWRITE_ALL</h4>
 <pre>public static final&nbsp;java.lang.String REWRITE_ALL</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Rewrites all files, regardless of their size. Defaults to false, rewriting only mis-sized
  files;</div>
 <dl>
@@ -460,6 +502,7 @@
 <li class="blockList">
 <h4>REWRITE_ALL_DEFAULT</h4>
 <pre>public static final&nbsp;boolean REWRITE_ALL_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.BinPackStrategy.REWRITE_ALL_DEFAULT">Constant Field Values</a></dd>
@@ -481,6 +524,7 @@
 <li class="blockList">
 <h4>BinPackStrategy</h4>
 <pre>public&nbsp;BinPackStrategy()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -498,6 +542,7 @@
 <li class="blockList">
 <h4>name</h4>
 <pre>public&nbsp;java.lang.String&nbsp;name()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#name--">RewriteStrategy</a></code></span></div>
 <div class="block">Returns the name of this rewrite strategy</div>
 <dl>
@@ -513,6 +558,7 @@
 <li class="blockList">
 <h4>validOptions</h4>
 <pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;validOptions()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#validOptions--">RewriteStrategy</a></code></span></div>
 <div class="block">Returns a set of options which this rewrite strategy can use. This is an allowed-list and any
  options not specified here will be rejected at runtime.</div>
@@ -529,6 +575,7 @@
 <li class="blockList">
 <h4>options</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a>&nbsp;options(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#options-java.util.Map-">RewriteStrategy</a></code></span></div>
 <div class="block">Sets options to be used with this strategy</div>
 <dl>
@@ -544,6 +591,7 @@
 <li class="blockList">
 <h4>selectFilesToRewrite</h4>
 <pre>public&nbsp;java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;selectFilesToRewrite(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;dataFiles)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#selectFilesToRewrite-java.lang.Iterable-">RewriteStrategy</a></code></span></div>
 <div class="block">Selects files which this strategy believes are valid targets to be rewritten.</div>
 <dl>
@@ -563,6 +611,7 @@
 <li class="blockList">
 <h4>planFileGroups</h4>
 <pre>public&nbsp;java.lang.Iterable&lt;java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&gt;&nbsp;planFileGroups(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;dataFiles)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#planFileGroups-java.lang.Iterable-">RewriteStrategy</a></code></span></div>
 <div class="block">Groups file scans into lists which will be processed in a single executable unit. Each group
  will end up being committed as an independent set of changes. This creates the jobs which will
@@ -584,6 +633,7 @@
 <li class="blockList">
 <h4>targetFileSize</h4>
 <pre>protected&nbsp;long&nbsp;targetFileSize()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="numOutputFiles-long-">
@@ -593,6 +643,7 @@
 <li class="blockList">
 <h4>numOutputFiles</h4>
 <pre>protected&nbsp;long&nbsp;numOutputFiles(long&nbsp;totalSizeInBytes)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Determine how many output files to create when rewriting. We use this to determine the
  split-size we want to use when actually writing files to avoid the following situation.
 
@@ -617,6 +668,7 @@
 <li class="blockList">
 <h4>splitSize</h4>
 <pre>protected&nbsp;long&nbsp;splitSize(long&nbsp;totalSizeInBytes)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the smallest of our max write file threshold, and our estimated split size based on the
  number of output files we want to generate. Add a overhead onto the estimated splitSize to try
  to avoid small errors in size creating brand-new files.</div>
@@ -629,6 +681,7 @@
 <li class="blockList">
 <h4>inputFileSize</h4>
 <pre>protected&nbsp;long&nbsp;inputFileSize(java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;fileToRewrite)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="writeMaxFileSize--">
@@ -638,6 +691,7 @@
 <li class="blockList">
 <h4>writeMaxFileSize</h4>
 <pre>protected&nbsp;long&nbsp;writeMaxFileSize()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Estimates a larger max target file size than our target size used in task creation to avoid
  tasks which are predicted to have a certain size, but exceed that target size when serde is
  complete creating tiny remainder files.
diff --git a/javadoc/org/apache/iceberg/actions/DeleteOrphanFiles.Result.html b/javadoc/org/apache/iceberg/actions/DeleteOrphanFiles.Result.html
index 11a035f..3849bd9 100644
--- a/javadoc/org/apache/iceberg/actions/DeleteOrphanFiles.Result.html
+++ b/javadoc/org/apache/iceberg/actions/DeleteOrphanFiles.Result.html
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <span class="typeNameLabel">DeleteOrphanFiles.Result</span></pre>
+<pre>@Value.Immutable
+public static interface <span class="typeNameLabel">DeleteOrphanFiles.Result</span></pre>
 <div class="block">The action result that contains a summary of the execution.</div>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/actions/DeleteOrphanFiles.html b/javadoc/org/apache/iceberg/actions/DeleteOrphanFiles.html
index c46bcfe..5e839d8 100644
--- a/javadoc/org/apache/iceberg/actions/DeleteOrphanFiles.html
+++ b/javadoc/org/apache/iceberg/actions/DeleteOrphanFiles.html
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">DeleteOrphanFiles</span>
+<pre>@Value.Enclosing
+public interface <span class="typeNameLabel">DeleteOrphanFiles</span>
 extends <a href="../../../../org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a>&lt;<a href="../../../../org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a>,<a href="../../../../org/apache/iceberg/actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a>&gt;</pre>
 <div class="block">An action that deletes orphan metadata, data and delete files in a table.
 
diff --git a/javadoc/org/apache/iceberg/actions/DeleteReachableFiles.Result.html b/javadoc/org/apache/iceberg/actions/DeleteReachableFiles.Result.html
index 9a36ed5..2d01b9d 100644
--- a/javadoc/org/apache/iceberg/actions/DeleteReachableFiles.Result.html
+++ b/javadoc/org/apache/iceberg/actions/DeleteReachableFiles.Result.html
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <span class="typeNameLabel">DeleteReachableFiles.Result</span></pre>
+<pre>@Value.Immutable
+public static interface <span class="typeNameLabel">DeleteReachableFiles.Result</span></pre>
 <div class="block">The action result that contains a summary of the execution.</div>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/actions/DeleteReachableFiles.html b/javadoc/org/apache/iceberg/actions/DeleteReachableFiles.html
index cbbd6fc..23dec2e 100644
--- a/javadoc/org/apache/iceberg/actions/DeleteReachableFiles.html
+++ b/javadoc/org/apache/iceberg/actions/DeleteReachableFiles.html
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">DeleteReachableFiles</span>
+<pre>@Value.Enclosing
+public interface <span class="typeNameLabel">DeleteReachableFiles</span>
 extends <a href="../../../../org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a>&lt;<a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles</a>,<a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles.Result</a>&gt;</pre>
 <div class="block">An action that deletes all files referenced by a table metadata file.
 
diff --git a/javadoc/org/apache/iceberg/actions/ExpireSnapshots.Result.html b/javadoc/org/apache/iceberg/actions/ExpireSnapshots.Result.html
index b864fd6..19be5b1 100644
--- a/javadoc/org/apache/iceberg/actions/ExpireSnapshots.Result.html
+++ b/javadoc/org/apache/iceberg/actions/ExpireSnapshots.Result.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/ExpireSnapshots.Result.html" target="_top">Frames</a></li>
@@ -98,10 +98,6 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></dd>
-</dl>
-<dl>
 <dt>Enclosing interface:</dt>
 <dd><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots</a></dd>
 </dl>
@@ -268,7 +264,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/ExpireSnapshots.Result.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/actions/MigrateTable.Result.html b/javadoc/org/apache/iceberg/actions/MigrateTable.Result.html
index 363170e..7b5fdf6 100644
--- a/javadoc/org/apache/iceberg/actions/MigrateTable.Result.html
+++ b/javadoc/org/apache/iceberg/actions/MigrateTable.Result.html
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <span class="typeNameLabel">MigrateTable.Result</span></pre>
+<pre>@Value.Immutable
+public static interface <span class="typeNameLabel">MigrateTable.Result</span></pre>
 <div class="block">The action result that contains a summary of the execution.</div>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/actions/MigrateTable.html b/javadoc/org/apache/iceberg/actions/MigrateTable.html
index 860ccd7..0d14e01 100644
--- a/javadoc/org/apache/iceberg/actions/MigrateTable.html
+++ b/javadoc/org/apache/iceberg/actions/MigrateTable.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">MigrateTable</span>
+<pre>@Value.Enclosing
+public interface <span class="typeNameLabel">MigrateTable</span>
 extends <a href="../../../../org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a>&lt;<a href="../../../../org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions">MigrateTable</a>,<a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions">MigrateTable.Result</a>&gt;</pre>
 <div class="block">An action that migrates an existing table to Iceberg.</div>
 </li>
@@ -267,7 +268,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html b/javadoc/org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html
index a9c36a5..2b990d9 100644
--- a/javadoc/org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html
+++ b/javadoc/org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <span class="typeNameLabel">RewriteDataFiles.FileGroupInfo</span></pre>
+<pre>@Value.Immutable
+public static interface <span class="typeNameLabel">RewriteDataFiles.FileGroupInfo</span></pre>
 <div class="block">A description of a file group, when it was processed, and within which partition. For use
  tracking rewrite operations and for returning results.</div>
 </li>
@@ -218,7 +219,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html b/javadoc/org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html
index 761b572..cb304b5 100644
--- a/javadoc/org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html
+++ b/javadoc/org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <span class="typeNameLabel">RewriteDataFiles.FileGroupRewriteResult</span></pre>
+<pre>@Value.Immutable
+public static interface <span class="typeNameLabel">RewriteDataFiles.FileGroupRewriteResult</span></pre>
 <div class="block">For a particular file group, the number of files which are newly created and the number of
  files which were formerly part of the table but have been rewritten.</div>
 </li>
@@ -192,7 +193,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rewrittenBytesCount</h4>
-<pre>default&nbsp;long&nbsp;rewrittenBytesCount()</pre>
+<pre>@Value.Default
+default&nbsp;long&nbsp;rewrittenBytesCount()</pre>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/actions/RewriteDataFiles.Result.html b/javadoc/org/apache/iceberg/actions/RewriteDataFiles.Result.html
index 9763051..f931e29 100644
--- a/javadoc/org/apache/iceberg/actions/RewriteDataFiles.Result.html
+++ b/javadoc/org/apache/iceberg/actions/RewriteDataFiles.Result.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":18,"i1":6,"i2":18,"i3":18};
+var methods = {"i0":18,"i1":18,"i2":18,"i3":6,"i4":18,"i5":18};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <span class="typeNameLabel">RewriteDataFiles.Result</span></pre>
+<pre>@Value.Immutable
+public static interface <span class="typeNameLabel">RewriteDataFiles.Result</span></pre>
 <div class="block">A map of file group information to the results of rewriting that file group. If the results are
  null then that particular file group failed. We should only have failed groups if partial
  progress is enabled otherwise we will report a total failure for the job.</div>
@@ -134,14 +135,22 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#addedDataFilesCount--">addedDataFilesCount</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>default int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#failedDataFilesCount--">failedDataFilesCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>default java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupFailureResult</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewriteFailures--">rewriteFailures</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewriteResults--">rewriteResults</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>default long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewrittenBytesCount--">rewrittenBytesCount</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>default int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html#rewrittenDataFilesCount--">rewrittenDataFilesCount</a></span>()</code>&nbsp;</td>
 </tr>
@@ -169,13 +178,24 @@
 <pre>java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>&gt;&nbsp;rewriteResults()</pre>
 </li>
 </ul>
+<a name="rewriteFailures--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rewriteFailures</h4>
+<pre>@Value.Default
+default&nbsp;java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupFailureResult</a>&gt;&nbsp;rewriteFailures()</pre>
+</li>
+</ul>
 <a name="addedDataFilesCount--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>addedDataFilesCount</h4>
-<pre>default&nbsp;int&nbsp;addedDataFilesCount()</pre>
+<pre>@Value.Default
+default&nbsp;int&nbsp;addedDataFilesCount()</pre>
 </li>
 </ul>
 <a name="rewrittenDataFilesCount--">
@@ -184,16 +204,28 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>rewrittenDataFilesCount</h4>
-<pre>default&nbsp;int&nbsp;rewrittenDataFilesCount()</pre>
+<pre>@Value.Default
+default&nbsp;int&nbsp;rewrittenDataFilesCount()</pre>
 </li>
 </ul>
 <a name="rewrittenBytesCount--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>rewrittenBytesCount</h4>
-<pre>default&nbsp;long&nbsp;rewrittenBytesCount()</pre>
+<pre>@Value.Default
+default&nbsp;long&nbsp;rewrittenBytesCount()</pre>
+</li>
+</ul>
+<a name="failedDataFilesCount--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>failedDataFilesCount</h4>
+<pre>@Value.Default
+default&nbsp;int&nbsp;failedDataFilesCount()</pre>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/actions/RewriteDataFiles.html b/javadoc/org/apache/iceberg/actions/RewriteDataFiles.html
index bc3fc2b..8a0fa05 100644
--- a/javadoc/org/apache/iceberg/actions/RewriteDataFiles.html
+++ b/javadoc/org/apache/iceberg/actions/RewriteDataFiles.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/RewriteDataFiles.html" target="_top">Frames</a></li>
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">RewriteDataFiles</span>
+<pre>@Value.Enclosing
+public interface <span class="typeNameLabel">RewriteDataFiles</span>
 extends <a href="../../../../org/apache/iceberg/actions/SnapshotUpdate.html" title="interface in org.apache.iceberg.actions">SnapshotUpdate</a>&lt;<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>,<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a>&gt;</pre>
 <div class="block">An action for rewriting data files according to a rewrite strategy. Generally used for optimizing
  the sizing and layout of data files within a table.</div>
@@ -131,18 +132,24 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupFailureResult</a></span></code>
+<div class="block">For a file group that failed to rewrite.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></span></code>
 <div class="block">A description of a file group, when it was processed, and within which partition.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a></span></code>
 <div class="block">For a particular file group, the number of files which are newly created and the number of
  files which were formerly part of the table but have been rewritten.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></span></code>
 <div class="block">A map of file group information to the results of rewriting that file group.</div>
@@ -634,7 +641,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/RewriteDataFiles.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html b/javadoc/org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html
index 191eff3..ddba600 100644
--- a/javadoc/org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html
+++ b/javadoc/org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -73,13 +73,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -116,14 +116,32 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">RewriteDataFilesCommitManager.CommitService</span>
-extends java.lang.Object
-implements java.io.Closeable</pre>
+extends java.lang.Object</pre>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#TIMEOUT_IN_MS_DEFAULT">TIMEOUT_IN_MS_DEFAULT</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -137,22 +155,36 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#close--">close</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#abortFileGroup-org.apache.iceberg.actions.RewriteFileGroup-">abortFileGroup</a></span>(<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a>&nbsp;group)</code>
+<div class="block">Clean up a specified file set by removing any files created for that operation, should not
+ throw any exceptions</div>
+</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#offer-org.apache.iceberg.actions.RewriteFileGroup-">offer</a></span>(<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a>&nbsp;group)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#commitOrClean-java.util.Set-">commitOrClean</a></span>(java.util.Set&lt;<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a>&gt;&nbsp;batch)</code>
+<div class="block">Perform a commit operation on the table for the set of file groups, should cleanup failed file
+ groups.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#offer-T-">offer</a></span>(T&nbsp;group)</code>
 <div class="block">Places a file group in the queue and commits a batch of file groups if <a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#rewritesPerCommit"><code>rewritesPerCommit</code></a> number of file groups are present in the queue.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a>&gt;</code></td>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>java.util.List&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#results--">results</a></span>()</code>
 <div class="block">Returns all File groups which have been committed</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#start--">start</a></span>()</code>
 <div class="block">Starts a single threaded executor service for handling file group commits.</div>
@@ -174,12 +206,59 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="TIMEOUT_IN_MS_DEFAULT">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TIMEOUT_IN_MS_DEFAULT</h4>
+<pre>public static final&nbsp;long TIMEOUT_IN_MS_DEFAULT</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="commitOrClean-java.util.Set-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commitOrClean</h4>
+<pre>protected&nbsp;void&nbsp;commitOrClean(java.util.Set&lt;<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a>&gt;&nbsp;batch)</pre>
+<div class="block">Perform a commit operation on the table for the set of file groups, should cleanup failed file
+ groups.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>batch</code> - set of file groups</dd>
+</dl>
+</li>
+</ul>
+<a name="abortFileGroup-org.apache.iceberg.actions.RewriteFileGroup-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>abortFileGroup</h4>
+<pre>protected&nbsp;void&nbsp;abortFileGroup(<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a>&nbsp;group)</pre>
+<div class="block">Clean up a specified file set by removing any files created for that operation, should not
+ throw any exceptions</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>group</code> - group of files which are not yet committed</dd>
+</dl>
+</li>
+</ul>
 <a name="start--">
 <!--   -->
 </a>
@@ -190,13 +269,15 @@
 <div class="block">Starts a single threaded executor service for handling file group commits.</div>
 </li>
 </ul>
-<a name="offer-org.apache.iceberg.actions.RewriteFileGroup-">
+<a name="offer-java.lang.Object-">
+<!--   -->
+</a><a name="offer-T-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>offer</h4>
-<pre>public&nbsp;void&nbsp;offer(<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a>&nbsp;group)</pre>
+<pre>public&nbsp;void&nbsp;offer(T&nbsp;group)</pre>
 <div class="block">Places a file group in the queue and commits a batch of file groups if <a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html#rewritesPerCommit"><code>rewritesPerCommit</code></a> number of file groups are present in the queue.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -210,7 +291,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>results</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a>&gt;&nbsp;results()</pre>
+<pre>public&nbsp;java.util.List&lt;T&gt;&nbsp;results()</pre>
 <div class="block">Returns all File groups which have been committed</div>
 </li>
 </ul>
@@ -282,13 +363,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/actions/RewriteFileGroup.html b/javadoc/org/apache/iceberg/actions/RewriteFileGroup.html
index 5e8c69a..87c8c1b 100644
--- a/javadoc/org/apache/iceberg/actions/RewriteFileGroup.html
+++ b/javadoc/org/apache/iceberg/actions/RewriteFileGroup.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -142,7 +142,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -156,30 +156,34 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html#asResult--">asResult</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>static java.util.Comparator&lt;<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html#comparator-org.apache.iceberg.RewriteJobOrder-">comparator</a></span>(<a href="../../../../org/apache/iceberg/RewriteJobOrder.html" title="enum in org.apache.iceberg">RewriteJobOrder</a>&nbsp;rewriteJobOrder)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html#fileScans--">fileScans</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html#info--">info</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html#numFiles--">numFiles</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>java.util.Set&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html#rewrittenFiles--">rewrittenFiles</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html#setOutputFiles-java.util.Set-">setOutputFiles</a></span>(java.util.Set&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;files)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html#sizeInBytes--">sizeInBytes</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -302,12 +306,21 @@
 <a name="numFiles--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>numFiles</h4>
 <pre>public&nbsp;int&nbsp;numFiles()</pre>
 </li>
 </ul>
+<a name="comparator-org.apache.iceberg.RewriteJobOrder-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>comparator</h4>
+<pre>public static&nbsp;java.util.Comparator&lt;<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a>&gt;&nbsp;comparator(<a href="../../../../org/apache/iceberg/RewriteJobOrder.html" title="enum in org.apache.iceberg">RewriteJobOrder</a>&nbsp;rewriteJobOrder)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/actions/RewriteManifests.Result.html b/javadoc/org/apache/iceberg/actions/RewriteManifests.Result.html
index 717d7e9..9159c3c 100644
--- a/javadoc/org/apache/iceberg/actions/RewriteManifests.Result.html
+++ b/javadoc/org/apache/iceberg/actions/RewriteManifests.Result.html
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <span class="typeNameLabel">RewriteManifests.Result</span></pre>
+<pre>@Value.Immutable
+public static interface <span class="typeNameLabel">RewriteManifests.Result</span></pre>
 <div class="block">The action result that contains a summary of the execution.</div>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/actions/RewriteManifests.html b/javadoc/org/apache/iceberg/actions/RewriteManifests.html
index 9fea5af..eba831e 100644
--- a/javadoc/org/apache/iceberg/actions/RewriteManifests.html
+++ b/javadoc/org/apache/iceberg/actions/RewriteManifests.html
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">RewriteManifests</span>
+<pre>@Value.Enclosing
+public interface <span class="typeNameLabel">RewriteManifests</span>
 extends <a href="../../../../org/apache/iceberg/actions/SnapshotUpdate.html" title="interface in org.apache.iceberg.actions">SnapshotUpdate</a>&lt;<a href="../../../../org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions">RewriteManifests</a>,<a href="../../../../org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions">RewriteManifests.Result</a>&gt;</pre>
 <div class="block">An action that rewrites manifests.</div>
 </li>
diff --git a/javadoc/org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html b/javadoc/org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html
index 99d287c..f54d194 100644
--- a/javadoc/org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html
+++ b/javadoc/org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var methods = {"i0":18,"i1":18,"i2":6,"i3":18,"i4":18};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -47,8 +47,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" target="_top">Frames</a></li>
@@ -103,7 +103,8 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <span class="typeNameLabel">RewritePositionDeleteFiles.Result</span></pre>
+<pre>@Value.Immutable
+public static interface <span class="typeNameLabel">RewritePositionDeleteFiles.Result</span></pre>
 <div class="block">The action result that contains a summary of the execution.</div>
 </li>
 </ul>
@@ -118,21 +119,37 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#addedDeleteFilesCount--">addedDeleteFilesCount</a></span>()</code>
-<div class="block">Returns the count of the added delete files.</div>
+<td class="colFirst"><code>default long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#addedBytesCount--">addedBytesCount</a></span>()</code>
+<div class="block">Returns the number of bytes of newly added position delete files</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>int</code></td>
+<td class="colFirst"><code>default int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#addedDeleteFilesCount--">addedDeleteFilesCount</a></span>()</code>
+<div class="block">Returns the count of the added position delete files.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupRewriteResult</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#rewriteResults--">rewriteResults</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>default long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#rewrittenBytesCount--">rewrittenBytesCount</a></span>()</code>
+<div class="block">Returns the number of bytes of position delete files that have been rewritten</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>default int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html#rewrittenDeleteFilesCount--">rewrittenDeleteFilesCount</a></span>()</code>
-<div class="block">Returns the count of the position deletes that been rewritten.</div>
+<div class="block">Returns the count of the position delete files that have been rewritten.</div>
 </td>
 </tr>
 </table>
@@ -150,24 +167,53 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="rewriteResults--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rewriteResults</h4>
+<pre>java.util.List&lt;<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupRewriteResult</a>&gt;&nbsp;rewriteResults()</pre>
+</li>
+</ul>
 <a name="rewrittenDeleteFilesCount--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>rewrittenDeleteFilesCount</h4>
-<pre>int&nbsp;rewrittenDeleteFilesCount()</pre>
-<div class="block">Returns the count of the position deletes that been rewritten.</div>
+<pre>default&nbsp;int&nbsp;rewrittenDeleteFilesCount()</pre>
+<div class="block">Returns the count of the position delete files that have been rewritten.</div>
 </li>
 </ul>
 <a name="addedDeleteFilesCount--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>addedDeleteFilesCount</h4>
-<pre>int&nbsp;addedDeleteFilesCount()</pre>
-<div class="block">Returns the count of the added delete files.</div>
+<pre>default&nbsp;int&nbsp;addedDeleteFilesCount()</pre>
+<div class="block">Returns the count of the added position delete files.</div>
+</li>
+</ul>
+<a name="rewrittenBytesCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rewrittenBytesCount</h4>
+<pre>default&nbsp;long&nbsp;rewrittenBytesCount()</pre>
+<div class="block">Returns the number of bytes of position delete files that have been rewritten</div>
+</li>
+</ul>
+<a name="addedBytesCount--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>addedBytesCount</h4>
+<pre>default&nbsp;long&nbsp;addedBytesCount()</pre>
+<div class="block">Returns the number of bytes of newly added position delete files</div>
 </li>
 </ul>
 </li>
@@ -197,8 +243,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/actions/RewritePositionDeleteFiles.html b/javadoc/org/apache/iceberg/actions/RewritePositionDeleteFiles.html
index 9b2eed2..f335ef5 100644
--- a/javadoc/org/apache/iceberg/actions/RewritePositionDeleteFiles.html
+++ b/javadoc/org/apache/iceberg/actions/RewritePositionDeleteFiles.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/RewritePositionDeleteFiles.html" target="_top">Frames</a></li>
@@ -73,13 +73,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -101,9 +101,14 @@
 <dt>All Superinterfaces:</dt>
 <dd><a href="../../../../org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a>&lt;<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a>,<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a>&gt;, <a href="../../../../org/apache/iceberg/actions/SnapshotUpdate.html" title="interface in org.apache.iceberg.actions">SnapshotUpdate</a>&lt;<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a>,<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a>&gt;</dd>
 </dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a></dd>
+</dl>
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">RewritePositionDeleteFiles</span>
+<pre>@Value.Enclosing
+public interface <span class="typeNameLabel">RewritePositionDeleteFiles</span>
 extends <a href="../../../../org/apache/iceberg/actions/SnapshotUpdate.html" title="interface in org.apache.iceberg.actions">SnapshotUpdate</a>&lt;<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a>,<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a>&gt;</pre>
 <div class="block">An action for rewriting position delete files.
 
@@ -128,6 +133,21 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupInfo</a></span></code>
+<div class="block">A description of a position delete file group, when it was processed, and within which
+ partition.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupRewriteResult</a></span></code>
+<div class="block">For a particular position delete file group, the number of position delete files which are
+ newly created and the number of files which were formerly part of the table but have been
+ rewritten.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a></span></code>
 <div class="block">The action result that contains a summary of the execution.</div>
 </td>
@@ -135,6 +155,63 @@
 </table>
 </li>
 </ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES">MAX_CONCURRENT_FILE_GROUP_REWRITES</a></span></code>
+<div class="block">The max number of file groups to be simultaneously rewritten by the rewrite strategy.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html#MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_ENABLED">PARTIAL_PROGRESS_ENABLED</a></span></code>
+<div class="block">Enable committing groups of files (see max-file-group-size-bytes) prior to the entire rewrite
+ completing.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_ENABLED_DEFAULT">PARTIAL_PROGRESS_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_MAX_COMMITS">PARTIAL_PROGRESS_MAX_COMMITS</a></span></code>
+<div class="block">The maximum amount of Iceberg commits that this rewrite is allowed to produce if partial
+ progress is enabled.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html#PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html#REWRITE_JOB_ORDER">REWRITE_JOB_ORDER</a></span></code>
+<div class="block">Forces the rewrite job order based on the value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html#REWRITE_JOB_ORDER_DEFAULT">REWRITE_JOB_ORDER_DEFAULT</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -176,6 +253,137 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="PARTIAL_PROGRESS_ENABLED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PARTIAL_PROGRESS_ENABLED</h4>
+<pre>static final&nbsp;java.lang.String PARTIAL_PROGRESS_ENABLED</pre>
+<div class="block">Enable committing groups of files (see max-file-group-size-bytes) prior to the entire rewrite
+ completing. This will produce additional commits but allow for progress even if some groups
+ fail to commit. This setting will not change the correctness of the rewrite operation as file
+ groups can be compacted independently.
+
+ <p>The default is false, which produces a single commit when the entire job has completed.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewritePositionDeleteFiles.PARTIAL_PROGRESS_ENABLED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PARTIAL_PROGRESS_ENABLED_DEFAULT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PARTIAL_PROGRESS_ENABLED_DEFAULT</h4>
+<pre>static final&nbsp;boolean PARTIAL_PROGRESS_ENABLED_DEFAULT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewritePositionDeleteFiles.PARTIAL_PROGRESS_ENABLED_DEFAULT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PARTIAL_PROGRESS_MAX_COMMITS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PARTIAL_PROGRESS_MAX_COMMITS</h4>
+<pre>static final&nbsp;java.lang.String PARTIAL_PROGRESS_MAX_COMMITS</pre>
+<div class="block">The maximum amount of Iceberg commits that this rewrite is allowed to produce if partial
+ progress is enabled. This setting has no effect if partial progress is disabled.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewritePositionDeleteFiles.PARTIAL_PROGRESS_MAX_COMMITS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT</h4>
+<pre>static final&nbsp;int PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewritePositionDeleteFiles.PARTIAL_PROGRESS_MAX_COMMITS_DEFAULT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="MAX_CONCURRENT_FILE_GROUP_REWRITES">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MAX_CONCURRENT_FILE_GROUP_REWRITES</h4>
+<pre>static final&nbsp;java.lang.String MAX_CONCURRENT_FILE_GROUP_REWRITES</pre>
+<div class="block">The max number of file groups to be simultaneously rewritten by the rewrite strategy. The
+ structure and contents of the group is determined by the rewrite strategy. Each file group will
+ be rewritten independently and asynchronously.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewritePositionDeleteFiles.MAX_CONCURRENT_FILE_GROUP_REWRITES">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</h4>
+<pre>static final&nbsp;int MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewritePositionDeleteFiles.MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="REWRITE_JOB_ORDER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REWRITE_JOB_ORDER</h4>
+<pre>static final&nbsp;java.lang.String REWRITE_JOB_ORDER</pre>
+<div class="block">Forces the rewrite job order based on the value.
+
+ <ul>
+   <li>If rewrite-job-order=bytes-asc, then rewrite the smallest job groups first.
+   <li>If rewrite-job-order=bytes-desc, then rewrite the largest job groups first.
+   <li>If rewrite-job-order=files-asc, then rewrite the job groups with the least files first.
+   <li>If rewrite-job-order=files-desc, then rewrite the job groups with the most files first.
+   <li>If rewrite-job-order=none, then rewrite job groups in the order they were planned (no
+       specific ordering).
+ </ul>
+
+ <p>Defaults to none.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.actions.RewritePositionDeleteFiles.REWRITE_JOB_ORDER">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="REWRITE_JOB_ORDER_DEFAULT">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>REWRITE_JOB_ORDER_DEFAULT</h4>
+<pre>static final&nbsp;java.lang.String REWRITE_JOB_ORDER_DEFAULT</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -230,7 +438,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/RewritePositionDeleteFiles.html" target="_top">Frames</a></li>
@@ -255,13 +463,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/actions/RewritePositionDeleteStrategy.html b/javadoc/org/apache/iceberg/actions/RewritePositionDeleteStrategy.html
index e892bf1..0f35447 100644
--- a/javadoc/org/apache/iceberg/actions/RewritePositionDeleteStrategy.html
+++ b/javadoc/org/apache/iceberg/actions/RewritePositionDeleteStrategy.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var methods = {"i0":38,"i1":38,"i2":38,"i3":38,"i4":38,"i5":38,"i6":38};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -98,8 +98,12 @@
 <ul class="blockList">
 <li class="blockList">
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; Use <a href="../../../../org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead</span></div>
+</div>
 <br>
-<pre>public interface <span class="typeNameLabel">RewritePositionDeleteStrategy</span></pre>
+<pre>@Deprecated
+public interface <span class="typeNameLabel">RewritePositionDeleteStrategy</span></pre>
 <div class="block">A strategy for an action to rewrite position delete files.</div>
 </li>
 </ul>
@@ -114,7 +118,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -122,42 +126,49 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#name--">name</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the name of this rewrite deletes strategy</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#options-java.util.Map-">options</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets options to be used with this strategy</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#planDeleteFileGroups-java.lang.Iterable-">planDeleteFileGroups</a></span>(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFiles)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Groups into lists which will be processed in a single executable unit.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#rewriteDeleteFiles-java.lang.Iterable-">rewriteDeleteFiles</a></span>(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToRewrite)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Define how to rewrite the deletes.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#selectDeleteFiles-java.lang.Iterable-">selectDeleteFiles</a></span>(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFiles)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Select the delete files to rewrite.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#table--">table</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the table being modified by this rewrite strategy</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html#validOptions--">validOptions</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns a set of options which this rewrite strategy can use.</div>
 </td>
 </tr>
@@ -183,6 +194,7 @@
 <li class="blockList">
 <h4>name</h4>
 <pre>java.lang.String&nbsp;name()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the name of this rewrite deletes strategy</div>
 </li>
 </ul>
@@ -193,6 +205,7 @@
 <li class="blockList">
 <h4>table</h4>
 <pre><a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the table being modified by this rewrite strategy</div>
 </li>
 </ul>
@@ -203,6 +216,7 @@
 <li class="blockList">
 <h4>validOptions</h4>
 <pre>java.util.Set&lt;java.lang.String&gt;&nbsp;validOptions()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns a set of options which this rewrite strategy can use. This is an allowed-list and any
  options not specified here will be rejected at runtime.</div>
 </li>
@@ -214,6 +228,7 @@
 <li class="blockList">
 <h4>options</h4>
 <pre><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a>&nbsp;options(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets options to be used with this strategy</div>
 </li>
 </ul>
@@ -224,6 +239,7 @@
 <li class="blockList">
 <h4>selectDeleteFiles</h4>
 <pre>java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;selectDeleteFiles(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFiles)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Select the delete files to rewrite.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -240,6 +256,7 @@
 <li class="blockList">
 <h4>planDeleteFileGroups</h4>
 <pre>java.lang.Iterable&lt;java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&gt;&nbsp;planDeleteFileGroups(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFiles)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Groups into lists which will be processed in a single executable unit. Each group will end up
  being committed as an independent set of changes. This creates the jobs which will eventually
  be run as by the underlying Action.</div>
@@ -258,6 +275,7 @@
 <li class="blockList">
 <h4>rewriteDeleteFiles</h4>
 <pre>java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;rewriteDeleteFiles(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>&gt;&nbsp;deleteFilesToRewrite)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Define how to rewrite the deletes.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -294,7 +312,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/actions/RewriteStrategy.html b/javadoc/org/apache/iceberg/actions/RewriteStrategy.html
index 4080038..f249985 100644
--- a/javadoc/org/apache/iceberg/actions/RewriteStrategy.html
+++ b/javadoc/org/apache/iceberg/actions/RewriteStrategy.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var methods = {"i0":38,"i1":38,"i2":38,"i3":38,"i4":38,"i5":38,"i6":38};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/RewriteStrategy.html" target="_top">Frames</a></li>
@@ -103,12 +103,17 @@
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a>, <a href="../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a>, <a href="../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkBinPackStrategy</a>, <a href="../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a>, <a href="../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></dd>
+<dd><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a>, <a href="../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../../org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><code>FileRewriter</code></a> instead.</span></div>
+</div>
 <br>
-<pre>public interface <span class="typeNameLabel">RewriteStrategy</span>
+<pre>@Deprecated
+public interface <span class="typeNameLabel">RewriteStrategy</span>
 extends java.io.Serializable</pre>
+<div class="block">A strategy for rewriting files.</div>
 </li>
 </ul>
 </div>
@@ -122,7 +127,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -130,42 +135,49 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#name--">name</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the name of this rewrite strategy</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#options-java.util.Map-">options</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets options to be used with this strategy</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#planFileGroups-java.lang.Iterable-">planFileGroups</a></span>(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;dataFiles)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Groups file scans into lists which will be processed in a single executable unit.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>java.util.Set&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#rewriteFiles-java.util.List-">rewriteFiles</a></span>(java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;filesToRewrite)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Method which will rewrite files based on this particular RewriteStrategy's algorithm.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#selectFilesToRewrite-java.lang.Iterable-">selectFilesToRewrite</a></span>(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;dataFiles)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Selects files which this strategy believes are valid targets to be rewritten.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#table--">table</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the table being modified by this rewrite strategy</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#validOptions--">validOptions</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns a set of options which this rewrite strategy can use.</div>
 </td>
 </tr>
@@ -191,6 +203,7 @@
 <li class="blockList">
 <h4>name</h4>
 <pre>java.lang.String&nbsp;name()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the name of this rewrite strategy</div>
 </li>
 </ul>
@@ -201,6 +214,7 @@
 <li class="blockList">
 <h4>table</h4>
 <pre><a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the table being modified by this rewrite strategy</div>
 </li>
 </ul>
@@ -211,6 +225,7 @@
 <li class="blockList">
 <h4>validOptions</h4>
 <pre>java.util.Set&lt;java.lang.String&gt;&nbsp;validOptions()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns a set of options which this rewrite strategy can use. This is an allowed-list and any
  options not specified here will be rejected at runtime.</div>
 </li>
@@ -222,6 +237,7 @@
 <li class="blockList">
 <h4>options</h4>
 <pre><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a>&nbsp;options(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets options to be used with this strategy</div>
 </li>
 </ul>
@@ -232,6 +248,7 @@
 <li class="blockList">
 <h4>selectFilesToRewrite</h4>
 <pre>java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;selectFilesToRewrite(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;dataFiles)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Selects files which this strategy believes are valid targets to be rewritten.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -248,6 +265,7 @@
 <li class="blockList">
 <h4>planFileGroups</h4>
 <pre>java.lang.Iterable&lt;java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&gt;&nbsp;planFileGroups(java.lang.Iterable&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;dataFiles)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Groups file scans into lists which will be processed in a single executable unit. Each group
  will end up being committed as an independent set of changes. This creates the jobs which will
  eventually be run as by the underlying Action.</div>
@@ -266,6 +284,7 @@
 <li class="blockList">
 <h4>rewriteFiles</h4>
 <pre>java.util.Set&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;rewriteFiles(java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;filesToRewrite)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Method which will rewrite files based on this particular RewriteStrategy's algorithm. This will
  most likely be Action framework specific (Spark/Presto/Flink ....).</div>
 <dl>
@@ -304,7 +323,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/actions/RewriteStrategy.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/actions/SnapshotTable.Result.html b/javadoc/org/apache/iceberg/actions/SnapshotTable.Result.html
index 35acc4b..41bf57b 100644
--- a/javadoc/org/apache/iceberg/actions/SnapshotTable.Result.html
+++ b/javadoc/org/apache/iceberg/actions/SnapshotTable.Result.html
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <span class="typeNameLabel">SnapshotTable.Result</span></pre>
+<pre>@Value.Immutable
+public static interface <span class="typeNameLabel">SnapshotTable.Result</span></pre>
 <div class="block">The action result that contains a summary of the execution.</div>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/actions/SnapshotTable.html b/javadoc/org/apache/iceberg/actions/SnapshotTable.html
index a04a482..388f7d9 100644
--- a/javadoc/org/apache/iceberg/actions/SnapshotTable.html
+++ b/javadoc/org/apache/iceberg/actions/SnapshotTable.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/actions/SnapshotTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -107,7 +107,8 @@
 </dl>
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">SnapshotTable</span>
+<pre>@Value.Enclosing
+public interface <span class="typeNameLabel">SnapshotTable</span>
 extends <a href="../../../../org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a>&lt;<a href="../../../../org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions">SnapshotTable</a>,<a href="../../../../org/apache/iceberg/actions/SnapshotTable.Result.html" title="interface in org.apache.iceberg.actions">SnapshotTable.Result</a>&gt;</pre>
 <div class="block">An action that creates an independent snapshot of an existing table.</div>
 </li>
@@ -291,7 +292,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/actions/SnapshotTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/actions/SnapshotUpdate.html b/javadoc/org/apache/iceberg/actions/SnapshotUpdate.html
index dc2a276..e7e3cd1 100644
--- a/javadoc/org/apache/iceberg/actions/SnapshotUpdate.html
+++ b/javadoc/org/apache/iceberg/actions/SnapshotUpdate.html
@@ -112,7 +112,7 @@
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteDataFilesSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteManifestsSparkAction</a></dd>
+<dd><a href="../../../../org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteDataFilesSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewriteManifestsSparkAction</a>, <a href="../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a></dd>
 </dl>
 <hr>
 <br>
diff --git a/javadoc/org/apache/iceberg/actions/SortStrategy.html b/javadoc/org/apache/iceberg/actions/SortStrategy.html
index 86b6156..ed12fca 100644
--- a/javadoc/org/apache/iceberg/actions/SortStrategy.html
+++ b/javadoc/org/apache/iceberg/actions/SortStrategy.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -114,13 +114,13 @@
 <dt>All Implemented Interfaces:</dt>
 <dd>java.io.Serializable, <a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dd>
 </dl>
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></dd>
-</dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../../org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead.</span></div>
+</div>
 <br>
-<pre>public abstract class <span class="typeNameLabel">SortStrategy</span>
+<pre>@Deprecated
+public abstract class <span class="typeNameLabel">SortStrategy</span>
 extends <a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></pre>
 <div class="block">A rewrite strategy for data files which aims to reorder data with data files to optimally lay
  them out in relation to a column. For example, if the Sort strategy is used on a set of files
@@ -169,7 +169,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html#SortStrategy--">SortStrategy</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html#SortStrategy--">SortStrategy</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -181,7 +183,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -189,32 +191,40 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html#name--">name</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the name of this rewrite strategy</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html#options-java.util.Map-">options</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets options to be used with this strategy</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html#sortOrder--">sortOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html#sortOrder--">sortOrder</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html#sortOrder-org.apache.iceberg.SortOrder-">sortOrder</a></span>(<a href="../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a>&nbsp;order)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the sort order to be used in this strategy when rewriting files</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html#validateOptions--">validateOptions</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html#validateOptions--">validateOptions</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html#validOptions--">validOptions</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns a set of options which this rewrite strategy can use.</div>
 </td>
 </tr>
@@ -261,6 +271,7 @@
 <li class="blockList">
 <h4>SortStrategy</h4>
 <pre>public&nbsp;SortStrategy()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -278,6 +289,7 @@
 <li class="blockList">
 <h4>sortOrder</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a>&nbsp;sortOrder(<a href="../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a>&nbsp;order)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the sort order to be used in this strategy when rewriting files</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -294,6 +306,7 @@
 <li class="blockList">
 <h4>sortOrder</h4>
 <pre>protected&nbsp;<a href="../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a>&nbsp;sortOrder()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="name--">
@@ -303,6 +316,7 @@
 <li class="blockList">
 <h4>name</h4>
 <pre>public&nbsp;java.lang.String&nbsp;name()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#name--">RewriteStrategy</a></code></span></div>
 <div class="block">Returns the name of this rewrite strategy</div>
 <dl>
@@ -320,6 +334,7 @@
 <li class="blockList">
 <h4>validOptions</h4>
 <pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;validOptions()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#validOptions--">RewriteStrategy</a></code></span></div>
 <div class="block">Returns a set of options which this rewrite strategy can use. This is an allowed-list and any
  options not specified here will be rejected at runtime.</div>
@@ -338,6 +353,7 @@
 <li class="blockList">
 <h4>options</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a>&nbsp;options(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html#options-java.util.Map-">RewriteStrategy</a></code></span></div>
 <div class="block">Sets options to be used with this strategy</div>
 <dl>
@@ -355,6 +371,7 @@
 <li class="blockList">
 <h4>validateOptions</h4>
 <pre>protected&nbsp;void&nbsp;validateOptions()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/actions/package-frame.html b/javadoc/org/apache/iceberg/actions/package-frame.html
index 0241f1e..63e8bb1 100644
--- a/javadoc/org/apache/iceberg/actions/package-frame.html
+++ b/javadoc/org/apache/iceberg/actions/package-frame.html
@@ -23,15 +23,19 @@
 <li><a href="DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">DeleteReachableFiles.Result</span></a></li>
 <li><a href="ExpireSnapshots.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">ExpireSnapshots</span></a></li>
 <li><a href="ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">ExpireSnapshots.Result</span></a></li>
+<li><a href="FileRewriter.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">FileRewriter</span></a></li>
 <li><a href="MigrateTable.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">MigrateTable</span></a></li>
 <li><a href="MigrateTable.Result.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">MigrateTable.Result</span></a></li>
 <li><a href="RewriteDataFiles.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteDataFiles</span></a></li>
+<li><a href="RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteDataFiles.FileGroupFailureResult</span></a></li>
 <li><a href="RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteDataFiles.FileGroupInfo</span></a></li>
 <li><a href="RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteDataFiles.FileGroupRewriteResult</span></a></li>
 <li><a href="RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteDataFiles.Result</span></a></li>
 <li><a href="RewriteManifests.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteManifests</span></a></li>
 <li><a href="RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteManifests.Result</span></a></li>
 <li><a href="RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewritePositionDeleteFiles</span></a></li>
+<li><a href="RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewritePositionDeleteFiles.FileGroupInfo</span></a></li>
+<li><a href="RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewritePositionDeleteFiles.FileGroupRewriteResult</span></a></li>
 <li><a href="RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewritePositionDeleteFiles.Result</span></a></li>
 <li><a href="RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewritePositionDeleteStrategy</span></a></li>
 <li><a href="RewriteStrategy.html" title="interface in org.apache.iceberg.actions" target="classFrame"><span class="interfaceName">RewriteStrategy</span></a></li>
@@ -44,7 +48,6 @@
 <ul title="Classes">
 <li><a href="BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions" target="classFrame">BaseDeleteOrphanFilesActionResult</a></li>
 <li><a href="BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions" target="classFrame">BaseDeleteReachableFilesActionResult</a></li>
-<li><a href="BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions" target="classFrame">BaseExpireSnapshotsActionResult</a></li>
 <li><a href="BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions" target="classFrame">BaseFileGroupRewriteResult</a></li>
 <li><a href="BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions" target="classFrame">BaseMigrateTableActionResult</a></li>
 <li><a href="BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions" target="classFrame">BaseRewriteDataFilesAction</a></li>
@@ -56,6 +59,11 @@
 <li><a href="RewriteDataFilesActionResult.html" title="class in org.apache.iceberg.actions" target="classFrame">RewriteDataFilesActionResult</a></li>
 <li><a href="RewriteDataFilesCommitManager.html" title="class in org.apache.iceberg.actions" target="classFrame">RewriteDataFilesCommitManager</a></li>
 <li><a href="RewriteFileGroup.html" title="class in org.apache.iceberg.actions" target="classFrame">RewriteFileGroup</a></li>
+<li><a href="RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions" target="classFrame">RewritePositionDeletesCommitManager</a></li>
+<li><a href="RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions" target="classFrame">RewritePositionDeletesGroup</a></li>
+<li><a href="SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions" target="classFrame">SizeBasedDataRewriter</a></li>
+<li><a href="SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions" target="classFrame">SizeBasedFileRewriter</a></li>
+<li><a href="SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions" target="classFrame">SizeBasedPositionDeletesRewriter</a></li>
 <li><a href="SortStrategy.html" title="class in org.apache.iceberg.actions" target="classFrame">SortStrategy</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
diff --git a/javadoc/org/apache/iceberg/actions/package-summary.html b/javadoc/org/apache/iceberg/actions/package-summary.html
index 6f6f474..3560376 100644
--- a/javadoc/org/apache/iceberg/actions/package-summary.html
+++ b/javadoc/org/apache/iceberg/actions/package-summary.html
@@ -147,23 +147,35 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions">FileRewriter</a>&lt;T extends <a href="../../../../org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;F&gt;,F extends <a href="../../../../org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;F&gt;&gt;</td>
+<td class="colLast">
+<div class="block">A class for rewriting content files.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions">MigrateTable</a></td>
 <td class="colLast">
 <div class="block">An action that migrates an existing table to Iceberg.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions">MigrateTable.Result</a></td>
 <td class="colLast">
 <div class="block">The action result that contains a summary of the execution.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></td>
 <td class="colLast">
 <div class="block">An action for rewriting data files according to a rewrite strategy.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupFailureResult</a></td>
+<td class="colLast">
+<div class="block">For a file group that failed to rewrite.</div>
+</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a></td>
 <td class="colLast">
@@ -202,6 +214,21 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupInfo</a></td>
+<td class="colLast">
+<div class="block">A description of a position delete file group, when it was processed, and within which
+ partition.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.FileGroupRewriteResult</a></td>
+<td class="colLast">
+<div class="block">For a particular position delete file group, the number of position delete files which are
+ newly created and the number of files which were formerly part of the table but have been
+ rewritten.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles.Result</a></td>
 <td class="colLast">
 <div class="block">The action result that contains a summary of the execution.</div>
@@ -209,13 +236,15 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteStrategy</a></td>
-<td class="colLast">
-<div class="block">A strategy for an action to rewrite position delete files.</div>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; Use <a href="../../../../org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead</span></div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../../org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><code>FileRewriter</code></a> instead.</span></div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions">SnapshotTable</a></td>
@@ -252,74 +281,115 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteOrphanFilesActionResult</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableDeleteOrphanFiles.Result.builder()</code>
+     instead.</span></div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions">BaseDeleteReachableFilesActionResult</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableDeleteReachableFiles.Result.builder()</code>
+     instead.</span></div>
+</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions">BaseExpireSnapshotsActionResult</a></td>
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></td>
 <td class="colLast">Deprecated
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0.</span></div>
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.FileGroupRewriteResult.builder()</code> instead.</span></div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions">BaseFileGroupRewriteResult</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions">BaseMigrateTableActionResult</a></td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableMigrateTable.Result.builder()</code> instead.</span></div>
+</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions">BaseMigrateTableActionResult</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a>&lt;ThisT&gt;</td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesFileGroupInfo.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesFileGroupInfo</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.FileGroupInfo.builder()</code> instead.</span></div>
+</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesResult.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesResult</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">BaseRewriteManifestsActionResult</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseSnapshotTableActionResult.html" title="class in org.apache.iceberg.actions">BaseSnapshotTableActionResult</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></td>
-<td class="colLast">
-<div class="block">A rewrite strategy for data files which determines which files to rewrite based on their size.</div>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteDataFiles.Result.builder()</code>
+     instead.</span></div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseRewriteManifestsActionResult.html" title="class in org.apache.iceberg.actions">BaseRewriteManifestsActionResult</a></td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableRewriteManifests.Result.builder()</code>
+     instead.</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BaseSnapshotTableActionResult.html" title="class in org.apache.iceberg.actions">BaseSnapshotTableActionResult</a></td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0; use <code>ImmutableSnapshotTable.Result.builder()</code>
+     instead.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../../org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead.</span></div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesActionResult.html" title="class in org.apache.iceberg.actions">RewriteDataFilesActionResult</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.html" title="class in org.apache.iceberg.actions">RewriteDataFilesCommitManager</a></td>
 <td class="colLast">
 <div class="block">Functionality used by RewriteDataFile Actions from different platforms to handle commits.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions">RewriteFileGroup</a></td>
 <td class="colLast">
 <div class="block">Container class representing a set of files to be rewritten by a RewriteAction and the new files
  which have been written by the action.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></td>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesCommitManager</a></td>
 <td class="colLast">
-<div class="block">A rewrite strategy for data files which aims to reorder data with data files to optimally lay
- them out in relation to a column.</div>
+<div class="block">Functionality used by <a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions"><code>RewritePositionDeleteFiles</code></a> from different platforms to handle
+ commits.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions">RewritePositionDeletesGroup</a></td>
+<td class="colLast">
+<div class="block">Container class representing a set of position delete files to be rewritten by a <a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions"><code>RewritePositionDeleteFiles</code></a> and the new files which have been written by the action.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedDataRewriter</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedFileRewriter</a>&lt;T extends <a href="../../../../org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;F&gt;,F extends <a href="../../../../org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a>&lt;F&gt;&gt;</td>
+<td class="colLast">
+<div class="block">A file rewriter that determines which files to rewrite based on their size.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions">SizeBasedPositionDeletesRewriter</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">since 1.3.0, will be removed in 1.4.0; use <a href="../../../../org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><code>SizeBasedFileRewriter</code></a> instead.</span></div>
 </td>
 </tr>
 </tbody>
diff --git a/javadoc/org/apache/iceberg/actions/package-tree.html b/javadoc/org/apache/iceberg/actions/package-tree.html
index 9e2e4f0..310659e 100644
--- a/javadoc/org/apache/iceberg/actions/package-tree.html
+++ b/javadoc/org/apache/iceberg/actions/package-tree.html
@@ -81,7 +81,6 @@
 <ul>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseDeleteOrphanFilesActionResult</span></a> (implements org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a>)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseDeleteReachableFilesActionResult</span></a> (implements org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles.Result</a>)</li>
-<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseExpireSnapshotsActionResult</span></a> (implements org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a>)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseFileGroupRewriteResult</span></a> (implements org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/BaseMigrateTableActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseMigrateTableActionResult</span></a> (implements org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions">MigrateTable.Result</a>)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseRewriteDataFilesAction</span></a>&lt;ThisT&gt;</li>
@@ -96,8 +95,17 @@
 </li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteDataFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFilesActionResult</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFilesCommitManager</span></a></li>
-<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFilesCommitManager.CommitService</span></a> (implements java.io.Closeable)</li>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFilesCommitManager.CommitService</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteFileGroup</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeletesCommitManager</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewritePositionDeletesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeletesCommitManager.CommitService</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeletesGroup</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SizeBasedFileRewriter</span></a>&lt;T,F&gt; (implements org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions">FileRewriter</a>&lt;T,F&gt;)
+<ul>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SizeBasedDataRewriter</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SizeBasedPositionDeletesRewriter</span></a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -127,11 +135,15 @@
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">DeleteOrphanFiles.Result</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">DeleteReachableFiles.Result</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">ExpireSnapshots.Result</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">FileRewriter</span></a>&lt;T,F&gt;</li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/MigrateTable.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">MigrateTable.Result</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFiles.FileGroupFailureResult</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFiles.FileGroupInfo</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFiles.FileGroupRewriteResult</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFiles.Result</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteManifests.Result</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteFiles.FileGroupInfo</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteFiles.FileGroupRewriteResult</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteFiles.Result</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="../../../../org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteStrategy</span></a></li>
 <li type="circle">java.io.Serializable
diff --git a/javadoc/org/apache/iceberg/arrow/ArrowSchemaUtil.html b/javadoc/org/apache/iceberg/arrow/ArrowSchemaUtil.html
index 0ccbef1..0139ddc 100644
--- a/javadoc/org/apache/iceberg/arrow/ArrowSchemaUtil.html
+++ b/javadoc/org/apache/iceberg/arrow/ArrowSchemaUtil.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/arrow/ArrowAllocation.html" title="class in org.apache.iceberg.arrow"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../org/apache/iceberg/arrow/DictEncodedArrowConverter.html" title="class in org.apache.iceberg.arrow"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/arrow/ArrowSchemaUtil.html" target="_top">Frames</a></li>
@@ -212,7 +212,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/arrow/ArrowAllocation.html" title="class in org.apache.iceberg.arrow"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../org/apache/iceberg/arrow/DictEncodedArrowConverter.html" title="class in org.apache.iceberg.arrow"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/arrow/ArrowSchemaUtil.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/arrow/package-frame.html b/javadoc/org/apache/iceberg/arrow/package-frame.html
index 4fa1fe4..fb72084 100644
--- a/javadoc/org/apache/iceberg/arrow/package-frame.html
+++ b/javadoc/org/apache/iceberg/arrow/package-frame.html
@@ -14,6 +14,7 @@
 <ul title="Classes">
 <li><a href="ArrowAllocation.html" title="class in org.apache.iceberg.arrow" target="classFrame">ArrowAllocation</a></li>
 <li><a href="ArrowSchemaUtil.html" title="class in org.apache.iceberg.arrow" target="classFrame">ArrowSchemaUtil</a></li>
+<li><a href="DictEncodedArrowConverter.html" title="class in org.apache.iceberg.arrow" target="classFrame">DictEncodedArrowConverter</a></li>
 </ul>
 </div>
 </body>
diff --git a/javadoc/org/apache/iceberg/arrow/package-summary.html b/javadoc/org/apache/iceberg/arrow/package-summary.html
index b119dc3..1176cf8 100644
--- a/javadoc/org/apache/iceberg/arrow/package-summary.html
+++ b/javadoc/org/apache/iceberg/arrow/package-summary.html
@@ -88,6 +88,12 @@
 <td class="colFirst"><a href="../../../../org/apache/iceberg/arrow/ArrowSchemaUtil.html" title="class in org.apache.iceberg.arrow">ArrowSchemaUtil</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/arrow/DictEncodedArrowConverter.html" title="class in org.apache.iceberg.arrow">DictEncodedArrowConverter</a></td>
+<td class="colLast">
+<div class="block">This converts dictionary encoded arrow vectors to a correctly typed arrow vector.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/javadoc/org/apache/iceberg/arrow/package-tree.html b/javadoc/org/apache/iceberg/arrow/package-tree.html
index f0eca17..5be0fea 100644
--- a/javadoc/org/apache/iceberg/arrow/package-tree.html
+++ b/javadoc/org/apache/iceberg/arrow/package-tree.html
@@ -81,6 +81,7 @@
 <ul>
 <li type="circle">org.apache.iceberg.arrow.<a href="../../../../org/apache/iceberg/arrow/ArrowAllocation.html" title="class in org.apache.iceberg.arrow"><span class="typeNameLink">ArrowAllocation</span></a></li>
 <li type="circle">org.apache.iceberg.arrow.<a href="../../../../org/apache/iceberg/arrow/ArrowSchemaUtil.html" title="class in org.apache.iceberg.arrow"><span class="typeNameLink">ArrowSchemaUtil</span></a></li>
+<li type="circle">org.apache.iceberg.arrow.<a href="../../../../org/apache/iceberg/arrow/DictEncodedArrowConverter.html" title="class in org.apache.iceberg.arrow"><span class="typeNameLink">DictEncodedArrowConverter</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/ColumnVector.html b/javadoc/org/apache/iceberg/arrow/vectorized/ColumnVector.html
index bcda543..fbfce3b 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/ColumnVector.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/ColumnVector.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -132,6 +132,7 @@
    <li><code>Types.DateType</code>
    <li><code>Types.TimeType</code>
    <li><code>Types.UUIDType</code>
+   <li><code>Types.DecimalType</code>
  </ul></div>
 </li>
 </ul>
@@ -156,46 +157,60 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#close--">close</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.apache.arrow.vector.FieldVector</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getArrowVector--">getArrowVector</a></span>()</code>
+<div class="block">Decodes a dict-encoded vector and returns the actual arrow vector.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getBinary-int-">getBinary</a></span>(int&nbsp;rowId)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getBoolean-int-">getBoolean</a></span>(int&nbsp;rowId)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>java.math.BigDecimal</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getDecimal-int-int-int-">getDecimal</a></span>(int&nbsp;rowId,
+          int&nbsp;precision,
+          int&nbsp;scale)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getDouble-int-">getDouble</a></span>(int&nbsp;rowId)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>org.apache.arrow.vector.FieldVector</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getFieldVector--">getFieldVector</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getFieldVector--">getFieldVector</a></span>()</code>
+<div class="block">Returns the potentially dict-encoded <code>FieldVector</code>.</div>
+</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>float</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getFloat-int-">getFloat</a></span>(int&nbsp;rowId)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getInt-int-">getInt</a></span>(int&nbsp;rowId)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getLong-int-">getLong</a></span>(int&nbsp;rowId)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#getString-int-">getString</a></span>(int&nbsp;rowId)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#hasNull--">hasNull</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#isNullAt-int-">isNullAt</a></span>(int&nbsp;rowId)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/ColumnVector.html#numNulls--">numNulls</a></span>()</code>&nbsp;</td>
 </tr>
@@ -228,6 +243,25 @@
 <li class="blockList">
 <h4>getFieldVector</h4>
 <pre>public&nbsp;org.apache.arrow.vector.FieldVector&nbsp;getFieldVector()</pre>
+<div class="block">Returns the potentially dict-encoded <code>FieldVector</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>instance of <code>FieldVector</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getArrowVector--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getArrowVector</h4>
+<pre>public&nbsp;org.apache.arrow.vector.FieldVector&nbsp;getArrowVector()</pre>
+<div class="block">Decodes a dict-encoded vector and returns the actual arrow vector.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>instance of <code>FieldVector</code></dd>
+</dl>
 </li>
 </ul>
 <a name="hasNull--">
@@ -327,12 +361,23 @@
 <a name="getBinary-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getBinary</h4>
 <pre>public&nbsp;byte[]&nbsp;getBinary(int&nbsp;rowId)</pre>
 </li>
 </ul>
+<a name="getDecimal-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getDecimal</h4>
+<pre>public&nbsp;java.math.BigDecimal&nbsp;getDecimal(int&nbsp;rowId,
+                                       int&nbsp;precision,
+                                       int&nbsp;scale)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html b/javadoc/org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html
index 1513147..9c13f4b 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":18,"i4":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -122,7 +122,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -146,6 +146,13 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>default <a href="../../../../../org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.StringFactory">Utf8StringT</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html#ofRow-org.apache.arrow.vector.FixedSizeBinaryVector-int-">ofRow</a></span>(org.apache.arrow.vector.FixedSizeBinaryVector&nbsp;vector,
+     int&nbsp;rowId)</code>
+<div class="block">Create a UTF8 String from the row value in the FixedSizeBinaryVector vector.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.StringFactory">Utf8StringT</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html#ofRow-org.apache.arrow.vector.VarCharVector-int-">ofRow</a></span>(org.apache.arrow.vector.VarCharVector&nbsp;vector,
      int&nbsp;rowId)</code>
@@ -188,6 +195,17 @@
 <div class="block">Create a UTF8 String from the row value in the arrow vector.</div>
 </li>
 </ul>
+<a name="ofRow-org.apache.arrow.vector.FixedSizeBinaryVector-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ofRow</h4>
+<pre>default&nbsp;<a href="../../../../../org/apache/iceberg/arrow/vectorized/GenericArrowVectorAccessorFactory.StringFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.StringFactory">Utf8StringT</a>&nbsp;ofRow(org.apache.arrow.vector.FixedSizeBinaryVector&nbsp;vector,
+                          int&nbsp;rowId)</pre>
+<div class="block">Create a UTF8 String from the row value in the FixedSizeBinaryVector vector.</div>
+</li>
+</ul>
 <a name="ofBytes-byte:A-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html b/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html
index 740afa7..0fc61bc 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.ConstantVectorHolder.html
@@ -188,7 +188,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.iceberg.arrow.vectorized.<a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></h3>
-<code><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#constantHolder-int-T-">constantHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#deletedVectorHolder-int-">deletedVectorHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#descriptor--">descriptor</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dictionary--">dictionary</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dummyHolder-int-">dummyHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergType--">icebergType</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDictionaryEncoded--">isDictionaryEncoded</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDummy--">isDummy</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#nullabilityHolder--">nullabilityHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#vector--">vector</a></code></li>
+<code><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#constantHolder-int-T-">constantHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#deletedVectorHolder-int-">deletedVectorHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#descriptor--">descriptor</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dictionary--">dictionary</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dummyHolder-int-">dummyHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergField--">icebergField</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergType--">icebergType</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDictionaryEncoded--">isDictionaryEncoded</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDummy--">isDummy</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#nullabilityHolder--">nullabilityHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#vector--">vector</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.DeletedVectorHolder.html b/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.DeletedVectorHolder.html
index d3e9df1..7212c08 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.DeletedVectorHolder.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.DeletedVectorHolder.html
@@ -178,7 +178,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.iceberg.arrow.vectorized.<a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></h3>
-<code><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#constantHolder-int-T-">constantHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#deletedVectorHolder-int-">deletedVectorHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#descriptor--">descriptor</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dictionary--">dictionary</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dummyHolder-int-">dummyHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergType--">icebergType</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDictionaryEncoded--">isDictionaryEncoded</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDummy--">isDummy</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#nullabilityHolder--">nullabilityHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#vector--">vector</a></code></li>
+<code><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#constantHolder-int-T-">constantHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#deletedVectorHolder-int-">deletedVectorHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#descriptor--">descriptor</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dictionary--">dictionary</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dummyHolder-int-">dummyHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergField--">icebergField</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergType--">icebergType</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDictionaryEncoded--">isDictionaryEncoded</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDummy--">isDummy</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#nullabilityHolder--">nullabilityHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#vector--">vector</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html b/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html
index 9539a7e..2f2c542 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html
@@ -145,8 +145,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html#PositionVectorHolder-org.apache.arrow.vector.FieldVector-org.apache.iceberg.types.Type-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">PositionVectorHolder</a></span>(org.apache.arrow.vector.FieldVector&nbsp;vector,
-                    <a href="../../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>&nbsp;type,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.PositionVectorHolder.html#PositionVectorHolder-org.apache.arrow.vector.FieldVector-org.apache.iceberg.types.Types.NestedField-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">PositionVectorHolder</a></span>(org.apache.arrow.vector.FieldVector&nbsp;vector,
+                    <a href="../../../../../org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a>&nbsp;icebergField,
                     <a href="../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nulls)</code>&nbsp;</td>
 </tr>
 </table>
@@ -163,7 +163,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.iceberg.arrow.vectorized.<a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a></h3>
-<code><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#constantHolder-int-T-">constantHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#deletedVectorHolder-int-">deletedVectorHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#descriptor--">descriptor</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dictionary--">dictionary</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dummyHolder-int-">dummyHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergType--">icebergType</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDictionaryEncoded--">isDictionaryEncoded</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDummy--">isDummy</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#nullabilityHolder--">nullabilityHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#numValues--">numValues</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#vector--">vector</a></code></li>
+<code><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#constantHolder-int-T-">constantHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#deletedVectorHolder-int-">deletedVectorHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#descriptor--">descriptor</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dictionary--">dictionary</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dummyHolder-int-">dummyHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergField--">icebergField</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergType--">icebergType</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDictionaryEncoded--">isDictionaryEncoded</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDummy--">isDummy</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#nullabilityHolder--">nullabilityHolder</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#numValues--">numValues</a>, <a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#vector--">vector</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -186,14 +186,14 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="PositionVectorHolder-org.apache.arrow.vector.FieldVector-org.apache.iceberg.types.Type-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">
+<a name="PositionVectorHolder-org.apache.arrow.vector.FieldVector-org.apache.iceberg.types.Types.NestedField-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PositionVectorHolder</h4>
 <pre>public&nbsp;PositionVectorHolder(org.apache.arrow.vector.FieldVector&nbsp;vector,
-                            <a href="../../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>&nbsp;type,
+                            <a href="../../../../../org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a>&nbsp;icebergField,
                             <a href="../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nulls)</pre>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.html b/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.html
index b679d8d..308c3f5 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/VectorHolder.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -163,12 +163,12 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#VectorHolder-org.apache.parquet.column.ColumnDescriptor-org.apache.arrow.vector.FieldVector-boolean-org.apache.parquet.column.Dictionary-org.apache.iceberg.arrow.vectorized.NullabilityHolder-org.apache.iceberg.types.Type-">VectorHolder</a></span>(org.apache.parquet.column.ColumnDescriptor&nbsp;columnDescriptor,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#VectorHolder-org.apache.parquet.column.ColumnDescriptor-org.apache.arrow.vector.FieldVector-boolean-org.apache.parquet.column.Dictionary-org.apache.iceberg.arrow.vectorized.NullabilityHolder-org.apache.iceberg.types.Types.NestedField-">VectorHolder</a></span>(org.apache.parquet.column.ColumnDescriptor&nbsp;columnDescriptor,
             org.apache.arrow.vector.FieldVector&nbsp;vector,
             boolean&nbsp;isDictionaryEncoded,
             org.apache.parquet.column.Dictionary&nbsp;dictionary,
             <a href="../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder,
-            <a href="../../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>&nbsp;type)</code>&nbsp;</td>
+            <a href="../../../../../org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a>&nbsp;icebergField)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -207,26 +207,30 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#dummyHolder-int-">dummyHolder</a></span>(int&nbsp;numRows)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergField--">icebergField</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#icebergType--">icebergType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDictionaryEncoded--">isDictionaryEncoded</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#isDummy--">isDummy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#nullabilityHolder--">nullabilityHolder</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#numValues--">numValues</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>org.apache.arrow.vector.FieldVector</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/arrow/vectorized/VectorHolder.html#vector--">vector</a></span>()</code>&nbsp;</td>
 </tr>
@@ -252,7 +256,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="VectorHolder-org.apache.parquet.column.ColumnDescriptor-org.apache.arrow.vector.FieldVector-boolean-org.apache.parquet.column.Dictionary-org.apache.iceberg.arrow.vectorized.NullabilityHolder-org.apache.iceberg.types.Type-">
+<a name="VectorHolder-org.apache.parquet.column.ColumnDescriptor-org.apache.arrow.vector.FieldVector-boolean-org.apache.parquet.column.Dictionary-org.apache.iceberg.arrow.vectorized.NullabilityHolder-org.apache.iceberg.types.Types.NestedField-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -263,7 +267,7 @@
                     boolean&nbsp;isDictionaryEncoded,
                     org.apache.parquet.column.Dictionary&nbsp;dictionary,
                     <a href="../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder,
-                    <a href="../../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>&nbsp;type)</pre>
+                    <a href="../../../../../org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a>&nbsp;icebergField)</pre>
 </li>
 </ul>
 </li>
@@ -328,6 +332,15 @@
 <pre>public&nbsp;<a href="../../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>&nbsp;icebergType()</pre>
 </li>
 </ul>
+<a name="icebergField--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>icebergField</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/types/Types.NestedField.html" title="class in org.apache.iceberg.types">Types.NestedField</a>&nbsp;icebergField()</pre>
+</li>
+</ul>
 <a name="numValues--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html
index 399fb22..3a860e6 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BooleanBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.BooleanBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.DictionaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.DictionaryBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.DoubleBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.DoubleBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedLengthDecimalBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedSizeBinaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedSizeBinaryBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedWidthTypeBinaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedWidthTypeBinaryBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FloatBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FloatBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntBackedDecimalBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntegerBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntegerBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBackedDecimalBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampMillisBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.VarWidthTypeBatchReader</a></dd>
+<dd><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BooleanBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.BooleanBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.DictionaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.DictionaryBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.DoubleBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.DoubleBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedLengthDecimalBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedSizeBinaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedSizeBinaryBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedWidthTypeBinaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedWidthTypeBinaryBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FloatBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FloatBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntBackedDecimalBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntegerBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntegerBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBackedDecimalBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampInt96BatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampMillisBatchReader</a>, <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.VarWidthTypeBatchReader</a></dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html
index 727c052..1890c3d 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -115,8 +115,12 @@
 <dd><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">VectorizedColumnIterator.FixedLengthDecimalBatchReader</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">VectorizedColumnIterator.FixedLengthDecimalBatchReader</span>
 extends <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.BatchReader</a></pre>
 </li>
 </ul>
@@ -136,7 +140,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html#FixedLengthDecimalBatchReader--">FixedLengthDecimalBatchReader</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html#FixedLengthDecimalBatchReader--">FixedLengthDecimalBatchReader</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,7 +154,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -159,7 +165,9 @@
            int&nbsp;expectedBatchSize,
            int&nbsp;numValsInVector,
            int&nbsp;typeWidth,
-           <a href="../../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code>&nbsp;</td>
+           <a href="../../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -197,6 +205,7 @@
 <li class="blockList">
 <h4>FixedLengthDecimalBatchReader</h4>
 <pre>public&nbsp;FixedLengthDecimalBatchReader()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -218,6 +227,7 @@
                           int&nbsp;numValsInVector,
                           int&nbsp;typeWidth,
                           <a href="../../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.BatchReader</a></code></dd>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html
index 24d1e8c..b3a0e40 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -115,8 +115,12 @@
 <dd><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">VectorizedColumnIterator.IntBackedDecimalBatchReader</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">VectorizedColumnIterator.IntBackedDecimalBatchReader</span>
 extends <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.BatchReader</a></pre>
 </li>
 </ul>
@@ -136,7 +140,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html#IntBackedDecimalBatchReader--">IntBackedDecimalBatchReader</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html#IntBackedDecimalBatchReader--">IntBackedDecimalBatchReader</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,7 +154,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -159,7 +165,9 @@
            int&nbsp;expectedBatchSize,
            int&nbsp;numValsInVector,
            int&nbsp;typeWidth,
-           <a href="../../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code>&nbsp;</td>
+           <a href="../../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -197,6 +205,7 @@
 <li class="blockList">
 <h4>IntBackedDecimalBatchReader</h4>
 <pre>public&nbsp;IntBackedDecimalBatchReader()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -218,6 +227,7 @@
                           int&nbsp;numValsInVector,
                           int&nbsp;typeWidth,
                           <a href="../../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.BatchReader</a></code></dd>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html
index 0176505..7e140d0 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -115,8 +115,12 @@
 <dd><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator</a></dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">VectorizedColumnIterator.LongBackedDecimalBatchReader</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">VectorizedColumnIterator.LongBackedDecimalBatchReader</span>
 extends <a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.BatchReader</a></pre>
 </li>
 </ul>
@@ -136,7 +140,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html#LongBackedDecimalBatchReader--">LongBackedDecimalBatchReader</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html#LongBackedDecimalBatchReader--">LongBackedDecimalBatchReader</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,7 +154,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -159,7 +165,9 @@
            int&nbsp;expectedBatchSize,
            int&nbsp;numValsInVector,
            int&nbsp;typeWidth,
-           <a href="../../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code>&nbsp;</td>
+           <a href="../../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -197,6 +205,7 @@
 <li class="blockList">
 <h4>LongBackedDecimalBatchReader</h4>
 <pre>public&nbsp;LongBackedDecimalBatchReader()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -218,6 +227,7 @@
                           int&nbsp;numValsInVector,
                           int&nbsp;typeWidth,
                           <a href="../../../../../../org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html#nextBatchOf-org.apache.arrow.vector.FieldVector-int-int-int-org.apache.iceberg.arrow.vectorized.NullabilityHolder-">nextBatchOf</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.BatchReader</a></code></dd>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html
index 38b5568..466fad4 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" target="_top">Frames</a></li>
@@ -252,7 +252,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html
index 8376af6..b57e952 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -251,7 +251,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html
index dc10405..89ff633 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":42,"i8":10,"i9":42,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -152,7 +152,11 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedLengthDecimalBatchReader</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedLengthDecimalBatchReader</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
@@ -168,7 +172,11 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntBackedDecimalBatchReader</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntBackedDecimalBatchReader</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
@@ -176,7 +184,11 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBackedDecimalBatchReader</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBackedDecimalBatchReader</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
@@ -184,10 +196,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampMillisBatchReader</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampInt96BatchReader</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampMillisBatchReader</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.VarWidthTypeBatchReader</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -234,7 +250,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -253,7 +269,11 @@
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedLengthDecimalBatchReader</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#fixedLengthDecimalBatchReader--">fixedLengthDecimalBatchReader</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#fixedLengthDecimalBatchReader--">fixedLengthDecimalBatchReader</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedSizeBinaryBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedSizeBinaryBatchReader</a></code></td>
@@ -269,7 +289,11 @@
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntBackedDecimalBatchReader</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#intBackedDecimalBatchReader--">intBackedDecimalBatchReader</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#intBackedDecimalBatchReader--">intBackedDecimalBatchReader</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntegerBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntegerBatchReader</a></code></td>
@@ -277,7 +301,11 @@
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBackedDecimalBatchReader</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#longBackedDecimalBatchReader--">longBackedDecimalBatchReader</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#longBackedDecimalBatchReader--">longBackedDecimalBatchReader</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0</span></div>
+</div>
+</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBatchReader</a></code></td>
@@ -301,10 +329,14 @@
                boolean&nbsp;allPagesDictEncoded)</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampInt96BatchReader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#timestampInt96BatchReader--">timestampInt96BatchReader</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampMillisBatchReader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#timestampMillisBatchReader--">timestampMillisBatchReader</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.VarWidthTypeBatchReader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.html#varWidthTypeBatchReader--">varWidthTypeBatchReader</a></span>()</code>&nbsp;</td>
 </tr>
@@ -433,6 +465,15 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampMillisBatchReader</a>&nbsp;timestampMillisBatchReader()</pre>
 </li>
 </ul>
+<a name="timestampInt96BatchReader--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>timestampInt96BatchReader</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.TimestampInt96BatchReader</a>&nbsp;timestampInt96BatchReader()</pre>
+</li>
+</ul>
 <a name="floatBatchReader--">
 <!--   -->
 </a>
@@ -457,7 +498,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>intBackedDecimalBatchReader</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntBackedDecimalBatchReader</a>&nbsp;intBackedDecimalBatchReader()</pre>
+<pre>@Deprecated
+public&nbsp;<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.IntBackedDecimalBatchReader</a>&nbsp;intBackedDecimalBatchReader()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0</span></div>
 </li>
 </ul>
 <a name="longBackedDecimalBatchReader--">
@@ -466,7 +509,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>longBackedDecimalBatchReader</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBackedDecimalBatchReader</a>&nbsp;longBackedDecimalBatchReader()</pre>
+<pre>@Deprecated
+public&nbsp;<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.LongBackedDecimalBatchReader</a>&nbsp;longBackedDecimalBatchReader()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0</span></div>
 </li>
 </ul>
 <a name="fixedLengthDecimalBatchReader--">
@@ -475,7 +520,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>fixedLengthDecimalBatchReader</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedLengthDecimalBatchReader</a>&nbsp;fixedLengthDecimalBatchReader()</pre>
+<pre>@Deprecated
+public&nbsp;<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.FixedLengthDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedColumnIterator.FixedLengthDecimalBatchReader</a>&nbsp;fixedLengthDecimalBatchReader()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0</span></div>
 </li>
 </ul>
 <a name="fixedSizeBinaryBatchReader--">
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html
index da66def..4513e06 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -199,10 +199,14 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html#longDictEncodedReader--">longDictEncodedReader</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
+<td class="colFirst"><code>org.apache.iceberg.arrow.vectorized.parquet.VectorizedDictionaryEncodedParquetValuesReader.TimestampInt96DictEncodedReader</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html#timestampInt96DictEncodedReader--">timestampInt96DictEncodedReader</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>org.apache.iceberg.arrow.vectorized.parquet.VectorizedDictionaryEncodedParquetValuesReader.TimestampMillisDictEncodedReader</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html#timestampMillisDictEncodedReader--">timestampMillisDictEncodedReader</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>org.apache.iceberg.arrow.vectorized.parquet.VectorizedDictionaryEncodedParquetValuesReader.VarWidthBinaryDictEncodedReader</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html#varWidthBinaryDictEncodedReader--">varWidthBinaryDictEncodedReader</a></span>()</code>&nbsp;</td>
 </tr>
@@ -287,6 +291,15 @@
 <pre>public&nbsp;org.apache.iceberg.arrow.vectorized.parquet.VectorizedDictionaryEncodedParquetValuesReader.TimestampMillisDictEncodedReader&nbsp;timestampMillisDictEncodedReader()</pre>
 </li>
 </ul>
+<a name="timestampInt96DictEncodedReader--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>timestampInt96DictEncodedReader</h4>
+<pre>public&nbsp;org.apache.iceberg.arrow.vectorized.parquet.VectorizedDictionaryEncodedParquetValuesReader.TimestampInt96DictEncodedReader&nbsp;timestampInt96DictEncodedReader()</pre>
+</li>
+</ul>
 <a name="integerDictEncodedReader--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/package-summary.html b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/package-summary.html
index 64e3f25..eb21983 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/package-summary.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/package-summary.html
@@ -98,17 +98,17 @@
  row group in a batched fashion.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedDictionaryEncodedParquetValuesReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedDictionaryEncodedParquetValuesReader</a></td>
 <td class="colLast">
 <div class="block">This decoder reads Parquet dictionary encoded data in a vectorized fashion.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedPageIterator.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedPageIterator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedParquetDefinitionLevelReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet">VectorizedParquetDefinitionLevelReader</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/package-tree.html b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/package-tree.html
index 30c4df6..7447107 100644
--- a/javadoc/org/apache/iceberg/arrow/vectorized/parquet/package-tree.html
+++ b/javadoc/org/apache/iceberg/arrow/vectorized/parquet/package-tree.html
@@ -113,6 +113,7 @@
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntegerBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.IntegerBatchReader</span></a></li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.LongBackedDecimalBatchReader</span></a></li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.LongBatchReader</span></a></li>
+<li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.TimestampInt96BatchReader</span></a></li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.TimestampMillisBatchReader</span></a></li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="../../../../../../org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.VarWidthTypeBatchReader</span></a></li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/aws/AwsClientFactory.html b/javadoc/org/apache/iceberg/aws/AwsClientFactory.html
index ce22ecb..6e9c63c 100644
--- a/javadoc/org/apache/iceberg/aws/AwsClientFactory.html
+++ b/javadoc/org/apache/iceberg/aws/AwsClientFactory.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/aws/AwsClientFactory.html" target="_top">Frames</a></li>
@@ -272,7 +272,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/aws/AwsClientFactory.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/aws/AwsProperties.html b/javadoc/org/apache/iceberg/aws/AwsProperties.html
index a9193e7..ca3e4ea 100644
--- a/javadoc/org/apache/iceberg/aws/AwsProperties.html
+++ b/javadoc/org/apache/iceberg/aws/AwsProperties.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":42,"i2":10,"i3":10,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":42,"i22":42,"i23":10,"i24":10,"i25":10,"i26":42,"i27":42,"i28":42,"i29":42,"i30":42,"i31":42,"i32":42,"i33":42,"i34":42,"i35":42,"i36":42,"i37":42,"i38":42,"i39":42,"i40":42,"i41":42,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":42,"i49":42,"i50":42,"i51":42,"i52":42,"i53":42,"i54":42,"i55":42,"i56":42,"i57":42,"i58":42,"i59":42,"i60":42,"i61":42,"i62":42,"i63":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -47,8 +47,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/aws/RESTSigV4Signer.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/aws/AwsProperties.html" target="_top">Frames</a></li>
@@ -179,7 +179,10 @@
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#CLIENT_CREDENTIALS_PROVIDER">CLIENT_CREDENTIALS_PROVIDER</a></span></code>
-<div class="block">Configure the AWS credentials provider used to create AWS clients.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -191,8 +194,10 @@
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#CLIENT_REGION">CLIENT_REGION</a></span></code>
-<div class="block">Used by <code>AwsClientFactories.DefaultAwsClientFactory</code> and also
- other client factory classes.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -264,90 +269,136 @@
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS">HTTP_CLIENT_APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS</a></span></code>
-<div class="block">Used to configure the connection acquisition timeout in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_MAX_IDLE_TIME_MS">HTTP_CLIENT_APACHE_CONNECTION_MAX_IDLE_TIME_MS</a></span></code>
-<div class="block">Used to configure the connection max idle time in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_TIME_TO_LIVE_MS">HTTP_CLIENT_APACHE_CONNECTION_TIME_TO_LIVE_MS</a></span></code>
-<div class="block">Used to configure the connection time to live in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_CONNECTION_TIMEOUT_MS">HTTP_CLIENT_APACHE_CONNECTION_TIMEOUT_MS</a></span></code>
-<div class="block">Used to configure the connection timeout in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_EXPECT_CONTINUE_ENABLED">HTTP_CLIENT_APACHE_EXPECT_CONTINUE_ENABLED</a></span></code>
-<div class="block">Used to configure whether to enable the expect continue setting for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_MAX_CONNECTIONS">HTTP_CLIENT_APACHE_MAX_CONNECTIONS</a></span></code>
-<div class="block">Used to configure the max connections number for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_SOCKET_TIMEOUT_MS">HTTP_CLIENT_APACHE_SOCKET_TIMEOUT_MS</a></span></code>
-<div class="block">Used to configure the socket timeout in milliseconds for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_TCP_KEEP_ALIVE_ENABLED">HTTP_CLIENT_APACHE_TCP_KEEP_ALIVE_ENABLED</a></span></code>
-<div class="block">Used to configure whether to enable the tcp keep alive setting for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED">HTTP_CLIENT_APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED</a></span></code>
-<div class="block">Used to configure whether to use idle connection reaper for <code>ApacheHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE">HTTP_CLIENT_TYPE</a></span></code>
-<div class="block">The type of <code>SdkHttpClient</code> implementation used by <a href="../../../../org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a> If set, all AWS clients will use this specified HTTP client.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE">HTTP_CLIENT_TYPE_APACHE</a></span></code>
-<div class="block">If this is set under <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a>, <code>ApacheHttpClient</code> will be used as the HTTP Client in <a href="../../../../org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_DEFAULT">HTTP_CLIENT_TYPE_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_DEFAULT">HTTP_CLIENT_TYPE_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_URLCONNECTION">HTTP_CLIENT_TYPE_URLCONNECTION</a></span></code>
-<div class="block">If this is set under <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a>, <code>UrlConnectionHttpClient</code> will be used as the HTTP
- Client in <a href="../../../../org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_URLCONNECTION_CONNECTION_TIMEOUT_MS">HTTP_CLIENT_URLCONNECTION_CONNECTION_TIMEOUT_MS</a></span></code>
-<div class="block">Used to configure the connection timeout in milliseconds for <code>UrlConnectionHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_URLCONNECTION_SOCKET_TIMEOUT_MS">HTTP_CLIENT_URLCONNECTION_SOCKET_TIMEOUT_MS</a></span></code>
-<div class="block">Used to configure the socket timeout in milliseconds for <code>UrlConnectionHttpClient.Builder</code>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -401,267 +452,433 @@
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_ACCELERATION_ENABLED">S3_ACCELERATION_ENABLED</a></span></code>
-<div class="block">Determines if S3 client will use the Acceleration Mode, default to false.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_ACCELERATION_ENABLED_DEFAULT">S3_ACCELERATION_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_ACCELERATION_ENABLED_DEFAULT">S3_ACCELERATION_ENABLED_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_ACCESS_POINTS_PREFIX">S3_ACCESS_POINTS_PREFIX</a></span></code>
-<div class="block">Used by <a href="../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a>, prefix used for bucket access point configuration.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_CHECKSUM_ENABLED">S3_CHECKSUM_ENABLED</a></span></code>
-<div class="block">Enables eTag checks for S3 PUT and MULTIPART upload requests.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_CHECKSUM_ENABLED_DEFAULT">S3_CHECKSUM_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_CHECKSUM_ENABLED_DEFAULT">S3_CHECKSUM_ENABLED_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_ENABLED">S3_DELETE_ENABLED</a></span></code>
-<div class="block">Determines if <a href="../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> deletes the object when io.delete() is called, default to true.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_ENABLED_DEFAULT">S3_DELETE_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_ENABLED_DEFAULT">S3_DELETE_ENABLED_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_TAGS_PREFIX">S3_DELETE_TAGS_PREFIX</a></span></code>
-<div class="block">Used by <a href="../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when deleting.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_DUALSTACK_ENABLED">S3_DUALSTACK_ENABLED</a></span></code>
-<div class="block">Determines if S3 client will use the Dualstack Mode, default to false.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_DUALSTACK_ENABLED_DEFAULT">S3_DUALSTACK_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_DUALSTACK_ENABLED_DEFAULT">S3_DUALSTACK_ENABLED_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_PRELOAD_CLIENT_ENABLED">S3_PRELOAD_CLIENT_ENABLED</a></span></code>
-<div class="block">This flag controls whether the S3 client will be initialized during the S3FileIO
- initialization, instead of default lazy initialization upon use.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_PRELOAD_CLIENT_ENABLED_DEFAULT">S3_PRELOAD_CLIENT_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_PRELOAD_CLIENT_ENABLED_DEFAULT">S3_PRELOAD_CLIENT_ENABLED_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_REMOTE_SIGNING_ENABLED">S3_REMOTE_SIGNING_ENABLED</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_REMOTE_SIGNING_ENABLED">S3_REMOTE_SIGNING_ENABLED</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_REMOTE_SIGNING_ENABLED_DEFAULT">S3_REMOTE_SIGNING_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_REMOTE_SIGNING_ENABLED_DEFAULT">S3_REMOTE_SIGNING_ENABLED_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_TAG_ICEBERG_NAMESPACE">S3_TAG_ICEBERG_NAMESPACE</a></span></code>
-<div class="block">Tag name that will be used by <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TAGS_PREFIX"><code>S3_WRITE_TAGS_PREFIX</code></a> when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_NAMESPACE_TAG_ENABLED"><code>S3_WRITE_NAMESPACE_TAG_ENABLED</code></a> is enabled</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_TAG_ICEBERG_TABLE">S3_TAG_ICEBERG_TABLE</a></span></code>
-<div class="block">Tag name that will be used by <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TAGS_PREFIX"><code>S3_WRITE_TAGS_PREFIX</code></a> when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TABLE_TAG_ENABLED"><code>S3_WRITE_TABLE_TAG_ENABLED</code></a> is enabled</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_USE_ARN_REGION_ENABLED">S3_USE_ARN_REGION_ENABLED</a></span></code>
-<div class="block">Enable to make S3FileIO, to make cross-region call to the region specified in the ARN of an
- access point.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_USE_ARN_REGION_ENABLED_DEFAULT">S3_USE_ARN_REGION_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_USE_ARN_REGION_ENABLED_DEFAULT">S3_USE_ARN_REGION_ENABLED_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_NAMESPACE_TAG_ENABLED">S3_WRITE_NAMESPACE_TAG_ENABLED</a></span></code>
-<div class="block">Used by <a href="../../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TABLE_TAG_ENABLED">S3_WRITE_TABLE_TAG_ENABLED</a></span></code>
-<div class="block">Used by <a href="../../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TABLE_TAG_ENABLED_DEFAULT">S3_WRITE_TABLE_TAG_ENABLED_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TABLE_TAG_ENABLED_DEFAULT">S3_WRITE_TABLE_TAG_ENABLED_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TAGS_PREFIX">S3_WRITE_TAGS_PREFIX</a></span></code>
-<div class="block">Used by <a href="../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when writing.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ACCESS_KEY_ID">S3FILEIO_ACCESS_KEY_ID</a></span></code>
-<div class="block">Configure the static access key ID used to access S3FileIO.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ACL">S3FILEIO_ACL</a></span></code>
-<div class="block">Used to configure canned access control list (ACL) for S3 client to use during write.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_BATCH_SIZE">S3FILEIO_DELETE_BATCH_SIZE</a></span></code>
-<div class="block">Configure the batch size used when deleting multiple files from a given S3 bucket</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_BATCH_SIZE_DEFAULT">S3FILEIO_DELETE_BATCH_SIZE_DEFAULT</a></span></code>
-<div class="block">Default batch size used when deleting files.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_BATCH_SIZE_MAX">S3FILEIO_DELETE_BATCH_SIZE_MAX</a></span></code>
-<div class="block">Max possible batch size for deletion.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_DELETE_THREADS">S3FILEIO_DELETE_THREADS</a></span></code>
-<div class="block">Number of threads to use for adding delete tags to S3 objects, default to <code>Runtime.availableProcessors()</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_ENDPOINT">S3FILEIO_ENDPOINT</a></span></code>
-<div class="block">Configure an alternative endpoint of the S3 service for S3FileIO to access.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE">S3FILEIO_MULTIPART_SIZE</a></span></code>
-<div class="block">The size of a single part for multipart upload requests in bytes (default: 32MB).</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE_DEFAULT">S3FILEIO_MULTIPART_SIZE_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE_DEFAULT">S3FILEIO_MULTIPART_SIZE_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE_MIN">S3FILEIO_MULTIPART_SIZE_MIN</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_SIZE_MIN">S3FILEIO_MULTIPART_SIZE_MIN</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_THRESHOLD_FACTOR">S3FILEIO_MULTIPART_THRESHOLD_FACTOR</a></span></code>
-<div class="block">The threshold expressed as a factor times the multipart size at which to switch from uploading
- using a single put object request to uploading using multipart upload (default: 1.5).</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT">S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT">S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_MULTIPART_UPLOAD_THREADS">S3FILEIO_MULTIPART_UPLOAD_THREADS</a></span></code>
-<div class="block">Number of threads to use for uploading parts to S3 (shared pool across all output streams),
- default to <code>Runtime.availableProcessors()</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_PATH_STYLE_ACCESS">S3FILEIO_PATH_STYLE_ACCESS</a></span></code>
-<div class="block">If set <code>true</code>, requests to S3FileIO will use Path-Style, otherwise, Virtual Hosted-Style
- will be used.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_PATH_STYLE_ACCESS_DEFAULT">S3FILEIO_PATH_STYLE_ACCESS_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_PATH_STYLE_ACCESS_DEFAULT">S3FILEIO_PATH_STYLE_ACCESS_DEFAULT</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SECRET_ACCESS_KEY">S3FILEIO_SECRET_ACCESS_KEY</a></span></code>
-<div class="block">Configure the static secret access key used to access S3FileIO.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SESSION_TOKEN">S3FILEIO_SESSION_TOKEN</a></span></code>
-<div class="block">Configure the static session token used to access S3FileIO.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_KEY">S3FILEIO_SSE_KEY</a></span></code>
-<div class="block">If S3 encryption type is SSE-KMS, input is a KMS Key ID or ARN.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_MD5">S3FILEIO_SSE_MD5</a></span></code>
-<div class="block">If S3 encryption type is SSE-C, input is the base-64 MD5 digest of the secret key.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE">S3FILEIO_SSE_TYPE</a></span></code>
-<div class="block">Type of S3 Server side encryption used, default to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_NONE"><code>S3FILEIO_SSE_TYPE_NONE</code></a>.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_CUSTOM">S3FILEIO_SSE_TYPE_CUSTOM</a></span></code>
-<div class="block">S3 SSE-C encryption.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_KMS">S3FILEIO_SSE_TYPE_KMS</a></span></code>
-<div class="block">S3 SSE-KMS encryption.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_NONE">S3FILEIO_SSE_TYPE_NONE</a></span></code>
-<div class="block">No server side encryption.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_S3">S3FILEIO_SSE_TYPE_S3</a></span></code>
-<div class="block">S3 SSE-S3 encryption.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_STAGING_DIRECTORY">S3FILEIO_STAGING_DIRECTORY</a></span></code>
-<div class="block">Location to put staging files for upload to S3, default to temp directory set in
- java.io.tmpdir.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 </table>
@@ -694,7 +911,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -708,7 +925,10 @@
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;T extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder&gt;<br>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#applyClientRegionConfiguration-T-">applyClientRegionConfiguration</a></span>(T&nbsp;builder)</code>
-<div class="block">Configure a client AWS region.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
@@ -726,31 +946,46 @@
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>&lt;T extends software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder&gt;<br>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#applyHttpClientConfigurations-T-">applyHttpClientConfigurations</a></span>(T&nbsp;builder)</code>
-<div class="block">Configure the httpClient for a client according to the HttpClientType.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;<br>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#applyS3CredentialConfigurations-T-">applyS3CredentialConfigurations</a></span>(T&nbsp;builder)</code>
-<div class="block">Configure the credentials for an S3 client.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;<br>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#applyS3EndpointConfigurations-T-">applyS3EndpointConfigurations</a></span>(T&nbsp;builder)</code>
-<div class="block">Override the endpoint for an S3 client.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;<br>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#applyS3ServiceConfigurations-T-">applyS3ServiceConfigurations</a></span>(T&nbsp;builder)</code>
-<div class="block">Configure services settings for an S3 client.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;<br>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#applyS3SignerConfiguration-T-">applyS3SignerConfiguration</a></span>(T&nbsp;builder)</code>
-<div class="block">Configure a signer for an S3 client.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
@@ -803,11 +1038,21 @@
 </tr>
 <tr id="i21" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#isS3ChecksumEnabled--">isS3ChecksumEnabled</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#isS3ChecksumEnabled--">isS3ChecksumEnabled</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i22" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#isS3DeleteEnabled--">isS3DeleteEnabled</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#isS3DeleteEnabled--">isS3DeleteEnabled</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i23" class="rowColor">
 <td class="colFirst"><code>software.amazon.awssdk.auth.credentials.AwsCredentialsProvider</code></td>
@@ -823,67 +1068,147 @@
 </tr>
 <tr id="i26" class="altColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3BucketToAccessPointMapping--">s3BucketToAccessPointMapping</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3BucketToAccessPointMapping--">s3BucketToAccessPointMapping</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i27" class="rowColor">
 <td class="colFirst"><code>java.util.Set&lt;software.amazon.awssdk.services.s3.model.Tag&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3DeleteTags--">s3DeleteTags</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3DeleteTags--">s3DeleteTags</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i28" class="altColor">
 <td class="colFirst"><code>software.amazon.awssdk.services.s3.model.ObjectCannedACL</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoAcl--">s3FileIoAcl</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoAcl--">s3FileIoAcl</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i29" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoDeleteBatchSize--">s3FileIoDeleteBatchSize</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoDeleteBatchSize--">s3FileIoDeleteBatchSize</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i30" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoDeleteThreads--">s3FileIoDeleteThreads</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoDeleteThreads--">s3FileIoDeleteThreads</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i31" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoMultiPartSize--">s3FileIoMultiPartSize</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoMultiPartSize--">s3FileIoMultiPartSize</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i32" class="altColor">
 <td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIOMultipartThresholdFactor--">s3FileIOMultipartThresholdFactor</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIOMultipartThresholdFactor--">s3FileIOMultipartThresholdFactor</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i33" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoMultipartUploadThreads--">s3FileIoMultipartUploadThreads</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoMultipartUploadThreads--">s3FileIoMultipartUploadThreads</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i34" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseKey--">s3FileIoSseKey</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseKey--">s3FileIoSseKey</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i35" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseMd5--">s3FileIoSseMd5</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseMd5--">s3FileIoSseMd5</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i36" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseType--">s3FileIoSseType</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3FileIoSseType--">s3FileIoSseType</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i37" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3fileIoStagingDirectory--">s3fileIoStagingDirectory</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3fileIoStagingDirectory--">s3fileIoStagingDirectory</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i38" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3PreloadClientEnabled--">s3PreloadClientEnabled</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3PreloadClientEnabled--">s3PreloadClientEnabled</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i39" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3WriteNamespaceTagEnabled--">s3WriteNamespaceTagEnabled</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3WriteNamespaceTagEnabled--">s3WriteNamespaceTagEnabled</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i40" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3WriteTableTagEnabled--">s3WriteTableTagEnabled</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3WriteTableTagEnabled--">s3WriteTableTagEnabled</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i41" class="rowColor">
 <td class="colFirst"><code>java.util.Set&lt;software.amazon.awssdk.services.s3.model.Tag&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3WriteTags--">s3WriteTags</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#s3WriteTags--">s3WriteTags</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i42" class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -911,63 +1236,138 @@
 </tr>
 <tr id="i48" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3ChecksumEnabled-boolean-">setS3ChecksumEnabled</a></span>(boolean&nbsp;eTagCheckEnabled)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3ChecksumEnabled-boolean-">setS3ChecksumEnabled</a></span>(boolean&nbsp;eTagCheckEnabled)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i49" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3DeleteEnabled-boolean-">setS3DeleteEnabled</a></span>(boolean&nbsp;s3DeleteEnabled)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3DeleteEnabled-boolean-">setS3DeleteEnabled</a></span>(boolean&nbsp;s3DeleteEnabled)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i50" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoAcl-software.amazon.awssdk.services.s3.model.ObjectCannedACL-">setS3FileIoAcl</a></span>(software.amazon.awssdk.services.s3.model.ObjectCannedACL&nbsp;acl)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoAcl-software.amazon.awssdk.services.s3.model.ObjectCannedACL-">setS3FileIoAcl</a></span>(software.amazon.awssdk.services.s3.model.ObjectCannedACL&nbsp;acl)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i51" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoDeleteBatchSize-int-">setS3FileIoDeleteBatchSize</a></span>(int&nbsp;deleteBatchSize)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoDeleteBatchSize-int-">setS3FileIoDeleteBatchSize</a></span>(int&nbsp;deleteBatchSize)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i52" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoDeleteThreads-int-">setS3FileIoDeleteThreads</a></span>(int&nbsp;threads)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoDeleteThreads-int-">setS3FileIoDeleteThreads</a></span>(int&nbsp;threads)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i53" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultiPartSize-int-">setS3FileIoMultiPartSize</a></span>(int&nbsp;size)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultiPartSize-int-">setS3FileIoMultiPartSize</a></span>(int&nbsp;size)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i54" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultipartThresholdFactor-double-">setS3FileIoMultipartThresholdFactor</a></span>(double&nbsp;factor)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultipartThresholdFactor-double-">setS3FileIoMultipartThresholdFactor</a></span>(double&nbsp;factor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i55" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultipartUploadThreads-int-">setS3FileIoMultipartUploadThreads</a></span>(int&nbsp;threads)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoMultipartUploadThreads-int-">setS3FileIoMultipartUploadThreads</a></span>(int&nbsp;threads)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i56" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseKey-java.lang.String-">setS3FileIoSseKey</a></span>(java.lang.String&nbsp;sseKey)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseKey-java.lang.String-">setS3FileIoSseKey</a></span>(java.lang.String&nbsp;sseKey)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i57" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseMd5-java.lang.String-">setS3FileIoSseMd5</a></span>(java.lang.String&nbsp;sseMd5)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseMd5-java.lang.String-">setS3FileIoSseMd5</a></span>(java.lang.String&nbsp;sseMd5)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i58" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseType-java.lang.String-">setS3FileIoSseType</a></span>(java.lang.String&nbsp;sseType)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3FileIoSseType-java.lang.String-">setS3FileIoSseType</a></span>(java.lang.String&nbsp;sseType)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i59" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3fileIoStagingDirectory-java.lang.String-">setS3fileIoStagingDirectory</a></span>(java.lang.String&nbsp;directory)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3fileIoStagingDirectory-java.lang.String-">setS3fileIoStagingDirectory</a></span>(java.lang.String&nbsp;directory)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i60" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3PreloadClientEnabled-boolean-">setS3PreloadClientEnabled</a></span>(boolean&nbsp;s3PreloadClientEnabled)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3PreloadClientEnabled-boolean-">setS3PreloadClientEnabled</a></span>(boolean&nbsp;s3PreloadClientEnabled)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i61" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3WriteNamespaceTagEnabled-boolean-">setS3WriteNamespaceTagEnabled</a></span>(boolean&nbsp;s3WriteNamespaceTagEnabled)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3WriteNamespaceTagEnabled-boolean-">setS3WriteNamespaceTagEnabled</a></span>(boolean&nbsp;s3WriteNamespaceTagEnabled)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i62" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3WriteTableTagEnabled-boolean-">setS3WriteTableTagEnabled</a></span>(boolean&nbsp;s3WriteTableNameTagEnabled)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html#setS3WriteTableTagEnabled-boolean-">setS3WriteTableTagEnabled</a></span>(boolean&nbsp;s3WriteTableNameTagEnabled)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
+</div>
+</td>
 </tr>
 <tr id="i63" class="rowColor">
 <td class="colFirst"><code>java.util.Set&lt;software.amazon.awssdk.services.sts.model.Tag&gt;</code></td>
@@ -1001,7 +1401,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_SSE_TYPE</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_SSE_TYPE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_SSE_TYPE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Type of S3 Server side encryption used, default to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3FILEIO_SSE_TYPE_NONE"><code>S3FILEIO_SSE_TYPE_NONE</code></a>.
 
  <p>For more details: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html</div>
@@ -1017,7 +1420,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_SSE_TYPE_NONE</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_SSE_TYPE_NONE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_SSE_TYPE_NONE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">No server side encryption.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1031,7 +1437,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_SSE_TYPE_KMS</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_SSE_TYPE_KMS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_SSE_TYPE_KMS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">S3 SSE-KMS encryption.
 
  <p>For more details: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html</div>
@@ -1047,7 +1456,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_SSE_TYPE_S3</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_SSE_TYPE_S3</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_SSE_TYPE_S3</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">S3 SSE-S3 encryption.
 
  <p>For more details:
@@ -1064,7 +1476,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_SSE_TYPE_CUSTOM</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_SSE_TYPE_CUSTOM</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_SSE_TYPE_CUSTOM</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">S3 SSE-C encryption.
 
  <p>For more details:
@@ -1081,7 +1496,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_SSE_KEY</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_SSE_KEY</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_SSE_KEY</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">If S3 encryption type is SSE-KMS, input is a KMS Key ID or ARN. In case this property is not
  set, default key "aws/s3" is used. If encryption type is SSE-C, input is a custom base-64
  AES256 symmetric key.</div>
@@ -1097,7 +1515,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_SSE_MD5</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_SSE_MD5</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_SSE_MD5</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">If S3 encryption type is SSE-C, input is the base-64 MD5 digest of the secret key. This MD5
  must be explicitly passed in by the caller to ensure key integrity.</div>
 <dl>
@@ -1252,7 +1673,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_MULTIPART_UPLOAD_THREADS</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_MULTIPART_UPLOAD_THREADS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_MULTIPART_UPLOAD_THREADS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Number of threads to use for uploading parts to S3 (shared pool across all output streams),
  default to <code>Runtime.availableProcessors()</code></div>
 <dl>
@@ -1267,7 +1691,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_MULTIPART_SIZE</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_MULTIPART_SIZE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_MULTIPART_SIZE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">The size of a single part for multipart upload requests in bytes (default: 32MB). based on S3
  requirement, the part size must be at least 5MB. Too ensure performance of the reader and
  writer, the part size must be less than 2GB.
@@ -1285,7 +1712,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_MULTIPART_SIZE_DEFAULT</h4>
-<pre>public static final&nbsp;int S3FILEIO_MULTIPART_SIZE_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;int S3FILEIO_MULTIPART_SIZE_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_SIZE_DEFAULT">Constant Field Values</a></dd>
@@ -1298,7 +1728,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_MULTIPART_SIZE_MIN</h4>
-<pre>public static final&nbsp;int S3FILEIO_MULTIPART_SIZE_MIN</pre>
+<pre>@Deprecated
+public static final&nbsp;int S3FILEIO_MULTIPART_SIZE_MIN</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_SIZE_MIN">Constant Field Values</a></dd>
@@ -1311,7 +1744,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_MULTIPART_THRESHOLD_FACTOR</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_MULTIPART_THRESHOLD_FACTOR</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_MULTIPART_THRESHOLD_FACTOR</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">The threshold expressed as a factor times the multipart size at which to switch from uploading
  using a single put object request to uploading using multipart upload (default: 1.5).</div>
 <dl>
@@ -1326,7 +1762,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT</h4>
-<pre>public static final&nbsp;double S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;double S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3FILEIO_MULTIPART_THRESHOLD_FACTOR_DEFAULT">Constant Field Values</a></dd>
@@ -1339,7 +1778,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_STAGING_DIRECTORY</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_STAGING_DIRECTORY</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_STAGING_DIRECTORY</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Location to put staging files for upload to S3, default to temp directory set in
  java.io.tmpdir.</div>
 <dl>
@@ -1354,7 +1796,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_ACL</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_ACL</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_ACL</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure canned access control list (ACL) for S3 client to use during write. If not
  set, ACL will not be set for requests.
 
@@ -1373,7 +1818,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_ENDPOINT</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_ENDPOINT</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_ENDPOINT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Configure an alternative endpoint of the S3 service for S3FileIO to access.
 
  <p>This could be used to use S3FileIO with any s3-compatible object storage service that has a
@@ -1390,7 +1838,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_PATH_STYLE_ACCESS</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_PATH_STYLE_ACCESS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_PATH_STYLE_ACCESS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">If set <code>true</code>, requests to S3FileIO will use Path-Style, otherwise, Virtual Hosted-Style
  will be used.
 
@@ -1407,7 +1858,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_PATH_STYLE_ACCESS_DEFAULT</h4>
-<pre>public static final&nbsp;boolean S3FILEIO_PATH_STYLE_ACCESS_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;boolean S3FILEIO_PATH_STYLE_ACCESS_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3FILEIO_PATH_STYLE_ACCESS_DEFAULT">Constant Field Values</a></dd>
@@ -1420,7 +1874,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_ACCESS_KEY_ID</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_ACCESS_KEY_ID</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_ACCESS_KEY_ID</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Configure the static access key ID used to access S3FileIO.
 
  <p>When set, the default client factory will use the basic or session credentials provided
@@ -1438,7 +1895,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_SECRET_ACCESS_KEY</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_SECRET_ACCESS_KEY</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_SECRET_ACCESS_KEY</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Configure the static secret access key used to access S3FileIO.
 
  <p>When set, the default client factory will use the basic or session credentials provided
@@ -1456,7 +1916,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_SESSION_TOKEN</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_SESSION_TOKEN</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_SESSION_TOKEN</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Configure the static session token used to access S3FileIO.
 
  <p>When set, the default client factory will use the session credentials provided instead of
@@ -1473,7 +1936,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_USE_ARN_REGION_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String S3_USE_ARN_REGION_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_USE_ARN_REGION_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Enable to make S3FileIO, to make cross-region call to the region specified in the ARN of an
  access point.
 
@@ -1494,7 +1960,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_USE_ARN_REGION_ENABLED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean S3_USE_ARN_REGION_ENABLED_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;boolean S3_USE_ARN_REGION_ENABLED_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3_USE_ARN_REGION_ENABLED_DEFAULT">Constant Field Values</a></dd>
@@ -1507,7 +1976,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_CHECKSUM_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String S3_CHECKSUM_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_CHECKSUM_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Enables eTag checks for S3 PUT and MULTIPART upload requests.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1521,7 +1993,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_CHECKSUM_ENABLED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean S3_CHECKSUM_ENABLED_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;boolean S3_CHECKSUM_ENABLED_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3_CHECKSUM_ENABLED_DEFAULT">Constant Field Values</a></dd>
@@ -1534,7 +2009,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_REMOTE_SIGNING_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String S3_REMOTE_SIGNING_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_REMOTE_SIGNING_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3_REMOTE_SIGNING_ENABLED">Constant Field Values</a></dd>
@@ -1547,7 +2025,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_REMOTE_SIGNING_ENABLED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean S3_REMOTE_SIGNING_ENABLED_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;boolean S3_REMOTE_SIGNING_ENABLED_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3_REMOTE_SIGNING_ENABLED_DEFAULT">Constant Field Values</a></dd>
@@ -1560,7 +2041,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_DELETE_BATCH_SIZE</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_DELETE_BATCH_SIZE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_DELETE_BATCH_SIZE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Configure the batch size used when deleting multiple files from a given S3 bucket</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1574,7 +2058,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_DELETE_BATCH_SIZE_DEFAULT</h4>
-<pre>public static final&nbsp;int S3FILEIO_DELETE_BATCH_SIZE_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;int S3FILEIO_DELETE_BATCH_SIZE_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Default batch size used when deleting files.
 
  <p>Refer to https://github.com/apache/hadoop/commit/56dee667707926f3796c7757be1a133a362f05c9
@@ -1591,7 +2078,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_DELETE_BATCH_SIZE_MAX</h4>
-<pre>public static final&nbsp;int S3FILEIO_DELETE_BATCH_SIZE_MAX</pre>
+<pre>@Deprecated
+public static final&nbsp;int S3FILEIO_DELETE_BATCH_SIZE_MAX</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Max possible batch size for deletion. Currently, a max of 1000 keys can be deleted in one
  batch. https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html</div>
 <dl>
@@ -1773,7 +2263,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>CLIENT_CREDENTIALS_PROVIDER</h4>
-<pre>public static final&nbsp;java.lang.String CLIENT_CREDENTIALS_PROVIDER</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String CLIENT_CREDENTIALS_PROVIDER</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
 <div class="block">Configure the AWS credentials provider used to create AWS clients. A fully qualified concrete
  class with package that implements the <code>AwsCredentialsProvider</code> interface is required.
 
@@ -1798,7 +2291,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>CLIENT_REGION</h4>
-<pre>public static final&nbsp;java.lang.String CLIENT_REGION</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String CLIENT_REGION</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used by <code>AwsClientFactories.DefaultAwsClientFactory</code> and also
  other client factory classes. If set, all AWS clients except STS client will use the given
  region instead of the default region chain.</div>
@@ -1814,7 +2310,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_TYPE</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_TYPE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_TYPE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">The type of <code>SdkHttpClient</code> implementation used by <a href="../../../../org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a> If set, all AWS clients will use this specified HTTP client. If not set,
  <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_DEFAULT"><code>HTTP_CLIENT_TYPE_DEFAULT</code></a> will be used. For specific types supported, see
  HTTP_CLIENT_TYPE_* defined below.</div>
@@ -1830,7 +2329,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_TYPE_URLCONNECTION</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_TYPE_URLCONNECTION</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_TYPE_URLCONNECTION</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">If this is set under <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a>, <code>UrlConnectionHttpClient</code> will be used as the HTTP
  Client in <a href="../../../../org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a></div>
 <dl>
@@ -1845,7 +2347,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_TYPE_APACHE</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_TYPE_APACHE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_TYPE_APACHE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">If this is set under <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a>, <code>ApacheHttpClient</code> will be used as the HTTP Client in <a href="../../../../org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><code>AwsClientFactory</code></a></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1859,7 +2364,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_TYPE_DEFAULT</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_TYPE_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_TYPE_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.HTTP_CLIENT_TYPE_DEFAULT">Constant Field Values</a></dd>
@@ -1872,7 +2380,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_URLCONNECTION_CONNECTION_TIMEOUT_MS</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_URLCONNECTION_CONNECTION_TIMEOUT_MS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_URLCONNECTION_CONNECTION_TIMEOUT_MS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure the connection timeout in milliseconds for <code>UrlConnectionHttpClient.Builder</code>. This flag only
  works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_URLCONNECTION"><code>HTTP_CLIENT_TYPE_URLCONNECTION</code></a>
 
@@ -1890,7 +2401,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_URLCONNECTION_SOCKET_TIMEOUT_MS</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_URLCONNECTION_SOCKET_TIMEOUT_MS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_URLCONNECTION_SOCKET_TIMEOUT_MS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure the socket timeout in milliseconds for <code>UrlConnectionHttpClient.Builder</code>. This flag only
  works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_URLCONNECTION"><code>HTTP_CLIENT_TYPE_URLCONNECTION</code></a>
 
@@ -1908,7 +2422,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_APACHE_CONNECTION_TIMEOUT_MS</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_CONNECTION_TIMEOUT_MS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_CONNECTION_TIMEOUT_MS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure the connection timeout in milliseconds for <code>ApacheHttpClient.Builder</code>. This flag only works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE"><code>HTTP_CLIENT_TYPE_APACHE</code></a>
 
  <p>For more details, see
@@ -1925,7 +2442,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_APACHE_SOCKET_TIMEOUT_MS</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_SOCKET_TIMEOUT_MS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_SOCKET_TIMEOUT_MS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure the socket timeout in milliseconds for <code>ApacheHttpClient.Builder</code>. This flag only works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE"><code>HTTP_CLIENT_TYPE_APACHE</code></a>
 
  <p>For more details, see
@@ -1942,7 +2462,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure the connection acquisition timeout in milliseconds for <code>ApacheHttpClient.Builder</code>. This flag only works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE"><code>HTTP_CLIENT_TYPE_APACHE</code></a>
 
  <p>For more details, see
@@ -1959,7 +2482,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_APACHE_CONNECTION_MAX_IDLE_TIME_MS</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_CONNECTION_MAX_IDLE_TIME_MS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_CONNECTION_MAX_IDLE_TIME_MS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure the connection max idle time in milliseconds for <code>ApacheHttpClient.Builder</code>. This flag only works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE"><code>HTTP_CLIENT_TYPE_APACHE</code></a>
 
  <p>For more details, see
@@ -1976,7 +2502,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_APACHE_CONNECTION_TIME_TO_LIVE_MS</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_CONNECTION_TIME_TO_LIVE_MS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_CONNECTION_TIME_TO_LIVE_MS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure the connection time to live in milliseconds for <code>ApacheHttpClient.Builder</code>. This flag only works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE"><code>HTTP_CLIENT_TYPE_APACHE</code></a>
 
  <p>For more details, see
@@ -1993,7 +2522,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_APACHE_EXPECT_CONTINUE_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_EXPECT_CONTINUE_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_EXPECT_CONTINUE_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure whether to enable the expect continue setting for <code>ApacheHttpClient.Builder</code>. This flag only works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE"><code>HTTP_CLIENT_TYPE_APACHE</code></a>
 
  <p>In default, this is disabled.
@@ -2012,7 +2544,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_APACHE_MAX_CONNECTIONS</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_MAX_CONNECTIONS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_MAX_CONNECTIONS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure the max connections number for <code>ApacheHttpClient.Builder</code>. This flag only works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE"><code>HTTP_CLIENT_TYPE_APACHE</code></a>
 
  <p>For more details, see
@@ -2029,7 +2564,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_APACHE_TCP_KEEP_ALIVE_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_TCP_KEEP_ALIVE_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_TCP_KEEP_ALIVE_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure whether to enable the tcp keep alive setting for <code>ApacheHttpClient.Builder</code>. This flag only works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE"><code>HTTP_CLIENT_TYPE_APACHE</code></a>.
 
  <p>In default, this is disabled.
@@ -2048,7 +2586,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HTTP_CLIENT_APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HTTP_CLIENT_APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Used to configure whether to use idle connection reaper for <code>ApacheHttpClient.Builder</code>. This flag only works when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE"><code>HTTP_CLIENT_TYPE</code></a> is set to <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#HTTP_CLIENT_TYPE_APACHE"><code>HTTP_CLIENT_TYPE_APACHE</code></a>.
 
  <p>In default, this is enabled.
@@ -2067,7 +2608,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_WRITE_TAGS_PREFIX</h4>
-<pre>public static final&nbsp;java.lang.String S3_WRITE_TAGS_PREFIX</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_WRITE_TAGS_PREFIX</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Used by <a href="../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when writing. To set, we can pass a catalog property.
 
  <p>For more details, see
@@ -2086,7 +2630,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_WRITE_TABLE_TAG_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String S3_WRITE_TABLE_TAG_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_WRITE_TABLE_TAG_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Used by <a href="../../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing. To set, we can pass a catalog
  property.
 
@@ -2106,7 +2653,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_WRITE_TABLE_TAG_ENABLED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean S3_WRITE_TABLE_TAG_ENABLED_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;boolean S3_WRITE_TABLE_TAG_ENABLED_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3_WRITE_TABLE_TAG_ENABLED_DEFAULT">Constant Field Values</a></dd>
@@ -2119,7 +2669,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_WRITE_NAMESPACE_TAG_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String S3_WRITE_NAMESPACE_TAG_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_WRITE_NAMESPACE_TAG_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Used by <a href="../../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><code>GlueCatalog</code></a> to tag objects when writing. To set, we can pass a catalog
  property.
 
@@ -2139,7 +2692,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;boolean S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3_WRITE_NAMESPACE_TAG_ENABLED_DEFAULT">Constant Field Values</a></dd>
@@ -2152,7 +2708,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_TAG_ICEBERG_TABLE</h4>
-<pre>public static final&nbsp;java.lang.String S3_TAG_ICEBERG_TABLE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_TAG_ICEBERG_TABLE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Tag name that will be used by <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TAGS_PREFIX"><code>S3_WRITE_TAGS_PREFIX</code></a> when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TABLE_TAG_ENABLED"><code>S3_WRITE_TABLE_TAG_ENABLED</code></a> is enabled
 
  <p>Example: iceberg.table=tableName</div>
@@ -2168,7 +2727,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_TAG_ICEBERG_NAMESPACE</h4>
-<pre>public static final&nbsp;java.lang.String S3_TAG_ICEBERG_NAMESPACE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_TAG_ICEBERG_NAMESPACE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Tag name that will be used by <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_TAGS_PREFIX"><code>S3_WRITE_TAGS_PREFIX</code></a> when <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_WRITE_NAMESPACE_TAG_ENABLED"><code>S3_WRITE_NAMESPACE_TAG_ENABLED</code></a> is enabled
 
  <p>Example: iceberg.namespace=namespaceName</div>
@@ -2184,7 +2746,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_DELETE_TAGS_PREFIX</h4>
-<pre>public static final&nbsp;java.lang.String S3_DELETE_TAGS_PREFIX</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_DELETE_TAGS_PREFIX</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Used by <a href="../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> to tag objects when deleting. When this config is set, objects are
  tagged with the configured key-value pairs before deletion. This is considered a soft-delete,
  because users are able to configure tag-based object lifecycle policy at bucket level to
@@ -2206,7 +2771,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3FILEIO_DELETE_THREADS</h4>
-<pre>public static final&nbsp;java.lang.String S3FILEIO_DELETE_THREADS</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3FILEIO_DELETE_THREADS</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Number of threads to use for adding delete tags to S3 objects, default to <code>Runtime.availableProcessors()</code></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -2220,7 +2788,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_DELETE_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String S3_DELETE_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_DELETE_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Determines if <a href="../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a> deletes the object when io.delete() is called, default to true.
  Once disabled, users are expected to set tags through <a href="../../../../org/apache/iceberg/aws/AwsProperties.html#S3_DELETE_TAGS_PREFIX"><code>S3_DELETE_TAGS_PREFIX</code></a> and manage
  deleted files through S3 lifecycle policy.</div>
@@ -2236,7 +2807,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_DELETE_ENABLED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean S3_DELETE_ENABLED_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;boolean S3_DELETE_ENABLED_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3_DELETE_ENABLED_DEFAULT">Constant Field Values</a></dd>
@@ -2249,7 +2823,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_ACCELERATION_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String S3_ACCELERATION_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_ACCELERATION_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Determines if S3 client will use the Acceleration Mode, default to false.
 
  <p>For more details, see
@@ -2266,7 +2843,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_ACCELERATION_ENABLED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean S3_ACCELERATION_ENABLED_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;boolean S3_ACCELERATION_ENABLED_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3_ACCELERATION_ENABLED_DEFAULT">Constant Field Values</a></dd>
@@ -2279,7 +2859,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_DUALSTACK_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String S3_DUALSTACK_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_DUALSTACK_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Determines if S3 client will use the Dualstack Mode, default to false.
 
  <p>For more details, see
@@ -2296,7 +2879,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_DUALSTACK_ENABLED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean S3_DUALSTACK_ENABLED_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;boolean S3_DUALSTACK_ENABLED_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3_DUALSTACK_ENABLED_DEFAULT">Constant Field Values</a></dd>
@@ -2309,7 +2895,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_ACCESS_POINTS_PREFIX</h4>
-<pre>public static final&nbsp;java.lang.String S3_ACCESS_POINTS_PREFIX</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_ACCESS_POINTS_PREFIX</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Used by <a href="../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIO</code></a>, prefix used for bucket access point configuration. To set, we can
  pass a catalog property.
 
@@ -2328,7 +2917,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_PRELOAD_CLIENT_ENABLED</h4>
-<pre>public static final&nbsp;java.lang.String S3_PRELOAD_CLIENT_ENABLED</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String S3_PRELOAD_CLIENT_ENABLED</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">This flag controls whether the S3 client will be initialized during the S3FileIO
  initialization, instead of default lazy initialization upon use. This is needed for cases that
  the credentials to use might change and needs to be preloaded.</div>
@@ -2344,7 +2936,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>S3_PRELOAD_CLIENT_ENABLED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean S3_PRELOAD_CLIENT_ENABLED_DEFAULT</pre>
+<pre>@Deprecated
+public static final&nbsp;boolean S3_PRELOAD_CLIENT_ENABLED_DEFAULT</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.aws.AwsProperties.S3_PRELOAD_CLIENT_ENABLED_DEFAULT">Constant Field Values</a></dd>
@@ -2568,7 +3163,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3FileIoSseType</h4>
-<pre>public&nbsp;java.lang.String&nbsp;s3FileIoSseType()</pre>
+<pre>@Deprecated
+public&nbsp;java.lang.String&nbsp;s3FileIoSseType()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3FileIoSseType-java.lang.String-">
@@ -2577,7 +3175,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3FileIoSseType</h4>
-<pre>public&nbsp;void&nbsp;setS3FileIoSseType(java.lang.String&nbsp;sseType)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3FileIoSseType(java.lang.String&nbsp;sseType)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3FileIoSseKey--">
@@ -2586,7 +3187,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3FileIoSseKey</h4>
-<pre>public&nbsp;java.lang.String&nbsp;s3FileIoSseKey()</pre>
+<pre>@Deprecated
+public&nbsp;java.lang.String&nbsp;s3FileIoSseKey()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3FileIoDeleteBatchSize--">
@@ -2595,7 +3199,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3FileIoDeleteBatchSize</h4>
-<pre>public&nbsp;int&nbsp;s3FileIoDeleteBatchSize()</pre>
+<pre>@Deprecated
+public&nbsp;int&nbsp;s3FileIoDeleteBatchSize()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3FileIoDeleteBatchSize-int-">
@@ -2604,7 +3211,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3FileIoDeleteBatchSize</h4>
-<pre>public&nbsp;void&nbsp;setS3FileIoDeleteBatchSize(int&nbsp;deleteBatchSize)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3FileIoDeleteBatchSize(int&nbsp;deleteBatchSize)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3FileIoSseKey-java.lang.String-">
@@ -2613,7 +3223,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3FileIoSseKey</h4>
-<pre>public&nbsp;void&nbsp;setS3FileIoSseKey(java.lang.String&nbsp;sseKey)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3FileIoSseKey(java.lang.String&nbsp;sseKey)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3FileIoSseMd5--">
@@ -2622,7 +3235,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3FileIoSseMd5</h4>
-<pre>public&nbsp;java.lang.String&nbsp;s3FileIoSseMd5()</pre>
+<pre>@Deprecated
+public&nbsp;java.lang.String&nbsp;s3FileIoSseMd5()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3FileIoSseMd5-java.lang.String-">
@@ -2631,7 +3247,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3FileIoSseMd5</h4>
-<pre>public&nbsp;void&nbsp;setS3FileIoSseMd5(java.lang.String&nbsp;sseMd5)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3FileIoSseMd5(java.lang.String&nbsp;sseMd5)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="glueCatalogId--">
@@ -2712,7 +3331,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3FileIoMultipartUploadThreads</h4>
-<pre>public&nbsp;int&nbsp;s3FileIoMultipartUploadThreads()</pre>
+<pre>@Deprecated
+public&nbsp;int&nbsp;s3FileIoMultipartUploadThreads()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3FileIoMultipartUploadThreads-int-">
@@ -2721,7 +3343,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3FileIoMultipartUploadThreads</h4>
-<pre>public&nbsp;void&nbsp;setS3FileIoMultipartUploadThreads(int&nbsp;threads)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3FileIoMultipartUploadThreads(int&nbsp;threads)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3FileIoMultiPartSize--">
@@ -2730,7 +3355,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3FileIoMultiPartSize</h4>
-<pre>public&nbsp;int&nbsp;s3FileIoMultiPartSize()</pre>
+<pre>@Deprecated
+public&nbsp;int&nbsp;s3FileIoMultiPartSize()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3FileIoMultiPartSize-int-">
@@ -2739,7 +3367,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3FileIoMultiPartSize</h4>
-<pre>public&nbsp;void&nbsp;setS3FileIoMultiPartSize(int&nbsp;size)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3FileIoMultiPartSize(int&nbsp;size)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3FileIOMultipartThresholdFactor--">
@@ -2748,7 +3379,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3FileIOMultipartThresholdFactor</h4>
-<pre>public&nbsp;double&nbsp;s3FileIOMultipartThresholdFactor()</pre>
+<pre>@Deprecated
+public&nbsp;double&nbsp;s3FileIOMultipartThresholdFactor()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3FileIoMultipartThresholdFactor-double-">
@@ -2757,7 +3391,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3FileIoMultipartThresholdFactor</h4>
-<pre>public&nbsp;void&nbsp;setS3FileIoMultipartThresholdFactor(double&nbsp;factor)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3FileIoMultipartThresholdFactor(double&nbsp;factor)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3fileIoStagingDirectory--">
@@ -2766,7 +3403,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3fileIoStagingDirectory</h4>
-<pre>public&nbsp;java.lang.String&nbsp;s3fileIoStagingDirectory()</pre>
+<pre>@Deprecated
+public&nbsp;java.lang.String&nbsp;s3fileIoStagingDirectory()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3fileIoStagingDirectory-java.lang.String-">
@@ -2775,7 +3415,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3fileIoStagingDirectory</h4>
-<pre>public&nbsp;void&nbsp;setS3fileIoStagingDirectory(java.lang.String&nbsp;directory)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3fileIoStagingDirectory(java.lang.String&nbsp;directory)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3FileIoAcl--">
@@ -2784,7 +3427,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3FileIoAcl</h4>
-<pre>public&nbsp;software.amazon.awssdk.services.s3.model.ObjectCannedACL&nbsp;s3FileIoAcl()</pre>
+<pre>@Deprecated
+public&nbsp;software.amazon.awssdk.services.s3.model.ObjectCannedACL&nbsp;s3FileIoAcl()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3FileIoAcl-software.amazon.awssdk.services.s3.model.ObjectCannedACL-">
@@ -2793,7 +3439,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3FileIoAcl</h4>
-<pre>public&nbsp;void&nbsp;setS3FileIoAcl(software.amazon.awssdk.services.s3.model.ObjectCannedACL&nbsp;acl)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3FileIoAcl(software.amazon.awssdk.services.s3.model.ObjectCannedACL&nbsp;acl)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3PreloadClientEnabled-boolean-">
@@ -2802,7 +3451,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3PreloadClientEnabled</h4>
-<pre>public&nbsp;void&nbsp;setS3PreloadClientEnabled(boolean&nbsp;s3PreloadClientEnabled)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3PreloadClientEnabled(boolean&nbsp;s3PreloadClientEnabled)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3PreloadClientEnabled--">
@@ -2811,7 +3463,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3PreloadClientEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;s3PreloadClientEnabled()</pre>
+<pre>@Deprecated
+public&nbsp;boolean&nbsp;s3PreloadClientEnabled()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="dynamoDbTableName--">
@@ -2838,7 +3493,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>isS3ChecksumEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;isS3ChecksumEnabled()</pre>
+<pre>@Deprecated
+public&nbsp;boolean&nbsp;isS3ChecksumEnabled()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3ChecksumEnabled-boolean-">
@@ -2847,7 +3505,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3ChecksumEnabled</h4>
-<pre>public&nbsp;void&nbsp;setS3ChecksumEnabled(boolean&nbsp;eTagCheckEnabled)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3ChecksumEnabled(boolean&nbsp;eTagCheckEnabled)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3WriteTags--">
@@ -2856,7 +3517,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3WriteTags</h4>
-<pre>public&nbsp;java.util.Set&lt;software.amazon.awssdk.services.s3.model.Tag&gt;&nbsp;s3WriteTags()</pre>
+<pre>@Deprecated
+public&nbsp;java.util.Set&lt;software.amazon.awssdk.services.s3.model.Tag&gt;&nbsp;s3WriteTags()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3WriteTableTagEnabled--">
@@ -2865,7 +3529,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3WriteTableTagEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;s3WriteTableTagEnabled()</pre>
+<pre>@Deprecated
+public&nbsp;boolean&nbsp;s3WriteTableTagEnabled()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3WriteTableTagEnabled-boolean-">
@@ -2874,7 +3541,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3WriteTableTagEnabled</h4>
-<pre>public&nbsp;void&nbsp;setS3WriteTableTagEnabled(boolean&nbsp;s3WriteTableNameTagEnabled)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3WriteTableTagEnabled(boolean&nbsp;s3WriteTableNameTagEnabled)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3WriteNamespaceTagEnabled--">
@@ -2883,7 +3553,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3WriteNamespaceTagEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;s3WriteNamespaceTagEnabled()</pre>
+<pre>@Deprecated
+public&nbsp;boolean&nbsp;s3WriteNamespaceTagEnabled()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3WriteNamespaceTagEnabled-boolean-">
@@ -2892,7 +3565,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3WriteNamespaceTagEnabled</h4>
-<pre>public&nbsp;void&nbsp;setS3WriteNamespaceTagEnabled(boolean&nbsp;s3WriteNamespaceTagEnabled)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3WriteNamespaceTagEnabled(boolean&nbsp;s3WriteNamespaceTagEnabled)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3DeleteTags--">
@@ -2901,7 +3577,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3DeleteTags</h4>
-<pre>public&nbsp;java.util.Set&lt;software.amazon.awssdk.services.s3.model.Tag&gt;&nbsp;s3DeleteTags()</pre>
+<pre>@Deprecated
+public&nbsp;java.util.Set&lt;software.amazon.awssdk.services.s3.model.Tag&gt;&nbsp;s3DeleteTags()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3FileIoDeleteThreads--">
@@ -2910,7 +3589,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3FileIoDeleteThreads</h4>
-<pre>public&nbsp;int&nbsp;s3FileIoDeleteThreads()</pre>
+<pre>@Deprecated
+public&nbsp;int&nbsp;s3FileIoDeleteThreads()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3FileIoDeleteThreads-int-">
@@ -2919,7 +3601,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3FileIoDeleteThreads</h4>
-<pre>public&nbsp;void&nbsp;setS3FileIoDeleteThreads(int&nbsp;threads)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3FileIoDeleteThreads(int&nbsp;threads)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="isS3DeleteEnabled--">
@@ -2928,7 +3613,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>isS3DeleteEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;isS3DeleteEnabled()</pre>
+<pre>@Deprecated
+public&nbsp;boolean&nbsp;isS3DeleteEnabled()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="setS3DeleteEnabled-boolean-">
@@ -2937,7 +3625,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setS3DeleteEnabled</h4>
-<pre>public&nbsp;void&nbsp;setS3DeleteEnabled(boolean&nbsp;s3DeleteEnabled)</pre>
+<pre>@Deprecated
+public&nbsp;void&nbsp;setS3DeleteEnabled(boolean&nbsp;s3DeleteEnabled)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="s3BucketToAccessPointMapping--">
@@ -2946,7 +3637,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>s3BucketToAccessPointMapping</h4>
-<pre>public&nbsp;java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;s3BucketToAccessPointMapping()</pre>
+<pre>@Deprecated
+public&nbsp;java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;s3BucketToAccessPointMapping()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 </li>
 </ul>
 <a name="httpClientProperties--">
@@ -2984,7 +3678,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>applyS3CredentialConfigurations</h4>
-<pre>public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyS3CredentialConfigurations(T&nbsp;builder)</pre>
+<pre>@Deprecated
+public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyS3CredentialConfigurations(T&nbsp;builder)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Configure the credentials for an S3 client.
 
  <p>Sample usage:
@@ -3002,7 +3699,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>applyClientRegionConfiguration</h4>
-<pre>public&nbsp;&lt;T extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder&gt;&nbsp;void&nbsp;applyClientRegionConfiguration(T&nbsp;builder)</pre>
+<pre>@Deprecated
+public&nbsp;&lt;T extends software.amazon.awssdk.awscore.client.builder.AwsClientBuilder&gt;&nbsp;void&nbsp;applyClientRegionConfiguration(T&nbsp;builder)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><code>AwsClientProperties</code></a>
+     instead</span></div>
 <div class="block">Configure a client AWS region.
 
  <p>Sample usage:
@@ -3038,7 +3738,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>applyS3ServiceConfigurations</h4>
-<pre>public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyS3ServiceConfigurations(T&nbsp;builder)</pre>
+<pre>@Deprecated
+public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyS3ServiceConfigurations(T&nbsp;builder)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Configure services settings for an S3 client. The settings include: s3DualStack,
  s3UseArnRegion, s3PathStyleAccess, and s3Acceleration
 
@@ -3057,7 +3760,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>applyS3SignerConfiguration</h4>
-<pre>public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyS3SignerConfiguration(T&nbsp;builder)</pre>
+<pre>@Deprecated
+public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyS3SignerConfiguration(T&nbsp;builder)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Configure a signer for an S3 client.
 
  <p>Sample usage:
@@ -3075,7 +3781,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>applyHttpClientConfigurations</h4>
-<pre>public&nbsp;&lt;T extends software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder&gt;&nbsp;void&nbsp;applyHttpClientConfigurations(T&nbsp;builder)</pre>
+<pre>@Deprecated
+public&nbsp;&lt;T extends software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder&gt;&nbsp;void&nbsp;applyHttpClientConfigurations(T&nbsp;builder)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><code>HttpClientProperties</code></a>
+     instead</span></div>
 <div class="block">Configure the httpClient for a client according to the HttpClientType. The two supported
  HttpClientTypes are urlconnection and apache
 
@@ -3094,7 +3803,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>applyS3EndpointConfigurations</h4>
-<pre>public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyS3EndpointConfigurations(T&nbsp;builder)</pre>
+<pre>@Deprecated
+public&nbsp;&lt;T extends software.amazon.awssdk.services.s3.S3ClientBuilder&gt;&nbsp;void&nbsp;applyS3EndpointConfigurations(T&nbsp;builder)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.4.0, use <a href="../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><code>S3FileIOProperties</code></a>
+     instead</span></div>
 <div class="block">Override the endpoint for an S3 client.
 
  <p>Sample usage:
@@ -3194,8 +3906,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/aws/RESTSigV4Signer.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/aws/AwsProperties.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/aws/RESTSigV4Signer.html b/javadoc/org/apache/iceberg/aws/RESTSigV4Signer.html
index 4cff0ae..b6ca8c2 100644
--- a/javadoc/org/apache/iceberg/aws/RESTSigV4Signer.html
+++ b/javadoc/org/apache/iceberg/aws/RESTSigV4Signer.html
@@ -47,8 +47,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/aws/S3FileIOAwsClientFactories.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/aws/RESTSigV4Signer.html" target="_top">Frames</a></li>
@@ -255,8 +255,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/aws/S3FileIOAwsClientFactories.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/aws/RESTSigV4Signer.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/aws/package-frame.html b/javadoc/org/apache/iceberg/aws/package-frame.html
index 48afb29..7fb44a2 100644
--- a/javadoc/org/apache/iceberg/aws/package-frame.html
+++ b/javadoc/org/apache/iceberg/aws/package-frame.html
@@ -18,8 +18,11 @@
 <ul title="Classes">
 <li><a href="AssumeRoleAwsClientFactory.html" title="class in org.apache.iceberg.aws" target="classFrame">AssumeRoleAwsClientFactory</a></li>
 <li><a href="AwsClientFactories.html" title="class in org.apache.iceberg.aws" target="classFrame">AwsClientFactories</a></li>
+<li><a href="AwsClientProperties.html" title="class in org.apache.iceberg.aws" target="classFrame">AwsClientProperties</a></li>
 <li><a href="AwsProperties.html" title="class in org.apache.iceberg.aws" target="classFrame">AwsProperties</a></li>
+<li><a href="HttpClientProperties.html" title="class in org.apache.iceberg.aws" target="classFrame">HttpClientProperties</a></li>
 <li><a href="RESTSigV4Signer.html" title="class in org.apache.iceberg.aws" target="classFrame">RESTSigV4Signer</a></li>
+<li><a href="S3FileIOAwsClientFactories.html" title="class in org.apache.iceberg.aws" target="classFrame">S3FileIOAwsClientFactories</a></li>
 </ul>
 </div>
 </body>
diff --git a/javadoc/org/apache/iceberg/aws/package-summary.html b/javadoc/org/apache/iceberg/aws/package-summary.html
index 58d1ed5..9da160c 100644
--- a/javadoc/org/apache/iceberg/aws/package-summary.html
+++ b/javadoc/org/apache/iceberg/aws/package-summary.html
@@ -106,9 +106,17 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">AwsClientProperties</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">HttpClientProperties</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/aws/RESTSigV4Signer.html" title="class in org.apache.iceberg.aws">RESTSigV4Signer</a></td>
 <td class="colLast">
@@ -116,6 +124,10 @@
  for the SigV4 protocol and adds the necessary headers for all requests created by the client.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/aws/S3FileIOAwsClientFactories.html" title="class in org.apache.iceberg.aws">S3FileIOAwsClientFactories</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/javadoc/org/apache/iceberg/aws/package-tree.html b/javadoc/org/apache/iceberg/aws/package-tree.html
index a4212e0..13baf23 100644
--- a/javadoc/org/apache/iceberg/aws/package-tree.html
+++ b/javadoc/org/apache/iceberg/aws/package-tree.html
@@ -81,8 +81,11 @@
 <ul>
 <li type="circle">org.apache.iceberg.aws.<a href="../../../../org/apache/iceberg/aws/AssumeRoleAwsClientFactory.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">AssumeRoleAwsClientFactory</span></a> (implements org.apache.iceberg.aws.<a href="../../../../org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws">AwsClientFactory</a>)</li>
 <li type="circle">org.apache.iceberg.aws.<a href="../../../../org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">AwsClientFactories</span></a></li>
+<li type="circle">org.apache.iceberg.aws.<a href="../../../../org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">AwsClientProperties</span></a> (implements java.io.Serializable)</li>
 <li type="circle">org.apache.iceberg.aws.<a href="../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">AwsProperties</span></a> (implements java.io.Serializable)</li>
+<li type="circle">org.apache.iceberg.aws.<a href="../../../../org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">HttpClientProperties</span></a> (implements java.io.Serializable)</li>
 <li type="circle">org.apache.iceberg.aws.<a href="../../../../org/apache/iceberg/aws/RESTSigV4Signer.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">RESTSigV4Signer</span></a> (implements org.apache.hc.core5.http.HttpRequestInterceptor)</li>
+<li type="circle">org.apache.iceberg.aws.<a href="../../../../org/apache/iceberg/aws/S3FileIOAwsClientFactories.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">S3FileIOAwsClientFactories</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/aws/s3/S3FileIO.html b/javadoc/org/apache/iceberg/aws/s3/S3FileIO.html
index e94e1a0..02fc70d 100644
--- a/javadoc/org/apache/iceberg/aws/s3/S3FileIO.html
+++ b/javadoc/org/apache/iceberg/aws/s3/S3FileIO.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/aws/s3/S3FileIO.html" target="_top">Frames</a></li>
@@ -147,13 +147,13 @@
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#S3FileIO-org.apache.iceberg.util.SerializableSupplier-">S3FileIO</a></span>(<a href="../../../../../org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util">SerializableSupplier</a>&lt;software.amazon.awssdk.services.s3.S3Client&gt;&nbsp;s3)</code>
-<div class="block">Constructor with custom s3 supplier and default AWS properties.</div>
+<div class="block">Constructor with custom s3 supplier and S3FileIO properties.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#S3FileIO-org.apache.iceberg.util.SerializableSupplier-org.apache.iceberg.aws.AwsProperties-">S3FileIO</a></span>(<a href="../../../../../org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util">SerializableSupplier</a>&lt;software.amazon.awssdk.services.s3.S3Client&gt;&nbsp;s3,
-        <a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a>&nbsp;awsProperties)</code>
-<div class="block">Constructor with custom s3 supplier and AWS properties.</div>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#S3FileIO-org.apache.iceberg.util.SerializableSupplier-org.apache.iceberg.aws.s3.S3FileIOProperties-">S3FileIO</a></span>(<a href="../../../../../org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util">SerializableSupplier</a>&lt;software.amazon.awssdk.services.s3.S3Client&gt;&nbsp;s3,
+        <a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a>&nbsp;s3FileIOProperties)</code>
+<div class="block">Constructor with custom s3 supplier and S3FileIO properties.</div>
 </td>
 </tr>
 </table>
@@ -196,30 +196,34 @@
 </td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#finalize--">finalize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#getCredential--">getCredential</a></span>()</code>
 <div class="block">Returns the credential string</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#initialize-java.util.Map-">initialize</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;props)</code>
 <div class="block">Initialize File IO from catalog properties.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>java.lang.Iterable&lt;<a href="../../../../../org/apache/iceberg/io/FileInfo.html" title="class in org.apache.iceberg.io">FileInfo</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#listPrefix-java.lang.String-">listPrefix</a></span>(java.lang.String&nbsp;prefix)</code>
 <div class="block">Return an iterable of all files under a prefix.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#newInputFile-java.lang.String-">newInputFile</a></span>(java.lang.String&nbsp;path)</code>
 <div class="block">Get a <a href="../../../../../org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><code>InputFile</code></a> instance to read bytes from the file at the given path.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#newInputFile-java.lang.String-long-">newInputFile</a></span>(java.lang.String&nbsp;path,
             long&nbsp;length)</code>
@@ -227,13 +231,13 @@
  file length.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#newOutputFile-java.lang.String-">newOutputFile</a></span>(java.lang.String&nbsp;path)</code>
 <div class="block">Get a <a href="../../../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io"><code>OutputFile</code></a> instance to write bytes to the file at the given path.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#properties--">properties</a></span>()</code>
 <div class="block">Returns the property map used to configure this FileIO</div>
@@ -245,7 +249,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<code>clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.io.FileIO">
@@ -287,7 +291,7 @@
 <li class="blockList">
 <h4>S3FileIO</h4>
 <pre>public&nbsp;S3FileIO(<a href="../../../../../org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util">SerializableSupplier</a>&lt;software.amazon.awssdk.services.s3.S3Client&gt;&nbsp;s3)</pre>
-<div class="block">Constructor with custom s3 supplier and default AWS properties.
+<div class="block">Constructor with custom s3 supplier and S3FileIO properties.
 
  <p>Calling <a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#initialize-java.util.Map-"><code>initialize(Map)</code></a> will overwrite information set in this constructor.</div>
 <dl>
@@ -296,21 +300,21 @@
 </dl>
 </li>
 </ul>
-<a name="S3FileIO-org.apache.iceberg.util.SerializableSupplier-org.apache.iceberg.aws.AwsProperties-">
+<a name="S3FileIO-org.apache.iceberg.util.SerializableSupplier-org.apache.iceberg.aws.s3.S3FileIOProperties-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>S3FileIO</h4>
 <pre>public&nbsp;S3FileIO(<a href="../../../../../org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util">SerializableSupplier</a>&lt;software.amazon.awssdk.services.s3.S3Client&gt;&nbsp;s3,
-                <a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a>&nbsp;awsProperties)</pre>
-<div class="block">Constructor with custom s3 supplier and AWS properties.
+                <a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a>&nbsp;s3FileIOProperties)</pre>
+<div class="block">Constructor with custom s3 supplier and S3FileIO properties.
 
  <p>Calling <a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html#initialize-java.util.Map-"><code>initialize(Map)</code></a> will overwrite information set in this constructor.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>s3</code> - s3 supplier</dd>
-<dd><code>awsProperties</code> - aws properties</dd>
+<dd><code>s3FileIOProperties</code> - S3 FileIO properties</dd>
 </dl>
 </li>
 </ul>
@@ -497,7 +501,7 @@
 <a name="close--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()</pre>
@@ -516,6 +520,22 @@
 </dl>
 </li>
 </ul>
+<a name="finalize--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>finalize</h4>
+<pre>protected&nbsp;void&nbsp;finalize()
+                 throws java.lang.Throwable</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>finalize</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.Throwable</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -544,7 +564,7 @@
 <div class="subNav">
 <ul class="navList">
 <li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/aws/s3/S3FileIO.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/aws/s3/S3InputFile.html b/javadoc/org/apache/iceberg/aws/s3/S3InputFile.html
index f2d4fd2..9639915 100644
--- a/javadoc/org/apache/iceberg/aws/s3/S3InputFile.html
+++ b/javadoc/org/apache/iceberg/aws/s3/S3InputFile.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":9,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -133,58 +133,58 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#awsProperties--">awsProperties</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#exists--">exists</a></span>()</code>
 <div class="block">Note: this may be stale if file was deleted since metadata is cached for size/existence checks.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#fromLocation-java.lang.String-long-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.AwsProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation</a></span>(java.lang.String&nbsp;location,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#fromLocation-java.lang.String-long-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.s3.S3FileIOProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation</a></span>(java.lang.String&nbsp;location,
             long&nbsp;length,
             software.amazon.awssdk.services.s3.S3Client&nbsp;client,
-            <a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a>&nbsp;awsProperties,
+            <a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a>&nbsp;s3FileIOProperties,
+            <a href="../../../../../org/apache/iceberg/metrics/MetricsContext.html" title="interface in org.apache.iceberg.metrics">MetricsContext</a>&nbsp;metrics)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.s3.S3FileIOProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation</a></span>(java.lang.String&nbsp;location,
+            software.amazon.awssdk.services.s3.S3Client&nbsp;client,
+            <a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a>&nbsp;s3FileIOProperties,
             <a href="../../../../../org/apache/iceberg/metrics/MetricsContext.html" title="interface in org.apache.iceberg.metrics">MetricsContext</a>&nbsp;metrics)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.AwsProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation</a></span>(java.lang.String&nbsp;location,
-            software.amazon.awssdk.services.s3.S3Client&nbsp;client,
-            <a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a>&nbsp;awsProperties,
-            <a href="../../../../../org/apache/iceberg/metrics/MetricsContext.html" title="interface in org.apache.iceberg.metrics">MetricsContext</a>&nbsp;metrics)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#getLength--">getLength</a></span>()</code>
 <div class="block">Note: this may be stale if file was deleted since metadata is cached for size/existence checks.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>protected software.amazon.awssdk.services.s3.model.HeadObjectResponse</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#getObjectMetadata--">getObjectMetadata</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#location--">location</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/iceberg/metrics/MetricsContext.html" title="interface in org.apache.iceberg.metrics">MetricsContext</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#metrics--">metrics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/encryption/NativeFileCryptoParameters.html" title="class in org.apache.iceberg.encryption">NativeFileCryptoParameters</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#nativeCryptoParameters--">nativeCryptoParameters</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/io/SeekableInputStream.html" title="class in org.apache.iceberg.io">SeekableInputStream</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#newStream--">newStream</a></span>()</code>
 <div class="block">Opens a new <a href="../../../../../org/apache/iceberg/io/SeekableInputStream.html" title="class in org.apache.iceberg.io"><code>SeekableInputStream</code></a> for the underlying data file</div>
 </td>
 </tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#s3FileIOProperties--">s3FileIOProperties</a></span>()</code>&nbsp;</td>
+</tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html#setNativeCryptoParameters-org.apache.iceberg.encryption.NativeFileCryptoParameters-">setNativeCryptoParameters</a></span>(<a href="../../../../../org/apache/iceberg/encryption/NativeFileCryptoParameters.html" title="class in org.apache.iceberg.encryption">NativeFileCryptoParameters</a>&nbsp;nativeCryptoParameters)</code>&nbsp;</td>
@@ -222,7 +222,7 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.AwsProperties-org.apache.iceberg.metrics.MetricsContext-">
+<a name="fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.s3.S3FileIOProperties-org.apache.iceberg.metrics.MetricsContext-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -230,11 +230,11 @@
 <h4>fromLocation</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a>&nbsp;fromLocation(java.lang.String&nbsp;location,
                                        software.amazon.awssdk.services.s3.S3Client&nbsp;client,
-                                       <a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a>&nbsp;awsProperties,
+                                       <a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a>&nbsp;s3FileIOProperties,
                                        <a href="../../../../../org/apache/iceberg/metrics/MetricsContext.html" title="interface in org.apache.iceberg.metrics">MetricsContext</a>&nbsp;metrics)</pre>
 </li>
 </ul>
-<a name="fromLocation-java.lang.String-long-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.AwsProperties-org.apache.iceberg.metrics.MetricsContext-">
+<a name="fromLocation-java.lang.String-long-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.s3.S3FileIOProperties-org.apache.iceberg.metrics.MetricsContext-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -243,7 +243,7 @@
 <pre>public static&nbsp;<a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a>&nbsp;fromLocation(java.lang.String&nbsp;location,
                                        long&nbsp;length,
                                        software.amazon.awssdk.services.s3.S3Client&nbsp;client,
-                                       <a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a>&nbsp;awsProperties,
+                                       <a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a>&nbsp;s3FileIOProperties,
                                        <a href="../../../../../org/apache/iceberg/metrics/MetricsContext.html" title="interface in org.apache.iceberg.metrics">MetricsContext</a>&nbsp;metrics)</pre>
 </li>
 </ul>
@@ -315,13 +315,13 @@
 <pre>public&nbsp;java.lang.String&nbsp;location()</pre>
 </li>
 </ul>
-<a name="awsProperties--">
+<a name="s3FileIOProperties--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>awsProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a>&nbsp;awsProperties()</pre>
+<h4>s3FileIOProperties</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a>&nbsp;s3FileIOProperties()</pre>
 </li>
 </ul>
 <a name="metrics--">
@@ -401,7 +401,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/aws/s3/S3OutputFile.html b/javadoc/org/apache/iceberg/aws/s3/S3OutputFile.html
index afa0397..7d01233 100644
--- a/javadoc/org/apache/iceberg/aws/s3/S3OutputFile.html
+++ b/javadoc/org/apache/iceberg/aws/s3/S3OutputFile.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -133,51 +133,51 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#awsProperties--">awsProperties</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io">PositionOutputStream</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#create--">create</a></span>()</code>
 <div class="block">Create an output stream for the specified location if the target object does not exist in S3 at
  the time of invocation.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io">PositionOutputStream</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#createOrOverwrite--">createOrOverwrite</a></span>()</code>
 <div class="block">Create a new file and return a <a href="../../../../../org/apache/iceberg/io/PositionOutputStream.html" title="class in org.apache.iceberg.io"><code>PositionOutputStream</code></a> to it.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#exists--">exists</a></span>()</code>
 <div class="block">Note: this may be stale if file was deleted since metadata is cached for size/existence checks.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.AwsProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation</a></span>(java.lang.String&nbsp;location,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.s3.S3FileIOProperties-org.apache.iceberg.metrics.MetricsContext-">fromLocation</a></span>(java.lang.String&nbsp;location,
             software.amazon.awssdk.services.s3.S3Client&nbsp;client,
-            <a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a>&nbsp;awsProperties,
+            <a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a>&nbsp;s3FileIOProperties,
             <a href="../../../../../org/apache/iceberg/metrics/MetricsContext.html" title="interface in org.apache.iceberg.metrics">MetricsContext</a>&nbsp;metrics)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>protected software.amazon.awssdk.services.s3.model.HeadObjectResponse</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#getObjectMetadata--">getObjectMetadata</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#location--">location</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/iceberg/metrics/MetricsContext.html" title="interface in org.apache.iceberg.metrics">MetricsContext</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#metrics--">metrics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/encryption/NativeFileCryptoParameters.html" title="class in org.apache.iceberg.encryption">NativeFileCryptoParameters</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#nativeCryptoParameters--">nativeCryptoParameters</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#s3FileIOProperties--">s3FileIOProperties</a></span>()</code>&nbsp;</td>
+</tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html#setNativeCryptoParameters-org.apache.iceberg.encryption.NativeFileCryptoParameters-">setNativeCryptoParameters</a></span>(<a href="../../../../../org/apache/iceberg/encryption/NativeFileCryptoParameters.html" title="class in org.apache.iceberg.encryption">NativeFileCryptoParameters</a>&nbsp;nativeCryptoParameters)</code>&nbsp;</td>
@@ -221,7 +221,7 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.AwsProperties-org.apache.iceberg.metrics.MetricsContext-">
+<a name="fromLocation-java.lang.String-software.amazon.awssdk.services.s3.S3Client-org.apache.iceberg.aws.s3.S3FileIOProperties-org.apache.iceberg.metrics.MetricsContext-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -229,7 +229,7 @@
 <h4>fromLocation</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a>&nbsp;fromLocation(java.lang.String&nbsp;location,
                                         software.amazon.awssdk.services.s3.S3Client&nbsp;client,
-                                        <a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a>&nbsp;awsProperties,
+                                        <a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a>&nbsp;s3FileIOProperties,
                                         <a href="../../../../../org/apache/iceberg/metrics/MetricsContext.html" title="interface in org.apache.iceberg.metrics">MetricsContext</a>&nbsp;metrics)</pre>
 </li>
 </ul>
@@ -321,13 +321,13 @@
 <pre>public&nbsp;java.lang.String&nbsp;location()</pre>
 </li>
 </ul>
-<a name="awsProperties--">
+<a name="s3FileIOProperties--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>awsProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a>&nbsp;awsProperties()</pre>
+<h4>s3FileIOProperties</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a>&nbsp;s3FileIOProperties()</pre>
 </li>
 </ul>
 <a name="metrics--">
diff --git a/javadoc/org/apache/iceberg/aws/s3/package-frame.html b/javadoc/org/apache/iceberg/aws/s3/package-frame.html
index c27ac5c..d43178e 100644
--- a/javadoc/org/apache/iceberg/aws/s3/package-frame.html
+++ b/javadoc/org/apache/iceberg/aws/s3/package-frame.html
@@ -10,9 +10,14 @@
 <body>
 <h1 class="bar"><a href="../../../../../org/apache/iceberg/aws/s3/package-summary.html" target="classFrame">org.apache.iceberg.aws.s3</a></h1>
 <div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3" target="classFrame"><span class="interfaceName">S3FileIOAwsClientFactory</span></a></li>
+</ul>
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
 <li><a href="S3FileIO.html" title="class in org.apache.iceberg.aws.s3" target="classFrame">S3FileIO</a></li>
+<li><a href="S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3" target="classFrame">S3FileIOProperties</a></li>
 <li><a href="S3InputFile.html" title="class in org.apache.iceberg.aws.s3" target="classFrame">S3InputFile</a></li>
 <li><a href="S3OutputFile.html" title="class in org.apache.iceberg.aws.s3" target="classFrame">S3OutputFile</a></li>
 <li><a href="S3RequestUtil.html" title="class in org.apache.iceberg.aws.s3" target="classFrame">S3RequestUtil</a></li>
diff --git a/javadoc/org/apache/iceberg/aws/s3/package-summary.html b/javadoc/org/apache/iceberg/aws/s3/package-summary.html
index c796ae9..129acba 100644
--- a/javadoc/org/apache/iceberg/aws/s3/package-summary.html
+++ b/javadoc/org/apache/iceberg/aws/s3/package-summary.html
@@ -73,6 +73,21 @@
 <div class="contentContainer">
 <ul class="blockList">
 <li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3">S3FileIOAwsClientFactory</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
 <table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
 <caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -87,14 +102,18 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/aws/s3/S3RequestUtil.html" title="class in org.apache.iceberg.aws.s3">S3RequestUtil</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/javadoc/org/apache/iceberg/aws/s3/package-tree.html b/javadoc/org/apache/iceberg/aws/s3/package-tree.html
index 3ea9311..fcc67a0 100644
--- a/javadoc/org/apache/iceberg/aws/s3/package-tree.html
+++ b/javadoc/org/apache/iceberg/aws/s3/package-tree.html
@@ -80,12 +80,21 @@
 <li type="circle">java.lang.Object
 <ul>
 <li type="circle">org.apache.iceberg.aws.s3.<a href="../../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3FileIO</span></a> (implements org.apache.iceberg.io.<a href="../../../../../org/apache/iceberg/io/CredentialSupplier.html" title="interface in org.apache.iceberg.io">CredentialSupplier</a>, org.apache.iceberg.io.<a href="../../../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>, org.apache.iceberg.io.<a href="../../../../../org/apache/iceberg/io/SupportsBulkOperations.html" title="interface in org.apache.iceberg.io">SupportsBulkOperations</a>, org.apache.iceberg.io.<a href="../../../../../org/apache/iceberg/io/SupportsPrefixOperations.html" title="interface in org.apache.iceberg.io">SupportsPrefixOperations</a>)</li>
+<li type="circle">org.apache.iceberg.aws.s3.<a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3FileIOProperties</span></a> (implements java.io.Serializable)</li>
 <li type="circle">org.apache.iceberg.aws.s3.<a href="../../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3InputFile</span></a> (implements org.apache.iceberg.io.<a href="../../../../../org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a>, org.apache.iceberg.encryption.<a href="../../../../../org/apache/iceberg/encryption/NativelyEncryptedFile.html" title="interface in org.apache.iceberg.encryption">NativelyEncryptedFile</a>)</li>
 <li type="circle">org.apache.iceberg.aws.s3.<a href="../../../../../org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3OutputFile</span></a> (implements org.apache.iceberg.encryption.<a href="../../../../../org/apache/iceberg/encryption/NativelyEncryptedFile.html" title="interface in org.apache.iceberg.encryption">NativelyEncryptedFile</a>, org.apache.iceberg.io.<a href="../../../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a>)</li>
 <li type="circle">org.apache.iceberg.aws.s3.<a href="../../../../../org/apache/iceberg/aws/s3/S3RequestUtil.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3RequestUtil</span></a></li>
 </ul>
 </li>
 </ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">java.io.Serializable
+<ul>
+<li type="circle">org.apache.iceberg.aws.s3.<a href="../../../../../org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3FileIOAwsClientFactory</span></a></li>
+</ul>
+</li>
+</ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/javadoc/org/apache/iceberg/aws/s3/signer/package-summary.html b/javadoc/org/apache/iceberg/aws/s3/signer/package-summary.html
index 78fbed3..d1c16d6 100644
--- a/javadoc/org/apache/iceberg/aws/s3/signer/package-summary.html
+++ b/javadoc/org/apache/iceberg/aws/s3/signer/package-summary.html
@@ -42,7 +42,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/iceberg/aws/s3/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/iceberg/catalog/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/iceberg/aws/util/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/iceberg/aws/s3/signer/package-summary.html" target="_top">Frames</a></li>
@@ -157,7 +157,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/iceberg/aws/s3/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/iceberg/catalog/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/iceberg/aws/util/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/iceberg/aws/s3/signer/package-summary.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/aws/s3/signer/package-tree.html b/javadoc/org/apache/iceberg/aws/s3/signer/package-tree.html
index 44006ea..01a83c9 100644
--- a/javadoc/org/apache/iceberg/aws/s3/signer/package-tree.html
+++ b/javadoc/org/apache/iceberg/aws/s3/signer/package-tree.html
@@ -42,7 +42,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/iceberg/aws/s3/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/iceberg/catalog/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/iceberg/aws/util/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/iceberg/aws/s3/signer/package-tree.html" target="_top">Frames</a></li>
@@ -145,7 +145,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/iceberg/aws/s3/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/iceberg/catalog/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/iceberg/aws/util/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/iceberg/aws/s3/signer/package-tree.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/catalog/Catalog.html b/javadoc/org/apache/iceberg/catalog/Catalog.html
index ec1fe87..63ceb78 100644
--- a/javadoc/org/apache/iceberg/catalog/Catalog.html
+++ b/javadoc/org/apache/iceberg/catalog/Catalog.html
@@ -99,7 +99,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a>, <a href="../../../../org/apache/iceberg/catalog/BaseSessionCatalog.AsCatalog.html" title="class in org.apache.iceberg.catalog">BaseSessionCatalog.AsCatalog</a>, <a href="../../../../org/apache/iceberg/CachingCatalog.html" title="class in org.apache.iceberg">CachingCatalog</a>, <a href="../../../../org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a>, <a href="../../../../org/apache/iceberg/dell/ecs/EcsCatalog.html" title="class in org.apache.iceberg.dell.ecs">EcsCatalog</a>, <a href="../../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a>, <a href="../../../../org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a>, <a href="../../../../org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a>, <a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a>, <a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a>, <a href="../../../../org/apache/iceberg/rest/RESTCatalog.html" title="class in org.apache.iceberg.rest">RESTCatalog</a>, <a href="../../../../org/apache/iceberg/snowflake/SnowflakeCatalog.html" title="class in org.apache.iceberg.snowflake">SnowflakeCatalog</a></dd>
+<dd><a href="../../../../org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a>, <a href="../../../../org/apache/iceberg/catalog/BaseSessionCatalog.AsCatalog.html" title="class in org.apache.iceberg.catalog">BaseSessionCatalog.AsCatalog</a>, <a href="../../../../org/apache/iceberg/CachingCatalog.html" title="class in org.apache.iceberg">CachingCatalog</a>, <a href="../../../../org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a>, <a href="../../../../org/apache/iceberg/dell/ecs/EcsCatalog.html" title="class in org.apache.iceberg.dell.ecs">EcsCatalog</a>, <a href="../../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a>, <a href="../../../../org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a>, <a href="../../../../org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a>, <a href="../../../../org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a>, <a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a>, <a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a>, <a href="../../../../org/apache/iceberg/rest/RESTCatalog.html" title="class in org.apache.iceberg.rest">RESTCatalog</a>, <a href="../../../../org/apache/iceberg/snowflake/SnowflakeCatalog.html" title="class in org.apache.iceberg.snowflake">SnowflakeCatalog</a></dd>
 </dl>
 <hr>
 <br>
@@ -364,7 +364,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a list of identifiers for tables</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../../../../org/apache/iceberg/exceptions/NotFoundException.html" title="class in org.apache.iceberg.exceptions">NotFoundException</a></code> - if the namespace is not found</dd>
+<dd><code><a href="../../../../org/apache/iceberg/exceptions/NoSuchNamespaceException.html" title="class in org.apache.iceberg.exceptions">NoSuchNamespaceException</a></code> - if the namespace is not found</dd>
 </dl>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/catalog/SupportsNamespaces.html b/javadoc/org/apache/iceberg/catalog/SupportsNamespaces.html
index 56d41bd..8b20585 100644
--- a/javadoc/org/apache/iceberg/catalog/SupportsNamespaces.html
+++ b/javadoc/org/apache/iceberg/catalog/SupportsNamespaces.html
@@ -99,7 +99,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/iceberg/catalog/BaseSessionCatalog.AsCatalog.html" title="class in org.apache.iceberg.catalog">BaseSessionCatalog.AsCatalog</a>, <a href="../../../../org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a>, <a href="../../../../org/apache/iceberg/dell/ecs/EcsCatalog.html" title="class in org.apache.iceberg.dell.ecs">EcsCatalog</a>, <a href="../../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a>, <a href="../../../../org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a>, <a href="../../../../org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a>, <a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a>, <a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a>, <a href="../../../../org/apache/iceberg/rest/RESTCatalog.html" title="class in org.apache.iceberg.rest">RESTCatalog</a>, <a href="../../../../org/apache/iceberg/snowflake/SnowflakeCatalog.html" title="class in org.apache.iceberg.snowflake">SnowflakeCatalog</a></dd>
+<dd><a href="../../../../org/apache/iceberg/catalog/BaseSessionCatalog.AsCatalog.html" title="class in org.apache.iceberg.catalog">BaseSessionCatalog.AsCatalog</a>, <a href="../../../../org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.html" title="class in org.apache.iceberg.aws.dynamodb">DynamoDbCatalog</a>, <a href="../../../../org/apache/iceberg/dell/ecs/EcsCatalog.html" title="class in org.apache.iceberg.dell.ecs">EcsCatalog</a>, <a href="../../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a>, <a href="../../../../org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop">HadoopCatalog</a>, <a href="../../../../org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a>, <a href="../../../../org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory">InMemoryCatalog</a>, <a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a>, <a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a>, <a href="../../../../org/apache/iceberg/rest/RESTCatalog.html" title="class in org.apache.iceberg.rest">RESTCatalog</a>, <a href="../../../../org/apache/iceberg/snowflake/SnowflakeCatalog.html" title="class in org.apache.iceberg.snowflake">SnowflakeCatalog</a></dd>
 </dl>
 <hr>
 <br>
diff --git a/javadoc/org/apache/iceberg/catalog/ViewCatalog.html b/javadoc/org/apache/iceberg/catalog/ViewCatalog.html
index f124403..9f3bc61 100644
--- a/javadoc/org/apache/iceberg/catalog/ViewCatalog.html
+++ b/javadoc/org/apache/iceberg/catalog/ViewCatalog.html
@@ -218,7 +218,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a list of identifiers for views</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../../../../org/apache/iceberg/exceptions/NotFoundException.html" title="class in org.apache.iceberg.exceptions">NotFoundException</a></code> - if the namespace is not found</dd>
+<dd><code><a href="../../../../org/apache/iceberg/exceptions/NoSuchNamespaceException.html" title="class in org.apache.iceberg.exceptions">NoSuchNamespaceException</a></code> - if the namespace is not found</dd>
 </dl>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/catalog/package-summary.html b/javadoc/org/apache/iceberg/catalog/package-summary.html
index 898d170..6ef1b6c 100644
--- a/javadoc/org/apache/iceberg/catalog/package-summary.html
+++ b/javadoc/org/apache/iceberg/catalog/package-summary.html
@@ -41,7 +41,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/aws/s3/signer/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/iceberg/aws/util/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/iceberg/common/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -175,7 +175,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/aws/s3/signer/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/iceberg/aws/util/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/iceberg/common/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/catalog/package-tree.html b/javadoc/org/apache/iceberg/catalog/package-tree.html
index b7b6584..887eadb 100644
--- a/javadoc/org/apache/iceberg/catalog/package-tree.html
+++ b/javadoc/org/apache/iceberg/catalog/package-tree.html
@@ -41,7 +41,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/aws/s3/signer/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/iceberg/aws/util/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/iceberg/common/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -117,7 +117,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/aws/s3/signer/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/iceberg/aws/util/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/iceberg/common/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/delta/SnapshotDeltaLakeTable.Result.html b/javadoc/org/apache/iceberg/delta/SnapshotDeltaLakeTable.Result.html
index 270198b..c2e18e8 100644
--- a/javadoc/org/apache/iceberg/delta/SnapshotDeltaLakeTable.Result.html
+++ b/javadoc/org/apache/iceberg/delta/SnapshotDeltaLakeTable.Result.html
@@ -103,7 +103,8 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <span class="typeNameLabel">SnapshotDeltaLakeTable.Result</span></pre>
+<pre>@Value.Immutable
+public static interface <span class="typeNameLabel">SnapshotDeltaLakeTable.Result</span></pre>
 <div class="block">The action result that contains a summary of the execution.</div>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/delta/SnapshotDeltaLakeTable.html b/javadoc/org/apache/iceberg/delta/SnapshotDeltaLakeTable.html
index 45e0430..1272430 100644
--- a/javadoc/org/apache/iceberg/delta/SnapshotDeltaLakeTable.html
+++ b/javadoc/org/apache/iceberg/delta/SnapshotDeltaLakeTable.html
@@ -103,7 +103,8 @@
 </dl>
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">SnapshotDeltaLakeTable</span>
+<pre>@Value.Enclosing
+public interface <span class="typeNameLabel">SnapshotDeltaLakeTable</span>
 extends <a href="../../../../org/apache/iceberg/actions/Action.html" title="interface in org.apache.iceberg.actions">Action</a>&lt;<a href="../../../../org/apache/iceberg/delta/SnapshotDeltaLakeTable.html" title="interface in org.apache.iceberg.delta">SnapshotDeltaLakeTable</a>,<a href="../../../../org/apache/iceberg/delta/SnapshotDeltaLakeTable.Result.html" title="interface in org.apache.iceberg.delta">SnapshotDeltaLakeTable.Result</a>&gt;</pre>
 <div class="block">Snapshot an existing Delta Lake table to Iceberg in place.</div>
 </li>
diff --git a/javadoc/org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html b/javadoc/org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html
index 9dcca0e..5d23ed3 100644
--- a/javadoc/org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html
+++ b/javadoc/org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></dd>
+<dd>java.io.Serializable, java.lang.Cloneable, <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></dd>
 </dl>
 <dl>
 <dt>Enclosing interface:</dt>
@@ -156,12 +156,18 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html#clone--">clone</a></span>()</code>
+<div class="block">Clone a CatalogLoader.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html#loadCatalog--">loadCatalog</a></span>()</code>
 <div class="block">Create a new catalog with the provided properties.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.CustomCatalogLoader.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -171,7 +177,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<code>equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.flink.CatalogLoader">
@@ -214,6 +220,23 @@
 </dl>
 </li>
 </ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a>&nbsp;clone()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#clone--">CatalogLoader</a></code></span></div>
+<div class="block">Clone a CatalogLoader.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#clone--">clone</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>clone</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html b/javadoc/org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html
index 21cbe92..f18bdcd 100644
--- a/javadoc/org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html
+++ b/javadoc/org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></dd>
+<dd>java.io.Serializable, java.lang.Cloneable, <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></dd>
 </dl>
 <dl>
 <dt>Enclosing interface:</dt>
@@ -156,12 +156,18 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html#clone--">clone</a></span>()</code>
+<div class="block">Clone a CatalogLoader.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html#loadCatalog--">loadCatalog</a></span>()</code>
 <div class="block">Create a new catalog with the provided properties.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.HadoopCatalogLoader.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -171,7 +177,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<code>equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.flink.CatalogLoader">
@@ -214,6 +220,23 @@
 </dl>
 </li>
 </ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a>&nbsp;clone()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#clone--">CatalogLoader</a></code></span></div>
+<div class="block">Clone a CatalogLoader.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#clone--">clone</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>clone</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html b/javadoc/org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html
index 88b0eb4..2b9dbc9 100644
--- a/javadoc/org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html
+++ b/javadoc/org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></dd>
+<dd>java.io.Serializable, java.lang.Cloneable, <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></dd>
 </dl>
 <dl>
 <dt>Enclosing interface:</dt>
@@ -156,12 +156,18 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html#clone--">clone</a></span>()</code>
+<div class="block">Clone a CatalogLoader.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html#loadCatalog--">loadCatalog</a></span>()</code>
 <div class="block">Create a new catalog with the provided properties.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.HiveCatalogLoader.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -171,7 +177,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<code>equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.flink.CatalogLoader">
@@ -214,6 +220,23 @@
 </dl>
 </li>
 </ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a>&nbsp;clone()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#clone--">CatalogLoader</a></code></span></div>
+<div class="block">Clone a CatalogLoader.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#clone--">clone</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>clone</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html b/javadoc/org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html
index 5eb0735..54f1fff 100644
--- a/javadoc/org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html
+++ b/javadoc/org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></dd>
+<dd>java.io.Serializable, java.lang.Cloneable, <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></dd>
 </dl>
 <dl>
 <dt>Enclosing interface:</dt>
@@ -156,12 +156,18 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html#clone--">clone</a></span>()</code>
+<div class="block">Clone a CatalogLoader.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html#loadCatalog--">loadCatalog</a></span>()</code>
 <div class="block">Create a new catalog with the provided properties.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.RESTCatalogLoader.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -171,7 +177,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<code>equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.flink.CatalogLoader">
@@ -214,6 +220,23 @@
 </dl>
 </li>
 </ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a>&nbsp;clone()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#clone--">CatalogLoader</a></code></span></div>
+<div class="block">Clone a CatalogLoader.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#clone--">clone</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>clone</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/CatalogLoader.html b/javadoc/org/apache/iceberg/flink/CatalogLoader.html
index a545f46..71cbb71 100644
--- a/javadoc/org/apache/iceberg/flink/CatalogLoader.html
+++ b/javadoc/org/apache/iceberg/flink/CatalogLoader.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":17,"i1":17,"i2":17,"i3":6,"i4":17};
+var methods = {"i0":6,"i1":17,"i2":17,"i3":17,"i4":6,"i5":17};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -99,7 +99,7 @@
 <li class="blockList">
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.io.Serializable</dd>
+<dd>java.lang.Cloneable, java.io.Serializable</dd>
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
@@ -108,7 +108,7 @@
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">CatalogLoader</span>
-extends java.io.Serializable</pre>
+extends java.io.Serializable, java.lang.Cloneable</pre>
 <div class="block">Serializable loader to load an Iceberg <a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a>.</div>
 </li>
 </ul>
@@ -160,31 +160,37 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#clone--">clone</a></span>()</code>
+<div class="block">Clone a CatalogLoader.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#custom-java.lang.String-java.util.Map-org.apache.hadoop.conf.Configuration-java.lang.String-">custom</a></span>(java.lang.String&nbsp;name,
       java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties,
       org.apache.hadoop.conf.Configuration&nbsp;hadoopConf,
       java.lang.String&nbsp;impl)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#hadoop-java.lang.String-org.apache.hadoop.conf.Configuration-java.util.Map-">hadoop</a></span>(java.lang.String&nbsp;name,
       org.apache.hadoop.conf.Configuration&nbsp;hadoopConf,
       java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#hive-java.lang.String-org.apache.hadoop.conf.Configuration-java.util.Map-">hive</a></span>(java.lang.String&nbsp;name,
     org.apache.hadoop.conf.Configuration&nbsp;hadoopConf,
     java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#loadCatalog--">loadCatalog</a></span>()</code>
 <div class="block">Create a new catalog with the provided properties.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html#rest-java.lang.String-org.apache.hadoop.conf.Configuration-java.util.Map-">rest</a></span>(java.lang.String&nbsp;name,
     org.apache.hadoop.conf.Configuration&nbsp;hadoopConf,
@@ -222,6 +228,16 @@
 </dl>
 </li>
 </ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre><a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a>&nbsp;clone()</pre>
+<div class="block">Clone a CatalogLoader.</div>
+</li>
+</ul>
 <a name="hadoop-java.lang.String-org.apache.hadoop.conf.Configuration-java.util.Map-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/FlinkCatalog.html b/javadoc/org/apache/iceberg/flink/FlinkCatalog.html
index e0303ef..1208c06 100644
--- a/javadoc/org/apache/iceberg/flink/FlinkCatalog.html
+++ b/javadoc/org/apache/iceberg/flink/FlinkCatalog.html
@@ -389,7 +389,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.flink.table.catalog.Catalog</h3>
-<code>bulkGetPartitionColumnStatistics, bulkGetPartitionStatistics, dropDatabase, getFunctionDefinitionFactory, getTableFactory, supportsManagedTable</code></li>
+<code>alterTable, bulkGetPartitionColumnStatistics, bulkGetPartitionStatistics, dropDatabase, getFunctionDefinitionFactory, getTableFactory, supportsManagedTable</code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/flink/FlinkReadConf.html b/javadoc/org/apache/iceberg/flink/FlinkReadConf.html
index 12f0a7d..90f85a4 100644
--- a/javadoc/org/apache/iceberg/flink/FlinkReadConf.html
+++ b/javadoc/org/apache/iceberg/flink/FlinkReadConf.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -176,57 +176,61 @@
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#maxPlanningSnapshotCount--">maxPlanningSnapshotCount</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#maxAllowedPlanningFailures--">maxAllowedPlanningFailures</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#maxPlanningSnapshotCount--">maxPlanningSnapshotCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>java.time.Duration</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#monitorInterval--">monitorInterval</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#nameMapping--">nameMapping</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>java.lang.Long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#snapshotId--">snapshotId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#splitFileOpenCost--">splitFileOpenCost</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#splitLookback--">splitLookback</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#splitSize--">splitSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/flink/source/StreamingStartingStrategy.html" title="enum in org.apache.iceberg.flink.source">StreamingStartingStrategy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#startingStrategy--">startingStrategy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>java.lang.Long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#startSnapshotId--">startSnapshotId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>java.lang.Long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#startSnapshotTimestamp--">startSnapshotTimestamp</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#startTag--">startTag</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#streaming--">streaming</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#tag--">tag</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html#workerPoolSize--">workerPoolSize</a></span>()</code>&nbsp;</td>
 </tr>
@@ -454,12 +458,21 @@
 <a name="workerPoolSize--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>workerPoolSize</h4>
 <pre>public&nbsp;int&nbsp;workerPoolSize()</pre>
 </li>
 </ul>
+<a name="maxAllowedPlanningFailures--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>maxAllowedPlanningFailures</h4>
+<pre>public&nbsp;int&nbsp;maxAllowedPlanningFailures()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/flink/FlinkReadOptions.html b/javadoc/org/apache/iceberg/flink/FlinkReadOptions.html
index 07be9e2..577df58 100644
--- a/javadoc/org/apache/iceberg/flink/FlinkReadOptions.html
+++ b/javadoc/org/apache/iceberg/flink/FlinkReadOptions.html
@@ -164,6 +164,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadOptions.html#MAX_ALLOWED_PLANNING_FAILURES">MAX_ALLOWED_PLANNING_FAILURES</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static org.apache.flink.configuration.ConfigOption&lt;java.lang.Integer&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadOptions.html#MAX_ALLOWED_PLANNING_FAILURES_OPTION">MAX_ALLOWED_PLANNING_FAILURES_OPTION</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkReadOptions.html#MAX_PLANNING_SNAPSHOT_COUNT">MAX_PLANNING_SNAPSHOT_COUNT</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -563,12 +571,34 @@
 <a name="LIMIT_OPTION">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>LIMIT_OPTION</h4>
 <pre>public static final&nbsp;org.apache.flink.configuration.ConfigOption&lt;java.lang.Long&gt; LIMIT_OPTION</pre>
 </li>
 </ul>
+<a name="MAX_ALLOWED_PLANNING_FAILURES">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MAX_ALLOWED_PLANNING_FAILURES</h4>
+<pre>public static final&nbsp;java.lang.String MAX_ALLOWED_PLANNING_FAILURES</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.flink.FlinkReadOptions.MAX_ALLOWED_PLANNING_FAILURES">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="MAX_ALLOWED_PLANNING_FAILURES_OPTION">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MAX_ALLOWED_PLANNING_FAILURES_OPTION</h4>
+<pre>public static final&nbsp;org.apache.flink.configuration.ConfigOption&lt;java.lang.Integer&gt; MAX_ALLOWED_PLANNING_FAILURES_OPTION</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/flink/FlinkSchemaUtil.html b/javadoc/org/apache/iceberg/flink/FlinkSchemaUtil.html
index 9145d9e..767e365 100644
--- a/javadoc/org/apache/iceberg/flink/FlinkSchemaUtil.html
+++ b/javadoc/org/apache/iceberg/flink/FlinkSchemaUtil.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/flink/FlinkReadOptions.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/flink/FlinkSchemaUtil.html" target="_top">Frames</a></li>
@@ -334,7 +334,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/flink/FlinkReadOptions.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/flink/FlinkSchemaUtil.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/flink/FlinkTypeVisitor.html b/javadoc/org/apache/iceberg/flink/FlinkTypeVisitor.html
index edde285..42e1062 100644
--- a/javadoc/org/apache/iceberg/flink/FlinkTypeVisitor.html
+++ b/javadoc/org/apache/iceberg/flink/FlinkTypeVisitor.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/flink/FlinkSchemaUtil.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/flink/FlinkWriteConf.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -375,7 +375,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/flink/FlinkSchemaUtil.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/flink/FlinkWriteConf.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/flink/FlinkWriteConf.html b/javadoc/org/apache/iceberg/flink/FlinkWriteConf.html
index b1e7c25..0583994 100644
--- a/javadoc/org/apache/iceberg/flink/FlinkWriteConf.html
+++ b/javadoc/org/apache/iceberg/flink/FlinkWriteConf.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -214,6 +214,10 @@
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkWriteConf.html#workerPoolSize--">workerPoolSize</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>java.lang.Integer</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkWriteConf.html#writeParallelism--">writeParallelism</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -366,12 +370,21 @@
 <a name="branch--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>branch</h4>
 <pre>public&nbsp;java.lang.String&nbsp;branch()</pre>
 </li>
 </ul>
+<a name="writeParallelism--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>writeParallelism</h4>
+<pre>public&nbsp;java.lang.Integer&nbsp;writeParallelism()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/flink/FlinkWriteOptions.html b/javadoc/org/apache/iceberg/flink/FlinkWriteOptions.html
index f42e8c1..ec7324b 100644
--- a/javadoc/org/apache/iceberg/flink/FlinkWriteOptions.html
+++ b/javadoc/org/apache/iceberg/flink/FlinkWriteOptions.html
@@ -155,6 +155,10 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkWriteOptions.html#WRITE_FORMAT">WRITE_FORMAT</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static org.apache.flink.configuration.ConfigOption&lt;java.lang.Integer&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkWriteOptions.html#WRITE_PARALLELISM">WRITE_PARALLELISM</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.flink.configuration.ConfigOption&lt;java.lang.Boolean&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/FlinkWriteOptions.html#WRITE_UPSERT_ENABLED">WRITE_UPSERT_ENABLED</a></span></code>&nbsp;</td>
 </tr>
@@ -263,12 +267,21 @@
 <a name="BRANCH">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>BRANCH</h4>
 <pre>public static final&nbsp;org.apache.flink.configuration.ConfigOption&lt;java.lang.String&gt; BRANCH</pre>
 </li>
 </ul>
+<a name="WRITE_PARALLELISM">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>WRITE_PARALLELISM</h4>
+<pre>public static final&nbsp;org.apache.flink.configuration.ConfigOption&lt;java.lang.Integer&gt; WRITE_PARALLELISM</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html b/javadoc/org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html
index 9114268..0e15b04 100644
--- a/javadoc/org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html
+++ b/javadoc/org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Closeable, java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></dd>
+<dd>java.io.Closeable, java.io.Serializable, java.lang.AutoCloseable, java.lang.Cloneable, <a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></dd>
 </dl>
 <dl>
 <dt>Enclosing interface:</dt>
@@ -156,18 +156,24 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html#clone--">clone</a></span>()</code>
+<div class="block">Clone a TableLoader</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html#close--">close</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html#loadTable--">loadTable</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html#open--">open</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -177,7 +183,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<code>equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.flink.TableLoader">
@@ -244,6 +250,23 @@
 </dl>
 </li>
 </ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a>&nbsp;clone()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/flink/TableLoader.html#clone--">TableLoader</a></code></span></div>
+<div class="block">Clone a TableLoader</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/iceberg/flink/TableLoader.html#clone--">clone</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>clone</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html b/javadoc/org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html
index f3b753b..8e7b6aa 100644
--- a/javadoc/org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html
+++ b/javadoc/org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Closeable, java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></dd>
+<dd>java.io.Closeable, java.io.Serializable, java.lang.AutoCloseable, java.lang.Cloneable, <a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></dd>
 </dl>
 <dl>
 <dt>Enclosing interface:</dt>
@@ -156,18 +156,24 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html#clone--">clone</a></span>()</code>
+<div class="block">Clone a TableLoader</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html#close--">close</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html#loadTable--">loadTable</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html#open--">open</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -177,7 +183,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<code>equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.flink.TableLoader">
@@ -226,6 +232,23 @@
 </dl>
 </li>
 </ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a>&nbsp;clone()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/iceberg/flink/TableLoader.html#clone--">TableLoader</a></code></span></div>
+<div class="block">Clone a TableLoader</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/iceberg/flink/TableLoader.html#clone--">clone</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>clone</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
 <a name="close--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/TableLoader.html b/javadoc/org/apache/iceberg/flink/TableLoader.html
index e47ee03..da0aa00 100644
--- a/javadoc/org/apache/iceberg/flink/TableLoader.html
+++ b/javadoc/org/apache/iceberg/flink/TableLoader.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":17,"i1":17,"i2":17,"i3":6,"i4":6};
+var methods = {"i0":6,"i1":17,"i2":17,"i3":17,"i4":6,"i5":6};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -99,7 +99,7 @@
 <li class="blockList">
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.lang.AutoCloseable, java.io.Closeable, java.io.Serializable</dd>
+<dd>java.lang.AutoCloseable, java.lang.Cloneable, java.io.Closeable, java.io.Serializable</dd>
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
@@ -108,7 +108,7 @@
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">TableLoader</span>
-extends java.io.Closeable, java.io.Serializable</pre>
+extends java.io.Closeable, java.io.Serializable, java.lang.Cloneable</pre>
 <div class="block">Serializable loader to load an Iceberg <a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a>. Flink needs to get <a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> objects in
  the cluster (for example, to get splits), not just on the client side. So we need an Iceberg
  table loader to get the <a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg"><code>Table</code></a> object.</div>
@@ -154,24 +154,30 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.html#clone--">clone</a></span>()</code>
+<div class="block">Clone a TableLoader</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.html#fromCatalog-org.apache.iceberg.flink.CatalogLoader-org.apache.iceberg.catalog.TableIdentifier-">fromCatalog</a></span>(<a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink">CatalogLoader</a>&nbsp;catalogLoader,
            <a href="../../../../org/apache/iceberg/catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;identifier)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.html#fromHadoopTable-java.lang.String-">fromHadoopTable</a></span>(java.lang.String&nbsp;location)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.html#fromHadoopTable-java.lang.String-org.apache.hadoop.conf.Configuration-">fromHadoopTable</a></span>(java.lang.String&nbsp;location,
                org.apache.hadoop.conf.Configuration&nbsp;hadoopConf)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.html#loadTable--">loadTable</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/flink/TableLoader.html#open--">open</a></span>()</code>&nbsp;</td>
 </tr>
@@ -215,6 +221,16 @@
 <pre><a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;loadTable()</pre>
 </li>
 </ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre><a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a>&nbsp;clone()</pre>
+<div class="block">Clone a TableLoader</div>
+</li>
+</ul>
 <a name="fromCatalog-org.apache.iceberg.flink.CatalogLoader-org.apache.iceberg.catalog.TableIdentifier-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/actions/RewriteDataFilesAction.html b/javadoc/org/apache/iceberg/flink/actions/RewriteDataFilesAction.html
index 60adbcc..a53153b 100644
--- a/javadoc/org/apache/iceberg/flink/actions/RewriteDataFilesAction.html
+++ b/javadoc/org/apache/iceberg/flink/actions/RewriteDataFilesAction.html
@@ -194,7 +194,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html" title="class in org.apache.iceberg.actions">BaseRewriteDataFilesAction</a></h3>
-<code><a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#caseSensitive--">caseSensitive</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#encryptionManager--">encryptionManager</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#execute--">execute</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#outputSpecId-int-">outputSpecId</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#spec--">spec</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#splitLookback-int-">splitLookback</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#splitOpenFileCost-long-">splitOpenFileCost</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#table--">table</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#targetSizeInBytes-long-">targetSizeInBytes</a></code></li>
+<code><a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#caseSensitive--">caseSensitive</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#caseSensitive-boolean-">caseSensitive</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#encryptionManager--">encryptionManager</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#execute--">execute</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#filter-org.apache.iceberg.expressions.Expression-">filter</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#outputSpecId-int-">outputSpecId</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#spec--">spec</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#splitLookback-int-">splitLookback</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#splitOpenFileCost-long-">splitOpenFileCost</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#table--">table</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#targetSizeInBytes-long-">targetSizeInBytes</a>, <a href="../../../../../org/apache/iceberg/actions/BaseRewriteDataFilesAction.html#useStartingSequenceNumber-boolean-">useStartingSequenceNumber</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/javadoc/org/apache/iceberg/flink/data/RowDataProjection.html b/javadoc/org/apache/iceberg/flink/data/RowDataProjection.html
index 4e965cb..9de6b99 100644
--- a/javadoc/org/apache/iceberg/flink/data/RowDataProjection.html
+++ b/javadoc/org/apache/iceberg/flink/data/RowDataProjection.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var methods = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -163,86 +163,98 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getArity--">getArity</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>org.apache.flink.table.data.ArrayData</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getArray-int-">getArray</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getBinary-int-">getBinary</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getBoolean-int-">getBoolean</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getByte-int-">getByte</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>org.apache.flink.table.data.DecimalData</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getDecimal-int-int-int-">getDecimal</a></span>(int&nbsp;pos,
           int&nbsp;precision,
           int&nbsp;scale)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getDouble-int-">getDouble</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>float</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getFloat-int-">getFloat</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getInt-int-">getInt</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getLong-int-">getLong</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>org.apache.flink.table.data.MapData</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getMap-int-">getMap</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;org.apache.flink.table.data.RawValueData&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getRawValue-int-">getRawValue</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>org.apache.flink.table.data.RowData</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getRow-int-int-">getRow</a></span>(int&nbsp;pos,
       int&nbsp;numFields)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>org.apache.flink.types.RowKind</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getRowKind--">getRowKind</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>short</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getShort-int-">getShort</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>org.apache.flink.table.data.StringData</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getString-int-">getString</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>org.apache.flink.table.data.TimestampData</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#getTimestamp-int-int-">getTimestamp</a></span>(int&nbsp;pos,
             int&nbsp;precision)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#isNullAt-int-">isNullAt</a></span>(int&nbsp;pos)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#setRowKind-org.apache.flink.types.RowKind-">setRowKind</a></span>(org.apache.flink.types.RowKind&nbsp;kind)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>org.apache.flink.table.data.RowData</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/data/RowDataProjection.html#wrap-org.apache.flink.table.data.RowData-">wrap</a></span>(org.apache.flink.table.data.RowData&nbsp;row)</code>&nbsp;</td>
 </tr>
@@ -252,7 +264,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.flink.table.data.RowData">
@@ -568,7 +580,7 @@
 <a name="getRow-int-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getRow</h4>
 <pre>public&nbsp;org.apache.flink.table.data.RowData&nbsp;getRow(int&nbsp;pos,
@@ -579,6 +591,45 @@
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/flink/package-frame.html b/javadoc/org/apache/iceberg/flink/package-frame.html
index 9547165..3914371 100644
--- a/javadoc/org/apache/iceberg/flink/package-frame.html
+++ b/javadoc/org/apache/iceberg/flink/package-frame.html
@@ -29,6 +29,7 @@
 <li><a href="FlinkReadConf.html" title="class in org.apache.iceberg.flink" target="classFrame">FlinkReadConf</a></li>
 <li><a href="FlinkReadOptions.html" title="class in org.apache.iceberg.flink" target="classFrame">FlinkReadOptions</a></li>
 <li><a href="FlinkSchemaUtil.html" title="class in org.apache.iceberg.flink" target="classFrame">FlinkSchemaUtil</a></li>
+<li><a href="FlinkSourceFilter.html" title="class in org.apache.iceberg.flink" target="classFrame">FlinkSourceFilter</a></li>
 <li><a href="FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink" target="classFrame">FlinkTypeVisitor</a></li>
 <li><a href="FlinkWriteConf.html" title="class in org.apache.iceberg.flink" target="classFrame">FlinkWriteConf</a></li>
 <li><a href="FlinkWriteOptions.html" title="class in org.apache.iceberg.flink" target="classFrame">FlinkWriteOptions</a></li>
diff --git a/javadoc/org/apache/iceberg/flink/package-summary.html b/javadoc/org/apache/iceberg/flink/package-summary.html
index 848a7e9..ac653a5 100644
--- a/javadoc/org/apache/iceberg/flink/package-summary.html
+++ b/javadoc/org/apache/iceberg/flink/package-summary.html
@@ -163,34 +163,38 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink">FlinkTypeVisitor</a>&lt;T&gt;</td>
+<td class="colFirst"><a href="../../../../org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink">FlinkSourceFilter</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink">FlinkTypeVisitor</a>&lt;T&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/flink/FlinkWriteConf.html" title="class in org.apache.iceberg.flink">FlinkWriteConf</a></td>
 <td class="colLast">
 <div class="block">A class for common Iceberg configs for Flink writes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/flink/FlinkWriteOptions.html" title="class in org.apache.iceberg.flink">FlinkWriteOptions</a></td>
 <td class="colLast">
 <div class="block">Flink sink write options</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/flink/IcebergTableSink.html" title="class in org.apache.iceberg.flink">IcebergTableSink</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/flink/RowDataWrapper.html" title="class in org.apache.iceberg.flink">RowDataWrapper</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/flink/TableLoader.CatalogTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.CatalogTableLoader</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/flink/TableLoader.HadoopTableLoader.html" title="class in org.apache.iceberg.flink">TableLoader.HadoopTableLoader</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/javadoc/org/apache/iceberg/flink/package-tree.html b/javadoc/org/apache/iceberg/flink/package-tree.html
index be1d38c..2cb54d7 100644
--- a/javadoc/org/apache/iceberg/flink/package-tree.html
+++ b/javadoc/org/apache/iceberg/flink/package-tree.html
@@ -95,6 +95,7 @@
 <li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/FlinkReadConf.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkReadConf</span></a></li>
 <li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/FlinkReadOptions.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkReadOptions</span></a></li>
 <li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/FlinkSchemaUtil.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkSchemaUtil</span></a></li>
+<li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkSourceFilter</span></a> (implements org.apache.flink.api.common.functions.FilterFunction&lt;T&gt;)</li>
 <li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkTypeVisitor</span></a>&lt;T&gt; (implements org.apache.flink.table.types.logical.LogicalTypeVisitor&lt;R&gt;)</li>
 <li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/FlinkWriteConf.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkWriteConf</span></a></li>
 <li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/FlinkWriteOptions.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkWriteOptions</span></a></li>
@@ -111,15 +112,21 @@
 <ul>
 <li type="circle">java.io.Closeable
 <ul>
-<li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">TableLoader</span></a> (also extends java.io.Serializable)</li>
+<li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">TableLoader</span></a> (also extends java.lang.Cloneable, java.io.Serializable)</li>
 </ul>
 </li>
 </ul>
 </li>
+<li type="circle">java.lang.Cloneable
+<ul>
+<li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">CatalogLoader</span></a> (also extends java.io.Serializable)</li>
+<li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">TableLoader</span></a> (also extends java.io.Closeable, java.io.Serializable)</li>
+</ul>
+</li>
 <li type="circle">java.io.Serializable
 <ul>
-<li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">CatalogLoader</span></a></li>
-<li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">TableLoader</span></a> (also extends java.io.Closeable)</li>
+<li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">CatalogLoader</span></a> (also extends java.lang.Cloneable)</li>
+<li type="circle">org.apache.iceberg.flink.<a href="../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">TableLoader</span></a> (also extends java.lang.Cloneable, java.io.Closeable)</li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/flink/source/IcebergSource.Builder.html b/javadoc/org/apache/iceberg/flink/source/IcebergSource.Builder.html
index 39401a9..c4c7db6 100644
--- a/javadoc/org/apache/iceberg/flink/source/IcebergSource.Builder.html
+++ b/javadoc/org/apache/iceberg/flink/source/IcebergSource.Builder.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":42,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":42,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -181,94 +181,98 @@
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#monitorInterval-java.time.Duration-">monitorInterval</a></span>(java.time.Duration&nbsp;newMonitorInterval)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#maxAllowedPlanningFailures-int-">maxAllowedPlanningFailures</a></span>(int&nbsp;maxAllowedPlanningFailures)</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#nameMapping-java.lang.String-">nameMapping</a></span>(java.lang.String&nbsp;newNameMapping)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#monitorInterval-java.time.Duration-">monitorInterval</a></span>(java.time.Duration&nbsp;newMonitorInterval)</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#planParallelism-int-">planParallelism</a></span>(int&nbsp;planParallelism)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#nameMapping-java.lang.String-">nameMapping</a></span>(java.lang.String&nbsp;newNameMapping)</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#project-org.apache.iceberg.Schema-">project</a></span>(<a href="../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newProjectedSchema)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#planParallelism-int-">planParallelism</a></span>(int&nbsp;planParallelism)</code>&nbsp;</td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#project-org.apache.flink.table.api.TableSchema-">project</a></span>(org.apache.flink.table.api.TableSchema&nbsp;newProjectedFlinkSchema)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#project-org.apache.iceberg.Schema-">project</a></span>(<a href="../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newProjectedSchema)</code>&nbsp;</td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#project-org.apache.flink.table.api.TableSchema-">project</a></span>(org.apache.flink.table.api.TableSchema&nbsp;newProjectedFlinkSchema)</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#properties-java.util.Map-">properties</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
 <div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#setAll-java.util.Map-"><code>setAll(java.util.Map&lt;java.lang.String, java.lang.String&gt;)</code></a> instead.</span></div>
 </div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#readerFunction-org.apache.iceberg.flink.source.reader.ReaderFunction-">readerFunction</a></span>(<a href="../../../../../org/apache/iceberg/flink/source/reader/ReaderFunction.html" title="interface in org.apache.iceberg.flink.source.reader">ReaderFunction</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;&nbsp;newReaderFunction)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#set-java.lang.String-java.lang.String-">set</a></span>(java.lang.String&nbsp;property,
    java.lang.String&nbsp;value)</code>
 <div class="block">Set the read properties for Flink source.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#setAll-java.util.Map-">setAll</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>
 <div class="block">Set the read properties for Flink source.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#splitLookback-java.lang.Integer-">splitLookback</a></span>(java.lang.Integer&nbsp;newSplitLookback)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#splitOpenFileCost-java.lang.Long-">splitOpenFileCost</a></span>(java.lang.Long&nbsp;newSplitOpenFileCost)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#splitSize-java.lang.Long-">splitSize</a></span>(java.lang.Long&nbsp;newSplitSize)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#startSnapshotId-java.lang.Long-">startSnapshotId</a></span>(java.lang.Long&nbsp;newStartSnapshotId)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#startSnapshotTimestamp-java.lang.Long-">startSnapshotTimestamp</a></span>(java.lang.Long&nbsp;newStartSnapshotTimestamp)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#startTag-java.lang.String-">startTag</a></span>(java.lang.String&nbsp;startTag)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#streaming-boolean-">streaming</a></span>(boolean&nbsp;streaming)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#streamingStartingStrategy-org.apache.iceberg.flink.source.StreamingStartingStrategy-">streamingStartingStrategy</a></span>(<a href="../../../../../org/apache/iceberg/flink/source/StreamingStartingStrategy.html" title="enum in org.apache.iceberg.flink.source">StreamingStartingStrategy</a>&nbsp;newStartingStrategy)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#table-org.apache.iceberg.Table-">table</a></span>(<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;newTable)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#tableLoader-org.apache.iceberg.flink.TableLoader-">tableLoader</a></span>(<a href="../../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a>&nbsp;loader)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#tag-java.lang.String-">tag</a></span>(java.lang.String&nbsp;tag)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html#useSnapshotId-java.lang.Long-">useSnapshotId</a></span>(java.lang.Long&nbsp;newSnapshotId)</code>&nbsp;</td>
 </tr>
@@ -555,6 +559,15 @@
 <pre>public&nbsp;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;&nbsp;exposeLocality(boolean&nbsp;newExposeLocality)</pre>
 </li>
 </ul>
+<a name="maxAllowedPlanningFailures-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxAllowedPlanningFailures</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="class in org.apache.iceberg.flink.source">IcebergSource.Builder</a>&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.Builder.html" title="type parameter in IcebergSource.Builder">T</a>&gt;&nbsp;maxAllowedPlanningFailures(int&nbsp;maxAllowedPlanningFailures)</pre>
+</li>
+</ul>
 <a name="set-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/source/IcebergSource.html b/javadoc/org/apache/iceberg/flink/source/IcebergSource.html
index c020a38..e083747 100644
--- a/javadoc/org/apache/iceberg/flink/source/IcebergSource.html
+++ b/javadoc/org/apache/iceberg/flink/source/IcebergSource.html
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, org.apache.flink.api.connector.source.Source&lt;T,<a href="../../../../../org/apache/iceberg/flink/source/split/IcebergSourceSplit.html" title="class in org.apache.iceberg.flink.source.split">IcebergSourceSplit</a>,<a href="../../../../../org/apache/iceberg/flink/source/enumerator/IcebergEnumeratorState.html" title="class in org.apache.iceberg.flink.source.enumerator">IcebergEnumeratorState</a>&gt;</dd>
+<dd>java.io.Serializable, org.apache.flink.api.connector.source.Source&lt;T,<a href="../../../../../org/apache/iceberg/flink/source/split/IcebergSourceSplit.html" title="class in org.apache.iceberg.flink.source.split">IcebergSourceSplit</a>,<a href="../../../../../org/apache/iceberg/flink/source/enumerator/IcebergEnumeratorState.html" title="class in org.apache.iceberg.flink.source.enumerator">IcebergEnumeratorState</a>&gt;, org.apache.flink.api.connector.source.SourceReaderFactory&lt;T,<a href="../../../../../org/apache/iceberg/flink/source/split/IcebergSourceSplit.html" title="class in org.apache.iceberg.flink.source.split">IcebergSourceSplit</a>&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -233,7 +233,7 @@
 <pre>public&nbsp;org.apache.flink.api.connector.source.SourceReader&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.html" title="type parameter in IcebergSource">T</a>,<a href="../../../../../org/apache/iceberg/flink/source/split/IcebergSourceSplit.html" title="class in org.apache.iceberg.flink.source.split">IcebergSourceSplit</a>&gt;&nbsp;createReader(org.apache.flink.api.connector.source.SourceReaderContext&nbsp;readerContext)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>createReader</code>&nbsp;in interface&nbsp;<code>org.apache.flink.api.connector.source.Source&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.html" title="type parameter in IcebergSource">T</a>,<a href="../../../../../org/apache/iceberg/flink/source/split/IcebergSourceSplit.html" title="class in org.apache.iceberg.flink.source.split">IcebergSourceSplit</a>,<a href="../../../../../org/apache/iceberg/flink/source/enumerator/IcebergEnumeratorState.html" title="class in org.apache.iceberg.flink.source.enumerator">IcebergEnumeratorState</a>&gt;</code></dd>
+<dd><code>createReader</code>&nbsp;in interface&nbsp;<code>org.apache.flink.api.connector.source.SourceReaderFactory&lt;<a href="../../../../../org/apache/iceberg/flink/source/IcebergSource.html" title="type parameter in IcebergSource">T</a>,<a href="../../../../../org/apache/iceberg/flink/source/split/IcebergSourceSplit.html" title="class in org.apache.iceberg.flink.source.split">IcebergSourceSplit</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html b/javadoc/org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html
index 64b64f2..2a77034 100644
--- a/javadoc/org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html
+++ b/javadoc/org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html
@@ -137,10 +137,11 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html#RowDataFileScanTaskReader-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-">RowDataFileScanTaskReader</a></span>(<a href="../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;tableSchema,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/RowDataFileScanTaskReader.html#RowDataFileScanTaskReader-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-java.util.List-">RowDataFileScanTaskReader</a></span>(<a href="../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;tableSchema,
                          <a href="../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;projectedSchema,
                          java.lang.String&nbsp;nameMapping,
-                         boolean&nbsp;caseSensitive)</code>&nbsp;</td>
+                         boolean&nbsp;caseSensitive,
+                         java.util.List&lt;<a href="../../../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&gt;&nbsp;filters)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -184,7 +185,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="RowDataFileScanTaskReader-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-">
+<a name="RowDataFileScanTaskReader-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -193,7 +194,8 @@
 <pre>public&nbsp;RowDataFileScanTaskReader(<a href="../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;tableSchema,
                                  <a href="../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;projectedSchema,
                                  java.lang.String&nbsp;nameMapping,
-                                 boolean&nbsp;caseSensitive)</pre>
+                                 boolean&nbsp;caseSensitive,
+                                 java.util.List&lt;<a href="../../../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&gt;&nbsp;filters)</pre>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/flink/source/ScanContext.Builder.html b/javadoc/org/apache/iceberg/flink/source/ScanContext.Builder.html
index 02f999b..c7e46c8 100644
--- a/javadoc/org/apache/iceberg/flink/source/ScanContext.Builder.html
+++ b/javadoc/org/apache/iceberg/flink/source/ScanContext.Builder.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -169,71 +169,75 @@
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#maxPlanningSnapshotCount-int-">maxPlanningSnapshotCount</a></span>(int&nbsp;newMaxPlanningSnapshotCount)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#maxAllowedPlanningFailures-int-">maxAllowedPlanningFailures</a></span>(int&nbsp;newMaxAllowedPlanningFailures)</code>&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#monitorInterval-java.time.Duration-">monitorInterval</a></span>(java.time.Duration&nbsp;newMonitorInterval)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#maxPlanningSnapshotCount-int-">maxPlanningSnapshotCount</a></span>(int&nbsp;newMaxPlanningSnapshotCount)</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#nameMapping-java.lang.String-">nameMapping</a></span>(java.lang.String&nbsp;newNameMapping)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#monitorInterval-java.time.Duration-">monitorInterval</a></span>(java.time.Duration&nbsp;newMonitorInterval)</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#planParallelism-java.lang.Integer-">planParallelism</a></span>(java.lang.Integer&nbsp;parallelism)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#nameMapping-java.lang.String-">nameMapping</a></span>(java.lang.String&nbsp;newNameMapping)</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#project-org.apache.iceberg.Schema-">project</a></span>(<a href="../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newProjectedSchema)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#planParallelism-java.lang.Integer-">planParallelism</a></span>(java.lang.Integer&nbsp;parallelism)</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#project-org.apache.iceberg.Schema-">project</a></span>(<a href="../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;newProjectedSchema)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#resolveConfig-org.apache.iceberg.Table-java.util.Map-org.apache.flink.configuration.ReadableConfig-">resolveConfig</a></span>(<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
              java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;readOptions,
              org.apache.flink.configuration.ReadableConfig&nbsp;readableConfig)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#splitLookback-java.lang.Integer-">splitLookback</a></span>(java.lang.Integer&nbsp;newSplitLookback)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#splitOpenFileCost-java.lang.Long-">splitOpenFileCost</a></span>(java.lang.Long&nbsp;newSplitOpenFileCost)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#splitSize-java.lang.Long-">splitSize</a></span>(java.lang.Long&nbsp;newSplitSize)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#startingStrategy-org.apache.iceberg.flink.source.StreamingStartingStrategy-">startingStrategy</a></span>(<a href="../../../../../org/apache/iceberg/flink/source/StreamingStartingStrategy.html" title="enum in org.apache.iceberg.flink.source">StreamingStartingStrategy</a>&nbsp;newStartingStrategy)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#startSnapshotId-java.lang.Long-">startSnapshotId</a></span>(java.lang.Long&nbsp;newStartSnapshotId)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#startSnapshotTimestamp-java.lang.Long-">startSnapshotTimestamp</a></span>(java.lang.Long&nbsp;newStartSnapshotTimestamp)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#startTag-java.lang.String-">startTag</a></span>(java.lang.String&nbsp;newStartTag)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#streaming-boolean-">streaming</a></span>(boolean&nbsp;streaming)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#useBranch-java.lang.String-">useBranch</a></span>(java.lang.String&nbsp;newBranch)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#useSnapshotId-java.lang.Long-">useSnapshotId</a></span>(java.lang.Long&nbsp;newSnapshotId)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html#useTag-java.lang.String-">useTag</a></span>(java.lang.String&nbsp;newTag)</code>&nbsp;</td>
 </tr>
@@ -475,6 +479,15 @@
 <pre>public&nbsp;<a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a>&nbsp;maxPlanningSnapshotCount(int&nbsp;newMaxPlanningSnapshotCount)</pre>
 </li>
 </ul>
+<a name="maxAllowedPlanningFailures-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxAllowedPlanningFailures</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/flink/source/ScanContext.Builder.html" title="class in org.apache.iceberg.flink.source">ScanContext.Builder</a>&nbsp;maxAllowedPlanningFailures(int&nbsp;newMaxAllowedPlanningFailures)</pre>
+</li>
+</ul>
 <a name="resolveConfig-org.apache.iceberg.Table-java.util.Map-org.apache.flink.configuration.ReadableConfig-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/source/ScanContext.html b/javadoc/org/apache/iceberg/flink/source/ScanContext.html
index b804ece..fe73a2d 100644
--- a/javadoc/org/apache/iceberg/flink/source/ScanContext.html
+++ b/javadoc/org/apache/iceberg/flink/source/ScanContext.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -212,57 +212,61 @@
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#maxPlanningSnapshotCount--">maxPlanningSnapshotCount</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#maxAllowedPlanningFailures--">maxAllowedPlanningFailures</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#maxPlanningSnapshotCount--">maxPlanningSnapshotCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>java.time.Duration</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#monitorInterval--">monitorInterval</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#nameMapping--">nameMapping</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>java.lang.Integer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#planParallelism--">planParallelism</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#project--">project</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>java.lang.Long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#snapshotId--">snapshotId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>java.lang.Integer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#splitLookback--">splitLookback</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>java.lang.Long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#splitOpenFileCost--">splitOpenFileCost</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>java.lang.Long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#splitSize--">splitSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>java.lang.Long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#startSnapshotId--">startSnapshotId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>java.lang.Long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#startSnapshotTimestamp--">startSnapshotTimestamp</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#startTag--">startTag</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/flink/source/StreamingStartingStrategy.html" title="enum in org.apache.iceberg.flink.source">StreamingStartingStrategy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#streamingStartingStrategy--">streamingStartingStrategy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/flink/source/ScanContext.html#tag--">tag</a></span>()</code>&nbsp;</td>
 </tr>
@@ -504,6 +508,15 @@
 <pre>public&nbsp;int&nbsp;maxPlanningSnapshotCount()</pre>
 </li>
 </ul>
+<a name="maxAllowedPlanningFailures--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxAllowedPlanningFailures</h4>
+<pre>public&nbsp;int&nbsp;maxAllowedPlanningFailures()</pre>
+</li>
+</ul>
 <a name="copyWithAppendsBetween-java.lang.Long-long-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/flink/source/StreamingReaderOperator.html b/javadoc/org/apache/iceberg/flink/source/StreamingReaderOperator.html
index 9ccc081..9f3eafd 100644
--- a/javadoc/org/apache/iceberg/flink/source/StreamingReaderOperator.html
+++ b/javadoc/org/apache/iceberg/flink/source/StreamingReaderOperator.html
@@ -112,7 +112,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, org.apache.flink.api.common.state.CheckpointListener, org.apache.flink.streaming.api.operators.Input&lt;<a href="../../../../../org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source">FlinkInputSplit</a>&gt;, org.apache.flink.streaming.api.operators.KeyContext, org.apache.flink.streaming.api.operators.OneInputStreamOperator&lt;<a href="../../../../../org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source">FlinkInputSplit</a>,org.apache.flink.table.data.RowData&gt;, org.apache.flink.streaming.api.operators.SetupableStreamOperator&lt;org.apache.flink.table.data.RowData&gt;, org.apache.flink.streaming.api.operators.StreamOperator&lt;org.apache.flink.table.data.RowData&gt;, org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator</dd>
+<dd>java.io.Serializable, org.apache.flink.api.common.state.CheckpointListener, org.apache.flink.streaming.api.operators.Input&lt;<a href="../../../../../org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source">FlinkInputSplit</a>&gt;, org.apache.flink.streaming.api.operators.KeyContext, org.apache.flink.streaming.api.operators.KeyContextHandler, org.apache.flink.streaming.api.operators.OneInputStreamOperator&lt;<a href="../../../../../org/apache/iceberg/flink/source/FlinkInputSplit.html" title="class in org.apache.iceberg.flink.source">FlinkInputSplit</a>,org.apache.flink.table.data.RowData&gt;, org.apache.flink.streaming.api.operators.SetupableStreamOperator&lt;org.apache.flink.table.data.RowData&gt;, org.apache.flink.streaming.api.operators.StreamOperator&lt;org.apache.flink.table.data.RowData&gt;, org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator</dd>
 </dl>
 <hr>
 <br>
@@ -192,7 +192,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.flink.streaming.api.operators.AbstractStreamOperator</h3>
-<code>getChainingStrategy, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getTimeServiceManager, getUserCodeClassloader, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, open, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, registerCounterOnOutput, reportOrForwardLatencyMarker, setChainingStrategy, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setProcessingTimeService, setup, snapshotState</code></li>
+<code>getChainingStrategy, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getTimeServiceManager, getUserCodeClassloader, hasKeyContext1, hasKeyContext2, initializeState, isUsingCustomRawKeyedState, notifyCheckpointAborted, notifyCheckpointComplete, open, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2, processWatermarkStatus, processWatermarkStatus1, processWatermarkStatus2, reportOrForwardLatencyMarker, setChainingStrategy, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setProcessingTimeService, setup, snapshotState</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -236,6 +236,13 @@
 <h3>Methods inherited from interface&nbsp;org.apache.flink.streaming.api.operators.Input</h3>
 <code>processLatencyMarker, processWatermarkStatus</code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.flink.streaming.api.operators.KeyContextHandler">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.flink.streaming.api.operators.KeyContextHandler</h3>
+<code>hasKeyContext</code></li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html b/javadoc/org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html
index 5043dc5..b57d477 100644
--- a/javadoc/org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html
+++ b/javadoc/org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html
@@ -133,7 +133,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html#ContinuousSplitPlannerImpl-org.apache.iceberg.Table-org.apache.iceberg.flink.source.ScanContext-java.lang.String-">ContinuousSplitPlannerImpl</a></span>(<a href="../../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlannerImpl.html#ContinuousSplitPlannerImpl-org.apache.iceberg.flink.TableLoader-org.apache.iceberg.flink.source.ScanContext-java.lang.String-">ContinuousSplitPlannerImpl</a></span>(<a href="../../../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a>&nbsp;tableLoader,
                           <a href="../../../../../../org/apache/iceberg/flink/source/ScanContext.html" title="class in org.apache.iceberg.flink.source">ScanContext</a>&nbsp;scanContext,
                           java.lang.String&nbsp;threadName)</code>&nbsp;</td>
 </tr>
@@ -184,17 +184,18 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ContinuousSplitPlannerImpl-org.apache.iceberg.Table-org.apache.iceberg.flink.source.ScanContext-java.lang.String-">
+<a name="ContinuousSplitPlannerImpl-org.apache.iceberg.flink.TableLoader-org.apache.iceberg.flink.source.ScanContext-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ContinuousSplitPlannerImpl</h4>
-<pre>public&nbsp;ContinuousSplitPlannerImpl(<a href="../../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
+<pre>public&nbsp;ContinuousSplitPlannerImpl(<a href="../../../../../../org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink">TableLoader</a>&nbsp;tableLoader,
                                   <a href="../../../../../../org/apache/iceberg/flink/source/ScanContext.html" title="class in org.apache.iceberg.flink.source">ScanContext</a>&nbsp;scanContext,
                                   java.lang.String&nbsp;threadName)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableLoader</code> - A cloned tableLoader.</dd>
 <dd><code>threadName</code> - thread name prefix for worker pool to run the split planning. If null, a
      shared worker pool will be used.</dd>
 </dl>
diff --git a/javadoc/org/apache/iceberg/flink/source/package-tree.html b/javadoc/org/apache/iceberg/flink/source/package-tree.html
index 17e002f..7752aa0 100644
--- a/javadoc/org/apache/iceberg/flink/source/package-tree.html
+++ b/javadoc/org/apache/iceberg/flink/source/package-tree.html
@@ -93,7 +93,7 @@
 </li>
 </ul>
 </li>
-<li type="circle">org.apache.flink.streaming.api.operators.AbstractStreamOperator&lt;OUT&gt; (implements java.io.Serializable, org.apache.flink.streaming.api.operators.SetupableStreamOperator&lt;OUT&gt;, org.apache.flink.streaming.api.operators.StreamOperator&lt;OUT&gt;, org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator)
+<li type="circle">org.apache.flink.streaming.api.operators.AbstractStreamOperator&lt;OUT&gt; (implements org.apache.flink.streaming.api.operators.KeyContextHandler, java.io.Serializable, org.apache.flink.streaming.api.operators.SetupableStreamOperator&lt;OUT&gt;, org.apache.flink.streaming.api.operators.StreamOperator&lt;OUT&gt;, org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator)
 <ul>
 <li type="circle">org.apache.iceberg.flink.source.<a href="../../../../../org/apache/iceberg/flink/source/StreamingReaderOperator.html" title="class in org.apache.iceberg.flink.source"><span class="typeNameLink">StreamingReaderOperator</span></a> (implements org.apache.flink.streaming.api.operators.OneInputStreamOperator&lt;IN,OUT&gt;)</li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/flink/source/reader/AvroGenericRecordReaderFunction.html b/javadoc/org/apache/iceberg/flink/source/reader/AvroGenericRecordReaderFunction.html
index 7b4b52e..6947086 100644
--- a/javadoc/org/apache/iceberg/flink/source/reader/AvroGenericRecordReaderFunction.html
+++ b/javadoc/org/apache/iceberg/flink/source/reader/AvroGenericRecordReaderFunction.html
@@ -141,14 +141,15 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/flink/source/reader/AvroGenericRecordReaderFunction.html#AvroGenericRecordReaderFunction-java.lang.String-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-">AvroGenericRecordReaderFunction</a></span>(java.lang.String&nbsp;tableName,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/flink/source/reader/AvroGenericRecordReaderFunction.html#AvroGenericRecordReaderFunction-java.lang.String-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-java.util.List-">AvroGenericRecordReaderFunction</a></span>(java.lang.String&nbsp;tableName,
                                org.apache.flink.configuration.ReadableConfig&nbsp;config,
                                <a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;tableSchema,
                                <a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;projectedSchema,
                                java.lang.String&nbsp;nameMapping,
                                boolean&nbsp;caseSensitive,
                                <a href="../../../../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
-                               <a href="../../../../../../org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a>&nbsp;encryption)</code>&nbsp;</td>
+                               <a href="../../../../../../org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a>&nbsp;encryption,
+                               java.util.List&lt;<a href="../../../../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&gt;&nbsp;filters)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -211,7 +212,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="AvroGenericRecordReaderFunction-java.lang.String-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-">
+<a name="AvroGenericRecordReaderFunction-java.lang.String-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -224,7 +225,8 @@
                                        java.lang.String&nbsp;nameMapping,
                                        boolean&nbsp;caseSensitive,
                                        <a href="../../../../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
-                                       <a href="../../../../../../org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a>&nbsp;encryption)</pre>
+                                       <a href="../../../../../../org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a>&nbsp;encryption,
+                                       java.util.List&lt;<a href="../../../../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&gt;&nbsp;filters)</pre>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/flink/source/reader/IcebergSourceReader.html b/javadoc/org/apache/iceberg/flink/source/reader/IcebergSourceReader.html
index 69a18d5..ce06cdc 100644
--- a/javadoc/org/apache/iceberg/flink/source/reader/IcebergSourceReader.html
+++ b/javadoc/org/apache/iceberg/flink/source/reader/IcebergSourceReader.html
@@ -199,7 +199,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.flink.connector.base.source.reader.SourceReaderBase</h3>
-<code>addSplits, close, getNumberOfCurrentlyAssignedSplits, handleSourceEvents, isAvailable, notifyNoMoreSplits, pollNext, snapshotState</code></li>
+<code>addSplits, close, getNumberOfCurrentlyAssignedSplits, handleSourceEvents, isAvailable, notifyNoMoreSplits, pauseOrResumeSplits, pollNext, snapshotState</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/javadoc/org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html b/javadoc/org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html
index 6967de0..321d5ff 100644
--- a/javadoc/org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html
+++ b/javadoc/org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html
@@ -140,13 +140,14 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html#RowDataReaderFunction-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-">RowDataReaderFunction</a></span>(org.apache.flink.configuration.ReadableConfig&nbsp;config,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/flink/source/reader/RowDataReaderFunction.html#RowDataReaderFunction-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-java.util.List-">RowDataReaderFunction</a></span>(org.apache.flink.configuration.ReadableConfig&nbsp;config,
                      <a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;tableSchema,
                      <a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;projectedSchema,
                      java.lang.String&nbsp;nameMapping,
                      boolean&nbsp;caseSensitive,
                      <a href="../../../../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
-                     <a href="../../../../../../org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a>&nbsp;encryption)</code>&nbsp;</td>
+                     <a href="../../../../../../org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a>&nbsp;encryption,
+                     java.util.List&lt;<a href="../../../../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&gt;&nbsp;filters)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -203,7 +204,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="RowDataReaderFunction-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-">
+<a name="RowDataReaderFunction-org.apache.flink.configuration.ReadableConfig-org.apache.iceberg.Schema-org.apache.iceberg.Schema-java.lang.String-boolean-org.apache.iceberg.io.FileIO-org.apache.iceberg.encryption.EncryptionManager-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -215,7 +216,8 @@
                              java.lang.String&nbsp;nameMapping,
                              boolean&nbsp;caseSensitive,
                              <a href="../../../../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;io,
-                             <a href="../../../../../../org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a>&nbsp;encryption)</pre>
+                             <a href="../../../../../../org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a>&nbsp;encryption,
+                             java.util.List&lt;<a href="../../../../../../org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>&gt;&nbsp;filters)</pre>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/hadoop/ConfigProperties.html b/javadoc/org/apache/iceberg/hadoop/ConfigProperties.html
index e505c12..fbfef7c 100644
--- a/javadoc/org/apache/iceberg/hadoop/ConfigProperties.html
+++ b/javadoc/org/apache/iceberg/hadoop/ConfigProperties.html
@@ -129,6 +129,10 @@
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/hadoop/ConfigProperties.html#KEEP_HIVE_STATS">KEEP_HIVE_STATS</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/hadoop/ConfigProperties.html#LOCK_HIVE_ENABLED">LOCK_HIVE_ENABLED</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -172,6 +176,19 @@
 </dl>
 </li>
 </ul>
+<a name="LOCK_HIVE_ENABLED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LOCK_HIVE_ENABLED</h4>
+<pre>public static final&nbsp;java.lang.String LOCK_HIVE_ENABLED</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.hadoop.ConfigProperties.LOCK_HIVE_ENABLED">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="KEEP_HIVE_STATS">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/hadoop/Configurable.html b/javadoc/org/apache/iceberg/hadoop/Configurable.html
index ef28b19..e25109a 100644
--- a/javadoc/org/apache/iceberg/hadoop/Configurable.html
+++ b/javadoc/org/apache/iceberg/hadoop/Configurable.html
@@ -99,7 +99,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/iceberg/dell/ecs/EcsCatalog.html" title="class in org.apache.iceberg.dell.ecs">EcsCatalog</a>, <a href="../../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a>, <a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a>, <a href="../../../../org/apache/iceberg/rest/RESTCatalog.html" title="class in org.apache.iceberg.rest">RESTCatalog</a>, <a href="../../../../org/apache/iceberg/rest/RESTSessionCatalog.html" title="class in org.apache.iceberg.rest">RESTSessionCatalog</a>, <a href="../../../../org/apache/iceberg/snowflake/SnowflakeCatalog.html" title="class in org.apache.iceberg.snowflake">SnowflakeCatalog</a></dd>
+<dd><a href="../../../../org/apache/iceberg/dell/ecs/EcsCatalog.html" title="class in org.apache.iceberg.dell.ecs">EcsCatalog</a>, <a href="../../../../org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue">GlueCatalog</a>, <a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc">JdbcCatalog</a>, <a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie">NessieCatalog</a>, <a href="../../../../org/apache/iceberg/rest/RESTCatalog.html" title="class in org.apache.iceberg.rest">RESTCatalog</a>, <a href="../../../../org/apache/iceberg/rest/RESTSessionCatalog.html" title="class in org.apache.iceberg.rest">RESTSessionCatalog</a>, <a href="../../../../org/apache/iceberg/snowflake/SnowflakeCatalog.html" title="class in org.apache.iceberg.snowflake">SnowflakeCatalog</a></dd>
 </dl>
 <hr>
 <br>
diff --git a/javadoc/org/apache/iceberg/hive/CachedClientPool.html b/javadoc/org/apache/iceberg/hive/CachedClientPool.html
index 7ec48c1..d874b19 100644
--- a/javadoc/org/apache/iceberg/hive/CachedClientPool.html
+++ b/javadoc/org/apache/iceberg/hive/CachedClientPool.html
@@ -114,6 +114,21 @@
 <pre>public class <span class="typeNameLabel">CachedClientPool</span>
 extends java.lang.Object
 implements <a href="../../../../org/apache/iceberg/ClientPool.html" title="interface in org.apache.iceberg">ClientPool</a>&lt;org.apache.hadoop.hive.metastore.IMetaStoreClient,org.apache.thrift.TException&gt;</pre>
+<div class="block">A ClientPool that caches the underlying HiveClientPool instances.
+
+ <p>The following key elements are supported and can be specified via <a href="../../../../org/apache/iceberg/CatalogProperties.html#CLIENT_POOL_CACHE_KEYS"><code>CatalogProperties.CLIENT_POOL_CACHE_KEYS</code></a>:
+
+ <ul>
+   <li>ugi - the Hadoop UserGroupInformation instance that represents the current user using the
+       cache.
+   <li>user_name - similar to UGI but only includes the user's name determined by
+       UserGroupInformation#getUserName.
+   <li>conf - name of an arbitrary configuration. The value of the configuration will be extracted
+       from catalog properties and added to the cache key. A conf element should start with a
+       "conf:" prefix which is followed by the configuration name. E.g. specifying "conf:a.b.c"
+       will add "a.b.c" to the key, and so that configurations with different default catalog
+       wouldn't share the same client pool. Multiple conf elements can be specified.
+ </ul></div>
 </li>
 </ul>
 </div>
diff --git a/javadoc/org/apache/iceberg/hive/HiveClientPool.html b/javadoc/org/apache/iceberg/hive/HiveClientPool.html
index 04226a2..7368924 100644
--- a/javadoc/org/apache/iceberg/hive/HiveClientPool.html
+++ b/javadoc/org/apache/iceberg/hive/HiveClientPool.html
@@ -191,7 +191,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.iceberg.<a href="../../../../org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></h3>
-<code><a href="../../../../org/apache/iceberg/ClientPoolImpl.html#close--">close</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#poolSize--">poolSize</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#run-org.apache.iceberg.ClientPool.Action-">run</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#run-org.apache.iceberg.ClientPool.Action-boolean-">run</a></code></li>
+<code><a href="../../../../org/apache/iceberg/ClientPoolImpl.html#close--">close</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#isClosed--">isClosed</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#poolSize--">poolSize</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#run-org.apache.iceberg.ClientPool.Action-">run</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#run-org.apache.iceberg.ClientPool.Action-boolean-">run</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/javadoc/org/apache/iceberg/hive/MetastoreUtil.html b/javadoc/org/apache/iceberg/hive/MetastoreUtil.html
index 160f72c..ba8eb4e 100644
--- a/javadoc/org/apache/iceberg/hive/MetastoreUtil.html
+++ b/javadoc/org/apache/iceberg/hive/MetastoreUtil.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9};
+var methods = {"i0":9,"i1":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/hive/HiveVersion.html" title="enum in org.apache.iceberg.hive"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/hive/RuntimeMetaException.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/hive/MetastoreUtil.html" target="_top">Frames</a></li>
@@ -136,6 +136,16 @@
 <div class="block">Calls alter_table method using the metastore client.</div>
 </td>
 </tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/hive/MetastoreUtil.html#alterTable-org.apache.hadoop.hive.metastore.IMetaStoreClient-java.lang.String-java.lang.String-org.apache.hadoop.hive.metastore.api.Table-java.util.Map-">alterTable</a></span>(org.apache.hadoop.hive.metastore.IMetaStoreClient&nbsp;client,
+          java.lang.String&nbsp;databaseName,
+          java.lang.String&nbsp;tblName,
+          org.apache.hadoop.hive.metastore.api.Table&nbsp;table,
+          java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;extraEnv)</code>
+<div class="block">Calls alter_table method using the metastore client.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -161,15 +171,30 @@
 <a name="alterTable-org.apache.hadoop.hive.metastore.IMetaStoreClient-java.lang.String-java.lang.String-org.apache.hadoop.hive.metastore.api.Table-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>alterTable</h4>
 <pre>public static&nbsp;void&nbsp;alterTable(org.apache.hadoop.hive.metastore.IMetaStoreClient&nbsp;client,
                               java.lang.String&nbsp;databaseName,
                               java.lang.String&nbsp;tblName,
                               org.apache.hadoop.hive.metastore.api.Table&nbsp;table)</pre>
-<div class="block">Calls alter_table method using the metastore client. If possible, an environmental context will
- be used that turns off stats updates to avoid recursive listing.</div>
+<div class="block">Calls alter_table method using the metastore client. If the HMS supports it, environmental
+ context will be set in a way that turns off stats updates to avoid recursive file listing.</div>
+</li>
+</ul>
+<a name="alterTable-org.apache.hadoop.hive.metastore.IMetaStoreClient-java.lang.String-java.lang.String-org.apache.hadoop.hive.metastore.api.Table-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>alterTable</h4>
+<pre>public static&nbsp;void&nbsp;alterTable(org.apache.hadoop.hive.metastore.IMetaStoreClient&nbsp;client,
+                              java.lang.String&nbsp;databaseName,
+                              java.lang.String&nbsp;tblName,
+                              org.apache.hadoop.hive.metastore.api.Table&nbsp;table,
+                              java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;extraEnv)</pre>
+<div class="block">Calls alter_table method using the metastore client. If the HMS supports it, environmental
+ context will be set in a way that turns off stats updates to avoid recursive file listing.</div>
 </li>
 </ul>
 </li>
@@ -200,7 +225,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/hive/HiveVersion.html" title="enum in org.apache.iceberg.hive"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/hive/RuntimeMetaException.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/hive/MetastoreUtil.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/hive/RuntimeMetaException.html b/javadoc/org/apache/iceberg/hive/RuntimeMetaException.html
index 800def5..00ddecc 100644
--- a/javadoc/org/apache/iceberg/hive/RuntimeMetaException.html
+++ b/javadoc/org/apache/iceberg/hive/RuntimeMetaException.html
@@ -41,7 +41,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/hive/MetastoreUtil.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
@@ -254,7 +254,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/hive/MetastoreUtil.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/hive/package-frame.html b/javadoc/org/apache/iceberg/hive/package-frame.html
index e3ed54c..ea733b4 100644
--- a/javadoc/org/apache/iceberg/hive/package-frame.html
+++ b/javadoc/org/apache/iceberg/hive/package-frame.html
@@ -19,6 +19,7 @@
 <li><a href="HiveSchemaUtil.html" title="class in org.apache.iceberg.hive" target="classFrame">HiveSchemaUtil</a></li>
 <li><a href="HiveTableOperations.html" title="class in org.apache.iceberg.hive" target="classFrame">HiveTableOperations</a></li>
 <li><a href="MetastoreUtil.html" title="class in org.apache.iceberg.hive" target="classFrame">MetastoreUtil</a></li>
+<li><a href="NoLock.html" title="class in org.apache.iceberg.hive" target="classFrame">NoLock</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
diff --git a/javadoc/org/apache/iceberg/hive/package-summary.html b/javadoc/org/apache/iceberg/hive/package-summary.html
index 58e6b26..e8cf78e 100644
--- a/javadoc/org/apache/iceberg/hive/package-summary.html
+++ b/javadoc/org/apache/iceberg/hive/package-summary.html
@@ -42,7 +42,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/hadoop/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../org/apache/iceberg/io/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/iceberg/inmemory/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/hive/package-summary.html" target="_top">Frames</a></li>
@@ -82,7 +82,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/hive/CachedClientPool.html" title="class in org.apache.iceberg.hive">CachedClientPool</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">
+<div class="block">A ClientPool that caches the underlying HiveClientPool instances.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive">HiveCatalog</a></td>
@@ -111,6 +113,10 @@
 <td class="colFirst"><a href="../../../../org/apache/iceberg/hive/MetastoreUtil.html" title="class in org.apache.iceberg.hive">MetastoreUtil</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive">NoLock</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -169,7 +175,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/hadoop/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../org/apache/iceberg/io/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/iceberg/inmemory/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/hive/package-summary.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/hive/package-tree.html b/javadoc/org/apache/iceberg/hive/package-tree.html
index 3ef3ecb..59d7ad6 100644
--- a/javadoc/org/apache/iceberg/hive/package-tree.html
+++ b/javadoc/org/apache/iceberg/hive/package-tree.html
@@ -42,7 +42,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/hadoop/package-tree.html">Prev</a></li>
-<li><a href="../../../../org/apache/iceberg/io/package-tree.html">Next</a></li>
+<li><a href="../../../../org/apache/iceberg/inmemory/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/hive/package-tree.html" target="_top">Frames</a></li>
@@ -98,6 +98,7 @@
 <li type="circle">org.apache.iceberg.hive.<a href="../../../../org/apache/iceberg/hive/HiveHadoopUtil.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">HiveHadoopUtil</span></a></li>
 <li type="circle">org.apache.iceberg.hive.<a href="../../../../org/apache/iceberg/hive/HiveSchemaUtil.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">HiveSchemaUtil</span></a></li>
 <li type="circle">org.apache.iceberg.hive.<a href="../../../../org/apache/iceberg/hive/MetastoreUtil.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">MetastoreUtil</span></a></li>
+<li type="circle">org.apache.iceberg.hive.<a href="../../../../org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">NoLock</span></a></li>
 <li type="circle">java.lang.Throwable (implements java.io.Serializable)
 <ul>
 <li type="circle">java.lang.Exception
@@ -148,7 +149,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/hadoop/package-tree.html">Prev</a></li>
-<li><a href="../../../../org/apache/iceberg/io/package-tree.html">Next</a></li>
+<li><a href="../../../../org/apache/iceberg/inmemory/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/hive/package-tree.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/io/BasePositionDeltaWriter.html b/javadoc/org/apache/iceberg/io/BasePositionDeltaWriter.html
index fb6f7c1..64a7801 100644
--- a/javadoc/org/apache/iceberg/io/BasePositionDeltaWriter.html
+++ b/javadoc/org/apache/iceberg/io/BasePositionDeltaWriter.html
@@ -132,6 +132,10 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/BasePositionDeltaWriter.html#BasePositionDeltaWriter-org.apache.iceberg.io.PartitioningWriter-org.apache.iceberg.io.PartitioningWriter-">BasePositionDeltaWriter</a></span>(<a href="../../../../org/apache/iceberg/io/PartitioningWriter.html" title="interface in org.apache.iceberg.io">PartitioningWriter</a>&lt;<a href="../../../../org/apache/iceberg/io/BasePositionDeltaWriter.html" title="type parameter in BasePositionDeltaWriter">T</a>,<a href="../../../../org/apache/iceberg/io/DataWriteResult.html" title="class in org.apache.iceberg.io">DataWriteResult</a>&gt;&nbsp;dataWriter,
+                       <a href="../../../../org/apache/iceberg/io/PartitioningWriter.html" title="interface in org.apache.iceberg.io">PartitioningWriter</a>&lt;<a href="../../../../org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes">PositionDelete</a>&lt;<a href="../../../../org/apache/iceberg/io/BasePositionDeltaWriter.html" title="type parameter in BasePositionDeltaWriter">T</a>&gt;,<a href="../../../../org/apache/iceberg/io/DeleteWriteResult.html" title="class in org.apache.iceberg.io">DeleteWriteResult</a>&gt;&nbsp;deleteWriter)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/BasePositionDeltaWriter.html#BasePositionDeltaWriter-org.apache.iceberg.io.PartitioningWriter-org.apache.iceberg.io.PartitioningWriter-org.apache.iceberg.io.PartitioningWriter-">BasePositionDeltaWriter</a></span>(<a href="../../../../org/apache/iceberg/io/PartitioningWriter.html" title="interface in org.apache.iceberg.io">PartitioningWriter</a>&lt;<a href="../../../../org/apache/iceberg/io/BasePositionDeltaWriter.html" title="type parameter in BasePositionDeltaWriter">T</a>,<a href="../../../../org/apache/iceberg/io/DataWriteResult.html" title="class in org.apache.iceberg.io">DataWriteResult</a>&gt;&nbsp;insertWriter,
                        <a href="../../../../org/apache/iceberg/io/PartitioningWriter.html" title="interface in org.apache.iceberg.io">PartitioningWriter</a>&lt;<a href="../../../../org/apache/iceberg/io/BasePositionDeltaWriter.html" title="type parameter in BasePositionDeltaWriter">T</a>,<a href="../../../../org/apache/iceberg/io/DataWriteResult.html" title="class in org.apache.iceberg.io">DataWriteResult</a>&gt;&nbsp;updateWriter,
                        <a href="../../../../org/apache/iceberg/io/PartitioningWriter.html" title="interface in org.apache.iceberg.io">PartitioningWriter</a>&lt;<a href="../../../../org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes">PositionDelete</a>&lt;<a href="../../../../org/apache/iceberg/io/BasePositionDeltaWriter.html" title="type parameter in BasePositionDeltaWriter">T</a>&gt;,<a href="../../../../org/apache/iceberg/io/DeleteWriteResult.html" title="class in org.apache.iceberg.io">DeleteWriteResult</a>&gt;&nbsp;deleteWriter)</code>&nbsp;</td>
@@ -217,6 +221,16 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
+<a name="BasePositionDeltaWriter-org.apache.iceberg.io.PartitioningWriter-org.apache.iceberg.io.PartitioningWriter-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BasePositionDeltaWriter</h4>
+<pre>public&nbsp;BasePositionDeltaWriter(<a href="../../../../org/apache/iceberg/io/PartitioningWriter.html" title="interface in org.apache.iceberg.io">PartitioningWriter</a>&lt;<a href="../../../../org/apache/iceberg/io/BasePositionDeltaWriter.html" title="type parameter in BasePositionDeltaWriter">T</a>,<a href="../../../../org/apache/iceberg/io/DataWriteResult.html" title="class in org.apache.iceberg.io">DataWriteResult</a>&gt;&nbsp;dataWriter,
+                               <a href="../../../../org/apache/iceberg/io/PartitioningWriter.html" title="interface in org.apache.iceberg.io">PartitioningWriter</a>&lt;<a href="../../../../org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes">PositionDelete</a>&lt;<a href="../../../../org/apache/iceberg/io/BasePositionDeltaWriter.html" title="type parameter in BasePositionDeltaWriter">T</a>&gt;,<a href="../../../../org/apache/iceberg/io/DeleteWriteResult.html" title="class in org.apache.iceberg.io">DeleteWriteResult</a>&gt;&nbsp;deleteWriter)</pre>
+</li>
+</ul>
 <a name="BasePositionDeltaWriter-org.apache.iceberg.io.PartitioningWriter-org.apache.iceberg.io.PartitioningWriter-org.apache.iceberg.io.PartitioningWriter-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/io/FileIO.html b/javadoc/org/apache/iceberg/io/FileIO.html
index 56fecd1..3e662b6 100644
--- a/javadoc/org/apache/iceberg/io/FileIO.html
+++ b/javadoc/org/apache/iceberg/io/FileIO.html
@@ -107,7 +107,7 @@
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/iceberg/dell/ecs/EcsFileIO.html" title="class in org.apache.iceberg.dell.ecs">EcsFileIO</a>, <a href="../../../../org/apache/iceberg/gcp/gcs/GCSFileIO.html" title="class in org.apache.iceberg.gcp.gcs">GCSFileIO</a>, <a href="../../../../org/apache/iceberg/hadoop/HadoopFileIO.html" title="class in org.apache.iceberg.hadoop">HadoopFileIO</a>, <a href="../../../../org/apache/iceberg/aliyun/oss/OSSFileIO.html" title="class in org.apache.iceberg.aliyun.oss">OSSFileIO</a>, <a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html" title="class in org.apache.iceberg.io">ResolvingFileIO</a>, <a href="../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></dd>
+<dd><a href="../../../../org/apache/iceberg/dell/ecs/EcsFileIO.html" title="class in org.apache.iceberg.dell.ecs">EcsFileIO</a>, <a href="../../../../org/apache/iceberg/gcp/gcs/GCSFileIO.html" title="class in org.apache.iceberg.gcp.gcs">GCSFileIO</a>, <a href="../../../../org/apache/iceberg/hadoop/HadoopFileIO.html" title="class in org.apache.iceberg.hadoop">HadoopFileIO</a>, <a href="../../../../org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">InMemoryFileIO</a>, <a href="../../../../org/apache/iceberg/aliyun/oss/OSSFileIO.html" title="class in org.apache.iceberg.aliyun.oss">OSSFileIO</a>, <a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html" title="class in org.apache.iceberg.io">ResolvingFileIO</a>, <a href="../../../../org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3">S3FileIO</a></dd>
 </dl>
 <hr>
 <br>
diff --git a/javadoc/org/apache/iceberg/io/InputFile.html b/javadoc/org/apache/iceberg/io/InputFile.html
index bed0829..93ecc52 100644
--- a/javadoc/org/apache/iceberg/io/InputFile.html
+++ b/javadoc/org/apache/iceberg/io/InputFile.html
@@ -99,7 +99,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/iceberg/hadoop/HadoopInputFile.html" title="class in org.apache.iceberg.hadoop">HadoopInputFile</a>, <a href="../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></dd>
+<dd><a href="../../../../org/apache/iceberg/hadoop/HadoopInputFile.html" title="class in org.apache.iceberg.hadoop">HadoopInputFile</a>, <a href="../../../../org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryInputFile</a>, <a href="../../../../org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3">S3InputFile</a></dd>
 </dl>
 <hr>
 <br>
diff --git a/javadoc/org/apache/iceberg/io/OutputFile.html b/javadoc/org/apache/iceberg/io/OutputFile.html
index 3d0563e..cc997da 100644
--- a/javadoc/org/apache/iceberg/io/OutputFile.html
+++ b/javadoc/org/apache/iceberg/io/OutputFile.html
@@ -99,7 +99,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/iceberg/hadoop/HadoopOutputFile.html" title="class in org.apache.iceberg.hadoop">HadoopOutputFile</a>, <a href="../../../../org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></dd>
+<dd><a href="../../../../org/apache/iceberg/hadoop/HadoopOutputFile.html" title="class in org.apache.iceberg.hadoop">HadoopOutputFile</a>, <a href="../../../../org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory">InMemoryOutputFile</a>, <a href="../../../../org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3">S3OutputFile</a></dd>
 </dl>
 <hr>
 <br>
diff --git a/javadoc/org/apache/iceberg/io/ResolvingFileIO.html b/javadoc/org/apache/iceberg/io/ResolvingFileIO.html
index c968bbb..462d8af 100644
--- a/javadoc/org/apache/iceberg/io/ResolvingFileIO.html
+++ b/javadoc/org/apache/iceberg/io/ResolvingFileIO.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -169,26 +169,30 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html#finalize--">finalize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html#getConf--">getConf</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html#initialize-java.util.Map-">initialize</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;newProperties)</code>
 <div class="block">Initialize File IO from catalog properties.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>java.lang.Class&lt;?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html#ioClass-java.lang.String-">ioClass</a></span>(java.lang.String&nbsp;location)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html#newInputFile-java.lang.String-">newInputFile</a></span>(java.lang.String&nbsp;location)</code>
 <div class="block">Get a <a href="../../../../org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io"><code>InputFile</code></a> instance to read bytes from the file at the given path.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html#newInputFile-java.lang.String-long-">newInputFile</a></span>(java.lang.String&nbsp;location,
             long&nbsp;length)</code>
@@ -196,25 +200,25 @@
  file length.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html#newOutputFile-java.lang.String-">newOutputFile</a></span>(java.lang.String&nbsp;location)</code>
 <div class="block">Get a <a href="../../../../org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io"><code>OutputFile</code></a> instance to write bytes to the file at the given path.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html#properties--">properties</a></span>()</code>
 <div class="block">Returns the property map used to configure this FileIO</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html#serializeConfWith-java.util.function.Function-">serializeConfWith</a></span>(java.util.function.Function&lt;org.apache.hadoop.conf.Configuration,<a href="../../../../org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util">SerializableSupplier</a>&lt;org.apache.hadoop.conf.Configuration&gt;&gt;&nbsp;confSerializer)</code>
 <div class="block">Take a function that serializes Hadoop configuration into a supplier.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/io/ResolvingFileIO.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
@@ -224,7 +228,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<code>clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.io.FileIO">
@@ -432,12 +436,28 @@
 <a name="ioClass-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>ioClass</h4>
 <pre>public&nbsp;java.lang.Class&lt;?&gt;&nbsp;ioClass(java.lang.String&nbsp;location)</pre>
 </li>
 </ul>
+<a name="finalize--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>finalize</h4>
+<pre>protected&nbsp;void&nbsp;finalize()
+                 throws java.lang.Throwable</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>finalize</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.Throwable</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/io/package-summary.html b/javadoc/org/apache/iceberg/io/package-summary.html
index 2c17490..7a1434f 100644
--- a/javadoc/org/apache/iceberg/io/package-summary.html
+++ b/javadoc/org/apache/iceberg/io/package-summary.html
@@ -41,7 +41,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/hive/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/iceberg/inmemory/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/iceberg/jdbc/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -422,7 +422,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/hive/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/iceberg/inmemory/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/iceberg/jdbc/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/io/package-tree.html b/javadoc/org/apache/iceberg/io/package-tree.html
index b11d002..5dec6ba 100644
--- a/javadoc/org/apache/iceberg/io/package-tree.html
+++ b/javadoc/org/apache/iceberg/io/package-tree.html
@@ -41,7 +41,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/hive/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/iceberg/inmemory/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/iceberg/jdbc/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -227,7 +227,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/hive/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/iceberg/inmemory/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/iceberg/jdbc/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/jdbc/JdbcCatalog.html b/javadoc/org/apache/iceberg/jdbc/JdbcCatalog.html
index d347cc7..c0a3766 100644
--- a/javadoc/org/apache/iceberg/jdbc/JdbcCatalog.html
+++ b/javadoc/org/apache/iceberg/jdbc/JdbcCatalog.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":42,"i17":10,"i18":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -195,7 +195,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -295,17 +295,9 @@
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-java.lang.Object-"><code>setConf(Object)</code></a></span></div>
-</div>
-</td>
-</tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-java.lang.Object-">setConf</a></span>(java.lang.Object&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html#setProperties-org.apache.iceberg.catalog.Namespace-java.util.Map-">setProperties</a></span>(<a href="../../../../org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace,
              java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>
@@ -544,17 +536,6 @@
 </dl>
 </li>
 </ul>
-<a name="setConf-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setConf</h4>
-<pre>@Deprecated
-public&nbsp;void&nbsp;setConf(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <a href="../../../../org/apache/iceberg/jdbc/JdbcCatalog.html#setConf-java.lang.Object-"><code>setConf(Object)</code></a></span></div>
-</li>
-</ul>
 <a name="createNamespace-org.apache.iceberg.catalog.Namespace-java.util.Map-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/jdbc/JdbcClientPool.html b/javadoc/org/apache/iceberg/jdbc/JdbcClientPool.html
index 97e8377..61216c3 100644
--- a/javadoc/org/apache/iceberg/jdbc/JdbcClientPool.html
+++ b/javadoc/org/apache/iceberg/jdbc/JdbcClientPool.html
@@ -192,7 +192,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.iceberg.<a href="../../../../org/apache/iceberg/ClientPoolImpl.html" title="class in org.apache.iceberg">ClientPoolImpl</a></h3>
-<code><a href="../../../../org/apache/iceberg/ClientPoolImpl.html#close--">close</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#isConnectionException-java.lang.Exception-">isConnectionException</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#poolSize--">poolSize</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#run-org.apache.iceberg.ClientPool.Action-">run</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#run-org.apache.iceberg.ClientPool.Action-boolean-">run</a></code></li>
+<code><a href="../../../../org/apache/iceberg/ClientPoolImpl.html#close--">close</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#isClosed--">isClosed</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#isConnectionException-java.lang.Exception-">isConnectionException</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#poolSize--">poolSize</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#run-org.apache.iceberg.ClientPool.Action-">run</a>, <a href="../../../../org/apache/iceberg/ClientPoolImpl.html#run-org.apache.iceberg.ClientPool.Action-boolean-">run</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/javadoc/org/apache/iceberg/metrics/MetricsReporter.html b/javadoc/org/apache/iceberg/metrics/MetricsReporter.html
index 3315a9e..9f4637a 100644
--- a/javadoc/org/apache/iceberg/metrics/MetricsReporter.html
+++ b/javadoc/org/apache/iceberg/metrics/MetricsReporter.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/metrics/MetricsReport.html" title="interface in org.apache.iceberg.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/metrics/ScanMetrics.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/metrics/MetricsReporter.html" target="_top">Frames</a></li>
@@ -214,7 +214,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/metrics/MetricsReport.html" title="interface in org.apache.iceberg.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/metrics/ScanMetrics.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/metrics/MetricsReporter.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/metrics/ScanMetrics.html b/javadoc/org/apache/iceberg/metrics/ScanMetrics.html
index f675220..e608369 100644
--- a/javadoc/org/apache/iceberg/metrics/ScanMetrics.html
+++ b/javadoc/org/apache/iceberg/metrics/ScanMetrics.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/metrics/ScanMetricsResult.html" title="interface in org.apache.iceberg.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -770,7 +770,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/metrics/ScanMetricsResult.html" title="interface in org.apache.iceberg.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/metrics/package-frame.html b/javadoc/org/apache/iceberg/metrics/package-frame.html
index 6e565c6..5e3ab39 100644
--- a/javadoc/org/apache/iceberg/metrics/package-frame.html
+++ b/javadoc/org/apache/iceberg/metrics/package-frame.html
@@ -37,6 +37,7 @@
 <li><a href="DefaultTimer.html" title="class in org.apache.iceberg.metrics" target="classFrame">DefaultTimer</a></li>
 <li><a href="FixedReservoirHistogram.html" title="class in org.apache.iceberg.metrics" target="classFrame">FixedReservoirHistogram</a></li>
 <li><a href="LoggingMetricsReporter.html" title="class in org.apache.iceberg.metrics" target="classFrame">LoggingMetricsReporter</a></li>
+<li><a href="MetricsReporters.html" title="class in org.apache.iceberg.metrics" target="classFrame">MetricsReporters</a></li>
 <li><a href="ScanMetrics.html" title="class in org.apache.iceberg.metrics" target="classFrame">ScanMetrics</a></li>
 <li><a href="ScanReportParser.html" title="class in org.apache.iceberg.metrics" target="classFrame">ScanReportParser</a></li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/metrics/package-summary.html b/javadoc/org/apache/iceberg/metrics/package-summary.html
index 35b5aac..dee7754 100644
--- a/javadoc/org/apache/iceberg/metrics/package-summary.html
+++ b/javadoc/org/apache/iceberg/metrics/package-summary.html
@@ -219,12 +219,18 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics">MetricsReporters</a></td>
+<td class="colLast">
+<div class="block">Utility class that allows combining two given <a href="../../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics"><code>MetricsReporter</code></a> instances.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/metrics/ScanMetrics.html" title="class in org.apache.iceberg.metrics">ScanMetrics</a></td>
 <td class="colLast">
 <div class="block">Carries all metrics for a particular scan</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/metrics/ScanReportParser.html" title="class in org.apache.iceberg.metrics">ScanReportParser</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/javadoc/org/apache/iceberg/metrics/package-tree.html b/javadoc/org/apache/iceberg/metrics/package-tree.html
index 4c3d812..078691f 100644
--- a/javadoc/org/apache/iceberg/metrics/package-tree.html
+++ b/javadoc/org/apache/iceberg/metrics/package-tree.html
@@ -86,6 +86,7 @@
 <li type="circle">org.apache.iceberg.metrics.<a href="../../../../org/apache/iceberg/metrics/DefaultTimer.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">DefaultTimer</span></a> (implements org.apache.iceberg.metrics.<a href="../../../../org/apache/iceberg/metrics/Timer.html" title="interface in org.apache.iceberg.metrics">Timer</a>)</li>
 <li type="circle">org.apache.iceberg.metrics.<a href="../../../../org/apache/iceberg/metrics/FixedReservoirHistogram.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">FixedReservoirHistogram</span></a> (implements org.apache.iceberg.metrics.<a href="../../../../org/apache/iceberg/metrics/Histogram.html" title="interface in org.apache.iceberg.metrics">Histogram</a>)</li>
 <li type="circle">org.apache.iceberg.metrics.<a href="../../../../org/apache/iceberg/metrics/LoggingMetricsReporter.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">LoggingMetricsReporter</span></a> (implements org.apache.iceberg.metrics.<a href="../../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics">MetricsReporter</a>)</li>
+<li type="circle">org.apache.iceberg.metrics.<a href="../../../../org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">MetricsReporters</span></a></li>
 <li type="circle">org.apache.iceberg.metrics.<a href="../../../../org/apache/iceberg/metrics/ScanMetrics.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">ScanMetrics</span></a></li>
 <li type="circle">org.apache.iceberg.metrics.<a href="../../../../org/apache/iceberg/metrics/ScanReportParser.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">ScanReportParser</span></a></li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/nessie/NessieCatalog.html b/javadoc/org/apache/iceberg/nessie/NessieCatalog.html
index d210838..a89950b 100644
--- a/javadoc/org/apache/iceberg/nessie/NessieCatalog.html
+++ b/javadoc/org/apache/iceberg/nessie/NessieCatalog.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -112,13 +112,13 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, org.apache.hadoop.conf.Configurable, <a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a>, <a href="../../../../org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a></dd>
+<dd>java.lang.AutoCloseable, <a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a>, <a href="../../../../org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>, <a href="../../../../org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop">Configurable</a>&lt;java.lang.Object&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">NessieCatalog</span>
 extends <a href="../../../../org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg">BaseMetastoreCatalog</a>
-implements java.lang.AutoCloseable, <a href="../../../../org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>, org.apache.hadoop.conf.Configurable</pre>
+implements java.lang.AutoCloseable, <a href="../../../../org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>, <a href="../../../../org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop">Configurable</a>&lt;java.lang.Object&gt;</pre>
 <div class="block">Nessie implementation of Iceberg Catalog.
 
  <p>A note on namespaces: Nessie namespaces are implicit and do not need to be explicitly created
@@ -211,17 +211,13 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#getConf--">getConf</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#initialize-java.lang.String-java.util.Map-">initialize</a></span>(java.lang.String&nbsp;name,
           java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</code>
 <div class="block">Initialize a catalog given a custom name and a map of catalog properties.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#initialize-java.lang.String-org.apache.iceberg.nessie.NessieIcebergClient-org.apache.iceberg.io.FileIO-java.util.Map-">initialize</a></span>(java.lang.String&nbsp;name,
           <a href="../../../../org/apache/iceberg/nessie/NessieIcebergClient.html" title="class in org.apache.iceberg.nessie">NessieIcebergClient</a>&nbsp;client,
@@ -231,57 +227,57 @@
  and <a href="../../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io"><code>FileIO</code></a> instance.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#listNamespaces-org.apache.iceberg.catalog.Namespace-">listNamespaces</a></span>(<a href="../../../../org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</code>
 <div class="block">List namespaces from the namespace.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/iceberg/catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#listTables-org.apache.iceberg.catalog.Namespace-">listTables</a></span>(<a href="../../../../org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</code>
 <div class="block">Return all the identifiers under this namespace.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#loadNamespaceMetadata-org.apache.iceberg.catalog.Namespace-">loadNamespaceMetadata</a></span>(<a href="../../../../org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace)</code>
 <div class="block">Load the given namespace and return its properties.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#name--">name</a></span>()</code>
 <div class="block">Return the name for this catalog.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#newTableOps-org.apache.iceberg.catalog.TableIdentifier-">newTableOps</a></span>(<a href="../../../../org/apache/iceberg/catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;tableIdentifier)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>protected java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#properties--">properties</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#removeProperties-org.apache.iceberg.catalog.Namespace-java.util.Set-">removeProperties</a></span>(<a href="../../../../org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace,
                 java.util.Set&lt;java.lang.String&gt;&nbsp;properties)</code>
 <div class="block">Remove a set of property keys from a namespace in the catalog.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#renameTable-org.apache.iceberg.catalog.TableIdentifier-org.apache.iceberg.catalog.TableIdentifier-">renameTable</a></span>(<a href="../../../../org/apache/iceberg/catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;from,
            <a href="../../../../org/apache/iceberg/catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;to)</code>
 <div class="block">Rename a table.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#setConf-java.lang.Object-">setConf</a></span>(java.lang.Object&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html#setProperties-org.apache.iceberg.catalog.Namespace-java.util.Map-">setProperties</a></span>(<a href="../../../../org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;namespace,
              java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>
@@ -639,29 +635,16 @@
 </dl>
 </li>
 </ul>
-<a name="setConf-org.apache.hadoop.conf.Configuration-">
+<a name="setConf-java.lang.Object-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>setConf</h4>
-<pre>public&nbsp;void&nbsp;setConf(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public&nbsp;void&nbsp;setConf(java.lang.Object&nbsp;conf)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>setConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
-</dl>
-</li>
-</ul>
-<a name="getConf--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getConf</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;getConf()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>getConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
+<dd><code><a href="../../../../org/apache/iceberg/hadoop/Configurable.html#setConf-C-">setConf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop">Configurable</a>&lt;java.lang.Object&gt;</code></dd>
 </dl>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/nessie/package-tree.html b/javadoc/org/apache/iceberg/nessie/package-tree.html
index 70cd497..ebf1fbf 100644
--- a/javadoc/org/apache/iceberg/nessie/package-tree.html
+++ b/javadoc/org/apache/iceberg/nessie/package-tree.html
@@ -81,7 +81,7 @@
 <ul>
 <li type="circle">org.apache.iceberg.<a href="../../../../org/apache/iceberg/BaseMetastoreCatalog.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseMetastoreCatalog</span></a> (implements org.apache.iceberg.catalog.<a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a>)
 <ul>
-<li type="circle">org.apache.iceberg.nessie.<a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie"><span class="typeNameLink">NessieCatalog</span></a> (implements java.lang.AutoCloseable, org.apache.hadoop.conf.Configurable, org.apache.iceberg.catalog.<a href="../../../../org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>)</li>
+<li type="circle">org.apache.iceberg.nessie.<a href="../../../../org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie"><span class="typeNameLink">NessieCatalog</span></a> (implements java.lang.AutoCloseable, org.apache.iceberg.hadoop.<a href="../../../../org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop">Configurable</a>&lt;C&gt;, org.apache.iceberg.catalog.<a href="../../../../org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>)</li>
 </ul>
 </li>
 <li type="circle">org.apache.iceberg.<a href="../../../../org/apache/iceberg/BaseMetastoreTableOperations.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseMetastoreTableOperations</span></a> (implements org.apache.iceberg.<a href="../../../../org/apache/iceberg/TableOperations.html" title="interface in org.apache.iceberg">TableOperations</a>)
diff --git a/javadoc/org/apache/iceberg/package-tree.html b/javadoc/org/apache/iceberg/package-tree.html
index feb6972..a83cdb8 100644
--- a/javadoc/org/apache/iceberg/package-tree.html
+++ b/javadoc/org/apache/iceberg/package-tree.html
@@ -386,20 +386,20 @@
 <ul>
 <li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
 <ul>
-<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg"><span class="typeNameLink">MetadataTableType</span></a></li>
-<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg"><span class="typeNameLink">DistributionMode</span></a></li>
-<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/RowLevelOperationMode.html" title="enum in org.apache.iceberg"><span class="typeNameLink">RowLevelOperationMode</span></a></li>
-<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg"><span class="typeNameLink">BaseMetastoreTableOperations.CommitStatus</span></a></li>
-<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/TableMetadataParser.Codec.html" title="enum in org.apache.iceberg"><span class="typeNameLink">TableMetadataParser.Codec</span></a></li>
-<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/ChangelogOperation.html" title="enum in org.apache.iceberg"><span class="typeNameLink">ChangelogOperation</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/IsolationLevel.html" title="enum in org.apache.iceberg"><span class="typeNameLink">IsolationLevel</span></a></li>
-<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/RewriteJobOrder.html" title="enum in org.apache.iceberg"><span class="typeNameLink">RewriteJobOrder</span></a></li>
-<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/FileContent.html" title="enum in org.apache.iceberg"><span class="typeNameLink">FileContent</span></a></li>
+<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/BaseMetastoreTableOperations.CommitStatus.html" title="enum in org.apache.iceberg"><span class="typeNameLink">BaseMetastoreTableOperations.CommitStatus</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/NullOrder.html" title="enum in org.apache.iceberg"><span class="typeNameLink">NullOrder</span></a></li>
+<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg"><span class="typeNameLink">MetadataTableType</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/ManifestContent.html" title="enum in org.apache.iceberg"><span class="typeNameLink">ManifestContent</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/FileFormat.html" title="enum in org.apache.iceberg"><span class="typeNameLink">FileFormat</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/SortDirection.html" title="enum in org.apache.iceberg"><span class="typeNameLink">SortDirection</span></a></li>
+<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg"><span class="typeNameLink">DistributionMode</span></a></li>
+<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/TableMetadataParser.Codec.html" title="enum in org.apache.iceberg"><span class="typeNameLink">TableMetadataParser.Codec</span></a></li>
+<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/RowLevelOperationMode.html" title="enum in org.apache.iceberg"><span class="typeNameLink">RowLevelOperationMode</span></a></li>
+<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/FileContent.html" title="enum in org.apache.iceberg"><span class="typeNameLink">FileContent</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/ManifestReader.FileType.html" title="enum in org.apache.iceberg"><span class="typeNameLink">ManifestReader.FileType</span></a></li>
+<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/ChangelogOperation.html" title="enum in org.apache.iceberg"><span class="typeNameLink">ChangelogOperation</span></a></li>
+<li type="circle">org.apache.iceberg.<a href="../../../org/apache/iceberg/RewriteJobOrder.html" title="enum in org.apache.iceberg"><span class="typeNameLink">RewriteJobOrder</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/parquet/ParquetUtil.html b/javadoc/org/apache/iceberg/parquet/ParquetUtil.html
index 28f6674..4ef6e08 100644
--- a/javadoc/org/apache/iceberg/parquet/ParquetUtil.html
+++ b/javadoc/org/apache/iceberg/parquet/ParquetUtil.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -128,49 +128,55 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/parquet/ParquetUtil.html#extractTimestampInt96-java.nio.ByteBuffer-">extractTimestampInt96</a></span>(java.nio.ByteBuffer&nbsp;buffer)</code>
+<div class="block">Method to read timestamp (parquet Int96) from bytebuffer.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Metrics.html" title="class in org.apache.iceberg">Metrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/parquet/ParquetUtil.html#fileMetrics-org.apache.iceberg.io.InputFile-org.apache.iceberg.MetricsConfig-">fileMetrics</a></span>(<a href="../../../../org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a>&nbsp;file,
            <a href="../../../../org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a>&nbsp;metricsConfig)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Metrics.html" title="class in org.apache.iceberg">Metrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/parquet/ParquetUtil.html#fileMetrics-org.apache.iceberg.io.InputFile-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-">fileMetrics</a></span>(<a href="../../../../org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a>&nbsp;file,
            <a href="../../../../org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a>&nbsp;metricsConfig,
            <a href="../../../../org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping">NameMapping</a>&nbsp;nameMapping)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Metrics.html" title="class in org.apache.iceberg">Metrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/parquet/ParquetUtil.html#footerMetrics-org.apache.parquet.hadoop.metadata.ParquetMetadata-java.util.stream.Stream-org.apache.iceberg.MetricsConfig-">footerMetrics</a></span>(org.apache.parquet.hadoop.metadata.ParquetMetadata&nbsp;metadata,
              java.util.stream.Stream&lt;<a href="../../../../org/apache/iceberg/FieldMetrics.html" title="class in org.apache.iceberg">FieldMetrics</a>&lt;?&gt;&gt;&nbsp;fieldMetrics,
              <a href="../../../../org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a>&nbsp;metricsConfig)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Metrics.html" title="class in org.apache.iceberg">Metrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/parquet/ParquetUtil.html#footerMetrics-org.apache.parquet.hadoop.metadata.ParquetMetadata-java.util.stream.Stream-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-">footerMetrics</a></span>(org.apache.parquet.hadoop.metadata.ParquetMetadata&nbsp;metadata,
              java.util.stream.Stream&lt;<a href="../../../../org/apache/iceberg/FieldMetrics.html" title="class in org.apache.iceberg">FieldMetrics</a>&lt;?&gt;&gt;&nbsp;fieldMetrics,
              <a href="../../../../org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a>&nbsp;metricsConfig,
              <a href="../../../../org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping">NameMapping</a>&nbsp;nameMapping)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static java.util.List&lt;java.lang.Long&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/parquet/ParquetUtil.html#getSplitOffsets-org.apache.parquet.hadoop.metadata.ParquetMetadata-">getSplitOffsets</a></span>(org.apache.parquet.hadoop.metadata.ParquetMetadata&nbsp;md)</code>
 <div class="block">Returns a list of offsets in ascending order determined by the starting position of the row
  groups.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/parquet/ParquetUtil.html#hasNoBloomFilterPages-org.apache.parquet.hadoop.metadata.ColumnChunkMetaData-">hasNoBloomFilterPages</a></span>(org.apache.parquet.hadoop.metadata.ColumnChunkMetaData&nbsp;meta)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/parquet/ParquetUtil.html#hasNonDictionaryPages-org.apache.parquet.hadoop.metadata.ColumnChunkMetaData-">hasNonDictionaryPages</a></span>(org.apache.parquet.hadoop.metadata.ColumnChunkMetaData&nbsp;meta)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/parquet/ParquetUtil.html#isIntType-org.apache.parquet.schema.PrimitiveType-">isIntType</a></span>(org.apache.parquet.schema.PrimitiveType&nbsp;primitiveType)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static org.apache.parquet.column.Dictionary</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/parquet/ParquetUtil.html#readDictionary-org.apache.parquet.column.ColumnDescriptor-org.apache.parquet.column.page.PageReader-">readDictionary</a></span>(org.apache.parquet.column.ColumnDescriptor&nbsp;desc,
               org.apache.parquet.column.page.PageReader&nbsp;pageSource)</code>&nbsp;</td>
@@ -283,12 +289,23 @@
 <a name="isIntType-org.apache.parquet.schema.PrimitiveType-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isIntType</h4>
 <pre>public static&nbsp;boolean&nbsp;isIntType(org.apache.parquet.schema.PrimitiveType&nbsp;primitiveType)</pre>
 </li>
 </ul>
+<a name="extractTimestampInt96-java.nio.ByteBuffer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>extractTimestampInt96</h4>
+<pre>public static&nbsp;long&nbsp;extractTimestampInt96(java.nio.ByteBuffer&nbsp;buffer)</pre>
+<div class="block">Method to read timestamp (parquet Int96) from bytebuffer. Read 12 bytes in byteBuffer: 8 bytes
+ (time of day nanos) + 4 bytes(julianDay)</div>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/rest/HTTPClient.html b/javadoc/org/apache/iceberg/rest/HTTPClient.html
index 62ec90c..abd024d 100644
--- a/javadoc/org/apache/iceberg/rest/HTTPClient.html
+++ b/javadoc/org/apache/iceberg/rest/HTTPClient.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":41,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -147,35 +147,27 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/rest/HTTPClient.Builder.html" title="class in org.apache.iceberg.rest">HTTPClient.Builder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/HTTPClient.html#builder--">builder</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="../../../../org/apache/iceberg/rest/HTTPClient.html#builder-java.util.Map-"><code>builder(Map)</code></a></span></div>
-</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/rest/HTTPClient.Builder.html" title="class in org.apache.iceberg.rest">HTTPClient.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/HTTPClient.html#builder-java.util.Map-">builder</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/HTTPClient.html#close--">close</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>&lt;T extends <a href="../../../../org/apache/iceberg/rest/RESTResponse.html" title="interface in org.apache.iceberg.rest">RESTResponse</a>&gt;<br>T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/HTTPClient.html#delete-java.lang.String-java.lang.Class-java.util.Map-java.util.function.Consumer-">delete</a></span>(java.lang.String&nbsp;path,
       java.lang.Class&lt;T&gt;&nbsp;responseType,
       java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;headers,
       java.util.function.Consumer&lt;<a href="../../../../org/apache/iceberg/rest/responses/ErrorResponse.html" title="class in org.apache.iceberg.rest.responses">ErrorResponse</a>&gt;&nbsp;errorHandler)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>&lt;T extends <a href="../../../../org/apache/iceberg/rest/RESTResponse.html" title="interface in org.apache.iceberg.rest">RESTResponse</a>&gt;<br>T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/HTTPClient.html#delete-java.lang.String-java.util.Map-java.lang.Class-java.util.Map-java.util.function.Consumer-">delete</a></span>(java.lang.String&nbsp;path,
       java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;queryParams,
@@ -183,7 +175,7 @@
       java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;headers,
       java.util.function.Consumer&lt;<a href="../../../../org/apache/iceberg/rest/responses/ErrorResponse.html" title="class in org.apache.iceberg.rest.responses">ErrorResponse</a>&gt;&nbsp;errorHandler)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>&lt;T extends <a href="../../../../org/apache/iceberg/rest/RESTResponse.html" title="interface in org.apache.iceberg.rest">RESTResponse</a>&gt;<br>T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/HTTPClient.html#get-java.lang.String-java.util.Map-java.lang.Class-java.util.Map-java.util.function.Consumer-">get</a></span>(java.lang.String&nbsp;path,
    java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;queryParams,
@@ -191,13 +183,13 @@
    java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;headers,
    java.util.function.Consumer&lt;<a href="../../../../org/apache/iceberg/rest/responses/ErrorResponse.html" title="class in org.apache.iceberg.rest.responses">ErrorResponse</a>&gt;&nbsp;errorHandler)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/HTTPClient.html#head-java.lang.String-java.util.Map-java.util.function.Consumer-">head</a></span>(java.lang.String&nbsp;path,
     java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;headers,
     java.util.function.Consumer&lt;<a href="../../../../org/apache/iceberg/rest/responses/ErrorResponse.html" title="class in org.apache.iceberg.rest.responses">ErrorResponse</a>&gt;&nbsp;errorHandler)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>&lt;T extends <a href="../../../../org/apache/iceberg/rest/RESTResponse.html" title="interface in org.apache.iceberg.rest">RESTResponse</a>&gt;<br>T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/HTTPClient.html#post-java.lang.String-org.apache.iceberg.rest.RESTRequest-java.lang.Class-java.util.Map-java.util.function.Consumer-">post</a></span>(java.lang.String&nbsp;path,
     <a href="../../../../org/apache/iceberg/rest/RESTRequest.html" title="interface in org.apache.iceberg.rest">RESTRequest</a>&nbsp;body,
@@ -205,7 +197,7 @@
     java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;headers,
     java.util.function.Consumer&lt;<a href="../../../../org/apache/iceberg/rest/responses/ErrorResponse.html" title="class in org.apache.iceberg.rest.responses">ErrorResponse</a>&gt;&nbsp;errorHandler)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>&lt;T extends <a href="../../../../org/apache/iceberg/rest/RESTResponse.html" title="interface in org.apache.iceberg.rest">RESTResponse</a>&gt;<br>T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/HTTPClient.html#post-java.lang.String-org.apache.iceberg.rest.RESTRequest-java.lang.Class-java.util.Map-java.util.function.Consumer-java.util.function.Consumer-">post</a></span>(java.lang.String&nbsp;path,
     <a href="../../../../org/apache/iceberg/rest/RESTRequest.html" title="interface in org.apache.iceberg.rest">RESTRequest</a>&nbsp;body,
@@ -214,7 +206,7 @@
     java.util.function.Consumer&lt;<a href="../../../../org/apache/iceberg/rest/responses/ErrorResponse.html" title="class in org.apache.iceberg.rest.responses">ErrorResponse</a>&gt;&nbsp;errorHandler,
     java.util.function.Consumer&lt;java.util.Map&lt;java.lang.String,java.lang.String&gt;&gt;&nbsp;responseHeaders)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>&lt;T extends <a href="../../../../org/apache/iceberg/rest/RESTResponse.html" title="interface in org.apache.iceberg.rest">RESTResponse</a>&gt;<br>T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/HTTPClient.html#postForm-java.lang.String-java.util.Map-java.lang.Class-java.util.Map-java.util.function.Consumer-">postForm</a></span>(java.lang.String&nbsp;path,
         java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;formData,
@@ -386,21 +378,6 @@
 </dl>
 </li>
 </ul>
-<a name="builder--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>builder</h4>
-<pre>@Deprecated
-public static&nbsp;<a href="../../../../org/apache/iceberg/rest/HTTPClient.Builder.html" title="class in org.apache.iceberg.rest">HTTPClient.Builder</a>&nbsp;builder()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <a href="../../../../org/apache/iceberg/rest/HTTPClient.html#builder-java.util.Map-"><code>builder(Map)</code></a></span></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>http client builder</dd>
-</dl>
-</li>
-</ul>
 <a name="builder-java.util.Map-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/rest/RESTCatalog.html b/javadoc/org/apache/iceberg/rest/RESTCatalog.html
index afb1b79..8f2f57d 100644
--- a/javadoc/org/apache/iceberg/rest/RESTCatalog.html
+++ b/javadoc/org/apache/iceberg/rest/RESTCatalog.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":42,"i30":10,"i31":10,"i32":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -166,7 +166,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -384,24 +384,16 @@
 </tr>
 <tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/RESTCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="../../../../org/apache/iceberg/rest/RESTCatalog.html#setConf-java.lang.Object-"><code>setConf(Object)</code></a></span></div>
-</div>
-</td>
-</tr>
-<tr id="i30" class="altColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/RESTCatalog.html#setConf-java.lang.Object-">setConf</a></span>(java.lang.Object&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/RESTCatalog.html#setProperties-org.apache.iceberg.catalog.Namespace-java.util.Map-">setProperties</a></span>(<a href="../../../../org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;ns,
              java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;props)</code>
 <div class="block">Set a collection of properties on a namespace in the catalog.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/RESTCatalog.html#tableExists-org.apache.iceberg.catalog.TableIdentifier-">tableExists</a></span>(<a href="../../../../org/apache/iceberg/catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a>&nbsp;ident)</code>
 <div class="block">Check whether table exists.</div>
@@ -1144,17 +1136,6 @@
 </dl>
 </li>
 </ul>
-<a name="setConf-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setConf</h4>
-<pre>@Deprecated
-public&nbsp;void&nbsp;setConf(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <a href="../../../../org/apache/iceberg/rest/RESTCatalog.html#setConf-java.lang.Object-"><code>setConf(Object)</code></a></span></div>
-</li>
-</ul>
 <a name="close--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/rest/RESTSessionCatalog.html b/javadoc/org/apache/iceberg/rest/RESTSessionCatalog.html
index 3af96e7..6a1c51c 100644
--- a/javadoc/org/apache/iceberg/rest/RESTSessionCatalog.html
+++ b/javadoc/org/apache/iceberg/rest/RESTSessionCatalog.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":42,"i15":10,"i16":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -175,7 +175,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -281,17 +281,9 @@
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></span>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="../../../../org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-java.lang.Object-"><code>setConf(Object)</code></a></span></div>
-</div>
-</td>
-</tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-java.lang.Object-">setConf</a></span>(java.lang.Object&nbsp;newConf)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/rest/RESTSessionCatalog.html#updateNamespaceMetadata-org.apache.iceberg.catalog.SessionCatalog.SessionContext-org.apache.iceberg.catalog.Namespace-java.util.Map-java.util.Set-">updateNamespaceMetadata</a></span>(<a href="../../../../org/apache/iceberg/catalog/SessionCatalog.SessionContext.html" title="class in org.apache.iceberg.catalog">SessionCatalog.SessionContext</a>&nbsp;context,
                        <a href="../../../../org/apache/iceberg/catalog/Namespace.html" title="class in org.apache.iceberg.catalog">Namespace</a>&nbsp;ns,
@@ -397,17 +389,6 @@
 </dl>
 </li>
 </ul>
-<a name="setConf-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setConf</h4>
-<pre>@Deprecated
-public&nbsp;void&nbsp;setConf(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <a href="../../../../org/apache/iceberg/rest/RESTSessionCatalog.html#setConf-java.lang.Object-"><code>setConf(Object)</code></a></span></div>
-</li>
-</ul>
 <a name="listTables-org.apache.iceberg.catalog.SessionCatalog.SessionContext-org.apache.iceberg.catalog.Namespace-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html b/javadoc/org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html
index ae1461b..a684010 100644
--- a/javadoc/org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html
+++ b/javadoc/org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html
@@ -132,16 +132,6 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-">AuthSession</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;baseHeaders,
-           java.lang.String&nbsp;token,
-           java.lang.String&nbsp;tokenType)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0; use <a href="../../../../../org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-java.lang.String-java.lang.String-"><code>AuthSession(Map, String, String,
-     String, String)</code></a> instead.</span></div>
-</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">AuthSession</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;baseHeaders,
            java.lang.String&nbsp;token,
            java.lang.String&nbsp;tokenType,
@@ -256,20 +246,6 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="AuthSession-java.util.Map-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>AuthSession</h4>
-<pre>@Deprecated
-public&nbsp;AuthSession(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;baseHeaders,
-                               java.lang.String&nbsp;token,
-                               java.lang.String&nbsp;tokenType)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0; use <a href="../../../../../org/apache/iceberg/rest/auth/OAuth2Util.AuthSession.html#AuthSession-java.util.Map-java.lang.String-java.lang.String-java.lang.String-java.lang.String-"><code>AuthSession(Map, String, String,
-     String, String)</code></a> instead.</span></div>
-</li>
-</ul>
 <a name="AuthSession-java.util.Map-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/rest/requests/ReportMetricsRequest.ReportType.html b/javadoc/org/apache/iceberg/rest/requests/ReportMetricsRequest.ReportType.html
index 3e25afc..96479c8 100644
--- a/javadoc/org/apache/iceberg/rest/requests/ReportMetricsRequest.ReportType.html
+++ b/javadoc/org/apache/iceberg/rest/requests/ReportMetricsRequest.ReportType.html
@@ -145,6 +145,9 @@
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/rest/requests/ReportMetricsRequest.ReportType.html#SCAN_REPORT">SCAN_REPORT</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/rest/requests/ReportMetricsRequest.ReportType.html#UNKNOWN">UNKNOWN</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -202,6 +205,15 @@
 <!--   -->
 </a>
 <h3>Enum Constant Detail</h3>
+<a name="UNKNOWN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UNKNOWN</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/iceberg/rest/requests/ReportMetricsRequest.ReportType.html" title="enum in org.apache.iceberg.rest.requests">ReportMetricsRequest.ReportType</a> UNKNOWN</pre>
+</li>
+</ul>
 <a name="SCAN_REPORT">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/rest/requests/ReportMetricsRequest.html b/javadoc/org/apache/iceberg/rest/requests/ReportMetricsRequest.html
index b5f64b8..886e5ed 100644
--- a/javadoc/org/apache/iceberg/rest/requests/ReportMetricsRequest.html
+++ b/javadoc/org/apache/iceberg/rest/requests/ReportMetricsRequest.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":17,"i1":6,"i2":6,"i3":18};
+var methods = {"i0":17,"i1":6,"i2":6,"i3":17,"i4":18};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -156,6 +156,10 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/rest/requests/ReportMetricsRequest.html#reportType--">reportType</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/iceberg/rest/requests/ReportMetricsRequest.html" title="interface in org.apache.iceberg.rest.requests">ReportMetricsRequest</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/rest/requests/ReportMetricsRequest.html#unknown--">unknown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/rest/requests/ReportMetricsRequest.html#validate--">validate</a></span>()</code>
 <div class="block">Ensures that a constructed instance of a REST message is valid according to the REST spec.</div>
@@ -215,12 +219,21 @@
 <a name="of-org.apache.iceberg.metrics.MetricsReport-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>of</h4>
 <pre>static&nbsp;<a href="../../../../../org/apache/iceberg/rest/requests/ReportMetricsRequest.html" title="interface in org.apache.iceberg.rest.requests">ReportMetricsRequest</a>&nbsp;of(<a href="../../../../../org/apache/iceberg/metrics/MetricsReport.html" title="interface in org.apache.iceberg.metrics">MetricsReport</a>&nbsp;report)</pre>
 </li>
 </ul>
+<a name="unknown--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>unknown</h4>
+<pre>static&nbsp;<a href="../../../../../org/apache/iceberg/rest/requests/ReportMetricsRequest.html" title="interface in org.apache.iceberg.rest.requests">ReportMetricsRequest</a>&nbsp;unknown()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/ChangelogIterator.html b/javadoc/org/apache/iceberg/spark/ChangelogIterator.html
index 44b9e58..a4e31ad 100644
--- a/javadoc/org/apache/iceberg/spark/ChangelogIterator.html
+++ b/javadoc/org/apache/iceberg/spark/ChangelogIterator.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":9,"i4":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -73,14 +73,14 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -109,42 +109,73 @@
 <dt>All Implemented Interfaces:</dt>
 <dd>java.util.Iterator&lt;org.apache.spark.sql.Row&gt;</dd>
 </dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark">ComputeUpdateIterator</a></dd>
+</dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">ChangelogIterator</span>
+<pre>public abstract class <span class="typeNameLabel">ChangelogIterator</span>
 extends java.lang.Object
 implements java.util.Iterator&lt;org.apache.spark.sql.Row&gt;</pre>
-<div class="block">An iterator that transforms rows from changelog tables within a single Spark task. It assumes
- that rows are sorted by identifier columns and change type.
-
- <p>It removes the carry-over rows. Carry-over rows are the result of a removal and insertion of
- the same row within an operation because of the copy-on-write mechanism. For example, given a
- file which contains row1 (id=1, data='a') and row2 (id=2, data='b'). A copy-on-write delete of
- row2 would require erasing this file and preserving row1 in a new file. The change-log table
- would report this as (id=1, data='a', op='DELETE') and (id=1, data='a', op='INSERT'), despite it
- not being an actual change to the table. The iterator finds the carry-over rows and removes them
- from the result.
-
- <p>This iterator also finds delete/insert rows which represent an update, and converts them into
- update records. For example, these two rows
-
- <ul>
-   <li>(id=1, data='a', op='DELETE')
-   <li>(id=1, data='b', op='INSERT')
- </ul>
-
- <p>will be marked as update-rows:
-
- <ul>
-   <li>(id=1, data='a', op='UPDATE_BEFORE')
-   <li>(id=1, data='b', op='UPDATE_AFTER')
- </ul></div>
+<div class="block">An iterator that transforms rows from changelog tables within a single Spark task.</div>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#DELETE">DELETE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#INSERT">INSERT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#UPDATE_AFTER">UPDATE_AFTER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#UPDATE_BEFORE">UPDATE_BEFORE</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#ChangelogIterator-java.util.Iterator-org.apache.spark.sql.types.StructType-">ChangelogIterator</a></span>(java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;rowIterator,
+                 org.apache.spark.sql.types.StructType&nbsp;rowType)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -158,20 +189,34 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static java.util.Iterator&lt;org.apache.spark.sql.Row&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#create-java.util.Iterator-org.apache.spark.sql.types.StructType-java.lang.String:A-">create</a></span>(java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;rowIterator,
-      org.apache.spark.sql.types.StructType&nbsp;rowType,
-      java.lang.String[]&nbsp;identifierFields)</code>
-<div class="block">Creates an iterator for records of a changelog table.</div>
-</td>
+<td class="colFirst"><code>protected int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#changeTypeIndex--">changeTypeIndex</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#hasNext--">hasNext</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>static java.util.Iterator&lt;org.apache.spark.sql.Row&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#computeUpdates-java.util.Iterator-org.apache.spark.sql.types.StructType-java.lang.String:A-">computeUpdates</a></span>(java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;rowIterator,
+              org.apache.spark.sql.types.StructType&nbsp;rowType,
+              java.lang.String[]&nbsp;identifierFields)</code>
+<div class="block">Creates an iterator composing <code>RemoveCarryoverIterator</code> and <a href="../../../../org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark"><code>ComputeUpdateIterator</code></a>
+ to remove carry-over rows and compute update rows</div>
+</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>org.apache.spark.sql.Row</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#next--">next</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#isDifferentValue-org.apache.spark.sql.Row-org.apache.spark.sql.Row-int-">isDifferentValue</a></span>(org.apache.spark.sql.Row&nbsp;currentRow,
+                org.apache.spark.sql.Row&nbsp;nextRow,
+                int&nbsp;idx)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static java.util.Iterator&lt;org.apache.spark.sql.Row&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#removeCarryovers-java.util.Iterator-org.apache.spark.sql.types.StructType-">removeCarryovers</a></span>(java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;rowIterator,
+                org.apache.spark.sql.types.StructType&nbsp;rowType)</code>
+<div class="block">Creates an iterator that removes carry-over rows from a changelog table.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected java.util.Iterator&lt;org.apache.spark.sql.Row&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html#rowIterator--">rowIterator</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -186,7 +231,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;java.util.Iterator</h3>
-<code>forEachRemaining, remove</code></li>
+<code>forEachRemaining, hasNext, next, remove</code></li>
 </ul>
 </li>
 </ul>
@@ -196,22 +241,103 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="DELETE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DELETE</h4>
+<pre>protected static final&nbsp;java.lang.String DELETE</pre>
+</li>
+</ul>
+<a name="INSERT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INSERT</h4>
+<pre>protected static final&nbsp;java.lang.String INSERT</pre>
+</li>
+</ul>
+<a name="UPDATE_BEFORE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UPDATE_BEFORE</h4>
+<pre>protected static final&nbsp;java.lang.String UPDATE_BEFORE</pre>
+</li>
+</ul>
+<a name="UPDATE_AFTER">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UPDATE_AFTER</h4>
+<pre>protected static final&nbsp;java.lang.String UPDATE_AFTER</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ChangelogIterator-java.util.Iterator-org.apache.spark.sql.types.StructType-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ChangelogIterator</h4>
+<pre>protected&nbsp;ChangelogIterator(java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;rowIterator,
+                            org.apache.spark.sql.types.StructType&nbsp;rowType)</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="create-java.util.Iterator-org.apache.spark.sql.types.StructType-java.lang.String:A-">
+<a name="changeTypeIndex--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>create</h4>
-<pre>public static&nbsp;java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;create(java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;rowIterator,
-                                                                  org.apache.spark.sql.types.StructType&nbsp;rowType,
-                                                                  java.lang.String[]&nbsp;identifierFields)</pre>
-<div class="block">Creates an iterator for records of a changelog table.</div>
+<h4>changeTypeIndex</h4>
+<pre>protected&nbsp;int&nbsp;changeTypeIndex()</pre>
+</li>
+</ul>
+<a name="rowIterator--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rowIterator</h4>
+<pre>protected&nbsp;java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;rowIterator()</pre>
+</li>
+</ul>
+<a name="computeUpdates-java.util.Iterator-org.apache.spark.sql.types.StructType-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>computeUpdates</h4>
+<pre>public static&nbsp;java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;computeUpdates(java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;rowIterator,
+                                                                          org.apache.spark.sql.types.StructType&nbsp;rowType,
+                                                                          java.lang.String[]&nbsp;identifierFields)</pre>
+<div class="block">Creates an iterator composing <code>RemoveCarryoverIterator</code> and <a href="../../../../org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark"><code>ComputeUpdateIterator</code></a>
+ to remove carry-over rows and compute update rows</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>rowIterator</code> - the iterator of rows from a changelog table</dd>
@@ -219,34 +345,37 @@
 <dd><code>identifierFields</code> - the names of the identifier columns, which determine if rows are the
      same</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>a new <a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark"><code>ChangelogIterator</code></a> instance concatenated with the null-removal iterator</dd>
+<dd>a new iterator instance</dd>
 </dl>
 </li>
 </ul>
-<a name="hasNext--">
+<a name="removeCarryovers-java.util.Iterator-org.apache.spark.sql.types.StructType-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>hasNext</h4>
-<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
+<h4>removeCarryovers</h4>
+<pre>public static&nbsp;java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;removeCarryovers(java.util.Iterator&lt;org.apache.spark.sql.Row&gt;&nbsp;rowIterator,
+                                                                            org.apache.spark.sql.types.StructType&nbsp;rowType)</pre>
+<div class="block">Creates an iterator that removes carry-over rows from a changelog table.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>hasNext</code>&nbsp;in interface&nbsp;<code>java.util.Iterator&lt;org.apache.spark.sql.Row&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rowIterator</code> - the iterator of rows from a changelog table</dd>
+<dd><code>rowType</code> - the schema of the rows</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new iterator instance</dd>
 </dl>
 </li>
 </ul>
-<a name="next--">
+<a name="isDifferentValue-org.apache.spark.sql.Row-org.apache.spark.sql.Row-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>next</h4>
-<pre>public&nbsp;org.apache.spark.sql.Row&nbsp;next()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>next</code>&nbsp;in interface&nbsp;<code>java.util.Iterator&lt;org.apache.spark.sql.Row&gt;</code></dd>
-</dl>
+<h4>isDifferentValue</h4>
+<pre>protected&nbsp;boolean&nbsp;isDifferentValue(org.apache.spark.sql.Row&nbsp;currentRow,
+                                   org.apache.spark.sql.Row&nbsp;nextRow,
+                                   int&nbsp;idx)</pre>
 </li>
 </ul>
 </li>
@@ -302,14 +431,14 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
diff --git a/javadoc/org/apache/iceberg/spark/CommitMetadata.html b/javadoc/org/apache/iceberg/spark/CommitMetadata.html
index b69e360..1c269bc 100644
--- a/javadoc/org/apache/iceberg/spark/CommitMetadata.html
+++ b/javadoc/org/apache/iceberg/spark/CommitMetadata.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/ExtendedParser.html" title="interface in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/CommitMetadata.html" target="_top">Frames</a></li>
@@ -222,7 +222,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/ExtendedParser.html" title="interface in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/CommitMetadata.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/ExtendedParser.html b/javadoc/org/apache/iceberg/spark/ExtendedParser.html
index 0e1b9bd..548b9ad 100644
--- a/javadoc/org/apache/iceberg/spark/ExtendedParser.html
+++ b/javadoc/org/apache/iceberg/spark/ExtendedParser.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/CommitMetadata.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/spark/ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -224,7 +224,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/CommitMetadata.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/spark/ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/FileRewriteCoordinator.html b/javadoc/org/apache/iceberg/spark/FileRewriteCoordinator.html
index af79712..617e54b 100644
--- a/javadoc/org/apache/iceberg/spark/FileRewriteCoordinator.html
+++ b/javadoc/org/apache/iceberg/spark/FileRewriteCoordinator.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/FileRewriteCoordinator.html" target="_top">Frames</a></li>
@@ -130,16 +130,16 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html#clearRewrite-org.apache.iceberg.Table-java.lang.String-">clearRewrite</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-            java.lang.String&nbsp;fileSetID)</code>&nbsp;</td>
+            java.lang.String&nbsp;fileSetId)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html#fetchNewDataFiles-org.apache.iceberg.Table-java.lang.String-">fetchNewDataFiles</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                 java.lang.String&nbsp;fileSetID)</code>&nbsp;</td>
+<td class="colFirst"><code>java.util.Set&lt;F&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html#fetchNewFiles-org.apache.iceberg.Table-java.lang.String-">fetchNewFiles</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
+             java.lang.String&nbsp;fileSetId)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html#fetchSetIDs-org.apache.iceberg.Table-">fetchSetIDs</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html#fetchSetIds-org.apache.iceberg.Table-">fetchSetIds</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></code></td>
@@ -148,8 +148,8 @@
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html#stageRewrite-org.apache.iceberg.Table-java.lang.String-java.util.Set-">stageRewrite</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-            java.lang.String&nbsp;fileSetID,
-            java.util.Set&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;newDataFiles)</code>
+            java.lang.String&nbsp;fileSetId,
+            java.util.Set&lt;F&gt;&nbsp;newFiles)</code>
 <div class="block">Called to persist the output of a rewrite action for a specific group.</div>
 </td>
 </tr>
@@ -191,26 +191,26 @@
 <li class="blockList">
 <h4>stageRewrite</h4>
 <pre>public&nbsp;void&nbsp;stageRewrite(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                         java.lang.String&nbsp;fileSetID,
-                         java.util.Set&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;newDataFiles)</pre>
+                         java.lang.String&nbsp;fileSetId,
+                         java.util.Set&lt;F&gt;&nbsp;newFiles)</pre>
 <div class="block">Called to persist the output of a rewrite action for a specific group. Since the write is done
  via a Spark Datasource, we have to propagate the result through this side-effect call.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>table</code> - table where the rewrite is occurring</dd>
-<dd><code>fileSetID</code> - the id used to identify the source set of files being rewritten</dd>
-<dd><code>newDataFiles</code> - the new files which have been written</dd>
+<dd><code>fileSetId</code> - the id used to identify the source set of files being rewritten</dd>
+<dd><code>newFiles</code> - the new files which have been written</dd>
 </dl>
 </li>
 </ul>
-<a name="fetchNewDataFiles-org.apache.iceberg.Table-java.lang.String-">
+<a name="fetchNewFiles-org.apache.iceberg.Table-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>fetchNewDataFiles</h4>
-<pre>public&nbsp;java.util.Set&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;fetchNewDataFiles(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                                 java.lang.String&nbsp;fileSetID)</pre>
+<h4>fetchNewFiles</h4>
+<pre>public&nbsp;java.util.Set&lt;F&gt;&nbsp;fetchNewFiles(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
+                                      java.lang.String&nbsp;fileSetId)</pre>
 </li>
 </ul>
 <a name="clearRewrite-org.apache.iceberg.Table-java.lang.String-">
@@ -220,16 +220,16 @@
 <li class="blockList">
 <h4>clearRewrite</h4>
 <pre>public&nbsp;void&nbsp;clearRewrite(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                         java.lang.String&nbsp;fileSetID)</pre>
+                         java.lang.String&nbsp;fileSetId)</pre>
 </li>
 </ul>
-<a name="fetchSetIDs-org.apache.iceberg.Table-">
+<a name="fetchSetIds-org.apache.iceberg.Table-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>fetchSetIDs</h4>
-<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;fetchSetIDs(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
+<h4>fetchSetIds</h4>
+<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;fetchSetIds(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
 </li>
 </ul>
 </li>
@@ -260,7 +260,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/FileRewriteCoordinator.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/FileScanTaskSetManager.html b/javadoc/org/apache/iceberg/spark/FileScanTaskSetManager.html
deleted file mode 100644
index 0d81e08..0000000
--- a/javadoc/org/apache/iceberg/spark/FileScanTaskSetManager.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>FileScanTaskSetManager</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FileScanTaskSetManager";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":42,"i1":42,"i2":41,"i3":42,"i4":42};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/iceberg/spark/FileScanTaskSetManager.html" target="_top">Frames</a></li>
-<li><a href="FileScanTaskSetManager.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.iceberg.spark</div>
-<h2 title="Class FileScanTaskSetManager" class="title">Class FileScanTaskSetManager</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.iceberg.spark.FileScanTaskSetManager</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="../../../../org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><code>ScanTaskSetManager</code></a> instead</span></div>
-</div>
-<br>
-<pre>@Deprecated
-public class <span class="typeNameLabel">FileScanTaskSetManager</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html#fetchSetIDs-org.apache.iceberg.Table-">fetchSetIDs</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html#fetchTasks-org.apache.iceberg.Table-java.lang.String-">fetchTasks</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-          java.lang.String&nbsp;setID)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html#get--">get</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html#removeTasks-org.apache.iceberg.Table-java.lang.String-">removeTasks</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-           java.lang.String&nbsp;setID)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html#stageTasks-org.apache.iceberg.Table-java.lang.String-java.util.List-">stageTasks</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-          java.lang.String&nbsp;setID,
-          java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;tasks)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="get--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>get</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a>&nbsp;get()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</li>
-</ul>
-<a name="stageTasks-org.apache.iceberg.Table-java.lang.String-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>stageTasks</h4>
-<pre>public&nbsp;void&nbsp;stageTasks(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                       java.lang.String&nbsp;setID,
-                       java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;tasks)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</li>
-</ul>
-<a name="fetchTasks-org.apache.iceberg.Table-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>fetchTasks</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;fetchTasks(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                               java.lang.String&nbsp;setID)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</li>
-</ul>
-<a name="removeTasks-org.apache.iceberg.Table-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>removeTasks</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;removeTasks(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                                java.lang.String&nbsp;setID)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</li>
-</ul>
-<a name="fetchSetIDs-org.apache.iceberg.Table-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>fetchSetIDs</h4>
-<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;fetchSetIDs(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/iceberg/spark/FileScanTaskSetManager.html" target="_top">Frames</a></li>
-<li><a href="FileScanTaskSetManager.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/iceberg/spark/IcebergSpark.html b/javadoc/org/apache/iceberg/spark/IcebergSpark.html
index 2344cbc..fa7cc0d 100644
--- a/javadoc/org/apache/iceberg/spark/IcebergSpark.html
+++ b/javadoc/org/apache/iceberg/spark/IcebergSpark.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/spark/JobGroupInfo.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -214,7 +214,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/spark/JobGroupInfo.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/PathIdentifier.html b/javadoc/org/apache/iceberg/spark/PathIdentifier.html
index 314fe85..b411452 100644
--- a/javadoc/org/apache/iceberg/spark/PathIdentifier.html
+++ b/javadoc/org/apache/iceberg/spark/PathIdentifier.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/JobGroupUtils.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/PruneColumnsWithoutReordering.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/PathIdentifier.html" target="_top">Frames</a></li>
@@ -270,7 +270,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/JobGroupUtils.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/PruneColumnsWithoutReordering.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/PathIdentifier.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/PruneColumnsWithoutReordering.html b/javadoc/org/apache/iceberg/spark/PruneColumnsWithoutReordering.html
index cdb30ff..7c0712b 100644
--- a/javadoc/org/apache/iceberg/spark/PruneColumnsWithoutReordering.html
+++ b/javadoc/org/apache/iceberg/spark/PruneColumnsWithoutReordering.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/PathIdentifier.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/spark/PruneColumnsWithReordering.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -295,7 +295,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/PathIdentifier.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/spark/PruneColumnsWithReordering.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/RollbackStagedTable.html b/javadoc/org/apache/iceberg/spark/RollbackStagedTable.html
index 74f626e..9f413f6 100644
--- a/javadoc/org/apache/iceberg/spark/RollbackStagedTable.html
+++ b/javadoc/org/apache/iceberg/spark/RollbackStagedTable.html
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>org.apache.spark.sql.connector.catalog.StagedTable, org.apache.spark.sql.connector.catalog.SupportsDelete, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.SupportsWrite, org.apache.spark.sql.connector.catalog.Table, org.apache.spark.sql.connector.catalog.TruncatableTable</dd>
+<dd>org.apache.spark.sql.connector.catalog.StagedTable, org.apache.spark.sql.connector.catalog.SupportsDelete, org.apache.spark.sql.connector.catalog.SupportsDeleteV2, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.SupportsWrite, org.apache.spark.sql.connector.catalog.Table, org.apache.spark.sql.connector.catalog.TruncatableTable</dd>
 </dl>
 <hr>
 <br>
@@ -220,7 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.SupportsDelete</h3>
-<code>canDeleteWhere, truncateTable</code></li>
+<code>canDeleteWhere, canDeleteWhere, deleteWhere, truncateTable</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.Table">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.Table</h3>
+<code>columns</code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/spark/Spark3Util.html b/javadoc/org/apache/iceberg/spark/Spark3Util.html
index 0da3421..1e982d6 100644
--- a/javadoc/org/apache/iceberg/spark/Spark3Util.html
+++ b/javadoc/org/apache/iceberg/spark/Spark3Util.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":41,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -147,7 +147,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -230,18 +230,6 @@
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>static java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-">getPartitions</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
-             org.apache.hadoop.fs.Path&nbsp;rootPath,
-             java.lang.String&nbsp;format,
-             java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;partitionFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-org.apache.iceberg.PartitionSpec-"><code>getPartitions(SparkSession, Path, String, Map,
-     PartitionSpec)</code></a></span></div>
-</div>
-</td>
-</tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-org.apache.iceberg.PartitionSpec-">getPartitions</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
              org.apache.hadoop.fs.Path&nbsp;rootPath,
              java.lang.String&nbsp;format,
@@ -250,51 +238,55 @@
 <div class="block">Use Spark to list all partitions in the table.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/catalog/TableIdentifier.html" title="class in org.apache.iceberg.catalog">TableIdentifier</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#identifierToTableIdentifier-org.apache.spark.sql.connector.catalog.Identifier-">identifierToTableIdentifier</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;identifier)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog">Catalog</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#loadIcebergCatalog-org.apache.spark.sql.SparkSession-java.lang.String-">loadIcebergCatalog</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                   java.lang.String&nbsp;catalogName)</code>
 <div class="block">Returns the underlying Iceberg Catalog object represented by a Spark Catalog</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#loadIcebergTable-org.apache.spark.sql.SparkSession-java.lang.String-">loadIcebergTable</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                 java.lang.String&nbsp;name)</code>
 <div class="block">Returns an Iceberg Table by its name from a Spark V2 Catalog.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#quotedFullIdentifier-java.lang.String-org.apache.spark.sql.connector.catalog.Identifier-">quotedFullIdentifier</a></span>(java.lang.String&nbsp;catalogName,
                     org.apache.spark.sql.connector.catalog.Identifier&nbsp;identifier)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#rebuildCreateProperties-java.util.Map-">rebuildCreateProperties</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;createProperties)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static org.apache.spark.sql.util.CaseInsensitiveStringMap</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#setOption-java.lang.String-java.lang.String-org.apache.spark.sql.util.CaseInsensitiveStringMap-">setOption</a></span>(java.lang.String&nbsp;key,
          java.lang.String&nbsp;value,
          org.apache.spark.sql.util.CaseInsensitiveStringMap&nbsp;options)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#toIcebergTable-org.apache.spark.sql.connector.catalog.Table-">toIcebergTable</a></span>(org.apache.spark.sql.connector.catalog.Table&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#toIcebergTerm-org.apache.spark.sql.connector.expressions.Expression-">toIcebergTerm</a></span>(org.apache.spark.sql.connector.expressions.Expression&nbsp;expr)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static org.apache.spark.sql.connector.expressions.NamedReference</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#toNamedReference-java.lang.String-">toNamedReference</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
 </tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>static org.apache.spark.sql.connector.expressions.SortOrder[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#toOrdering-org.apache.iceberg.SortOrder-">toOrdering</a></span>(<a href="../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a>&nbsp;sortOrder)</code>&nbsp;</td>
+</tr>
 <tr id="i25" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html#toPartitionSpec-org.apache.iceberg.Schema-org.apache.spark.sql.connector.expressions.Transform:A-">toPartitionSpec</a></span>(<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
@@ -404,6 +396,15 @@
 <pre>public static&nbsp;<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;toIcebergTable(org.apache.spark.sql.connector.catalog.Table&nbsp;table)</pre>
 </li>
 </ul>
+<a name="toOrdering-org.apache.iceberg.SortOrder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toOrdering</h4>
+<pre>public static&nbsp;org.apache.spark.sql.connector.expressions.SortOrder[]&nbsp;toOrdering(<a href="../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a>&nbsp;sortOrder)</pre>
+</li>
+</ul>
 <a name="toTransforms-org.apache.iceberg.Schema-java.util.List-">
 <!--   -->
 </a>
@@ -666,31 +667,6 @@
                                                     org.apache.spark.sql.connector.catalog.Identifier&nbsp;identifier)</pre>
 </li>
 </ul>
-<a name="getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getPartitions</h4>
-<pre>@Deprecated
-public static&nbsp;java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;&nbsp;getPartitions(org.apache.spark.sql.SparkSession&nbsp;spark,
-                                                                                      org.apache.hadoop.fs.Path&nbsp;rootPath,
-                                                                                      java.lang.String&nbsp;format,
-                                                                                      java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;partitionFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/iceberg/spark/Spark3Util.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-org.apache.iceberg.PartitionSpec-"><code>getPartitions(SparkSession, Path, String, Map,
-     PartitionSpec)</code></a></span></div>
-<div class="block">Use Spark to list all partitions in the table.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>spark</code> - a Spark session</dd>
-<dd><code>rootPath</code> - a table identifier</dd>
-<dd><code>format</code> - format of the file</dd>
-<dd><code>partitionFilter</code> - partitionFilter of the file</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>all table's partitions</dd>
-</dl>
-</li>
-</ul>
 <a name="getPartitions-org.apache.spark.sql.SparkSession-org.apache.hadoop.fs.Path-java.lang.String-java.util.Map-org.apache.iceberg.PartitionSpec-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/spark/SparkCachedTableCatalog.html b/javadoc/org/apache/iceberg/spark/SparkCachedTableCatalog.html
index 9b266e8..a190804 100644
--- a/javadoc/org/apache/iceberg/spark/SparkCachedTableCatalog.html
+++ b/javadoc/org/apache/iceberg/spark/SparkCachedTableCatalog.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":18,"i6":18,"i7":18,"i8":10,"i9":18,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -160,7 +160,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -191,32 +191,48 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#invalidateTable-org.apache.spark.sql.connector.catalog.Identifier-">invalidateTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#isExistingNamespace-java.lang.String:A-">isExistingNamespace</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#isFunctionNamespace-java.lang.String:A-">isFunctionNamespace</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>default org.apache.spark.sql.connector.catalog.Identifier[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#listFunctions-java.lang.String:A-">listFunctions</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Identifier[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#listTables-java.lang.String:A-">listTables</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>default org.apache.spark.sql.connector.catalog.functions.UnboundFunction</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#loadFunction-org.apache.spark.sql.connector.catalog.Identifier-">loadFunction</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#loadTable-org.apache.spark.sql.connector.catalog.Identifier-">loadTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#loadTable-org.apache.spark.sql.connector.catalog.Identifier-long-">loadTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
          long&nbsp;timestampMicros)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#loadTable-org.apache.spark.sql.connector.catalog.Identifier-java.lang.String-">loadTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
          java.lang.String&nbsp;version)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#name--">name</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#purgeTable-org.apache.spark.sql.connector.catalog.Identifier-">purgeTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html#renameTable-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.connector.catalog.Identifier-">renameTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;oldIdent,
            org.apache.spark.sql.connector.catalog.Identifier&nbsp;newIdent)</code>&nbsp;</td>
@@ -234,7 +250,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.TableCatalog</h3>
-<code>tableExists</code></li>
+<code>capabilities, createTable, tableExists</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.FunctionCatalog">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.FunctionCatalog</h3>
+<code>functionExists</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.CatalogPlugin">
@@ -443,7 +466,7 @@
 <a name="name--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>name</h4>
 <pre>public&nbsp;java.lang.String&nbsp;name()</pre>
@@ -453,6 +476,56 @@
 </dl>
 </li>
 </ul>
+<a name="isFunctionNamespace-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isFunctionNamespace</h4>
+<pre>public&nbsp;boolean&nbsp;isFunctionNamespace(java.lang.String[]&nbsp;namespace)</pre>
+</li>
+</ul>
+<a name="isExistingNamespace-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isExistingNamespace</h4>
+<pre>public&nbsp;boolean&nbsp;isExistingNamespace(java.lang.String[]&nbsp;namespace)</pre>
+</li>
+</ul>
+<a name="listFunctions-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>listFunctions</h4>
+<pre>public&nbsp;org.apache.spark.sql.connector.catalog.Identifier[]&nbsp;listFunctions(java.lang.String[]&nbsp;namespace)
+                                                                  throws org.apache.spark.sql.catalyst.analysis.NoSuchNamespaceException</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>listFunctions</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.catalog.FunctionCatalog</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.spark.sql.catalyst.analysis.NoSuchNamespaceException</code></dd>
+</dl>
+</li>
+</ul>
+<a name="loadFunction-org.apache.spark.sql.connector.catalog.Identifier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>loadFunction</h4>
+<pre>public&nbsp;org.apache.spark.sql.connector.catalog.functions.UnboundFunction&nbsp;loadFunction(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)
+                                                                              throws org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>loadFunction</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.catalog.FunctionCatalog</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/SparkCatalog.html b/javadoc/org/apache/iceberg/spark/SparkCatalog.html
index fc41180..9752853 100644
--- a/javadoc/org/apache/iceberg/spark/SparkCatalog.html
+++ b/javadoc/org/apache/iceberg/spark/SparkCatalog.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":18,"i15":10,"i16":10,"i17":10,"i18":18,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../org/apache/iceberg/spark/source/HasIcebergCatalog.html" title="interface in org.apache.iceberg.spark.source">HasIcebergCatalog</a>, org.apache.spark.sql.connector.catalog.CatalogPlugin, org.apache.spark.sql.connector.catalog.FunctionCatalog, org.apache.spark.sql.connector.catalog.StagingTableCatalog, org.apache.spark.sql.connector.catalog.SupportsNamespaces, org.apache.spark.sql.connector.catalog.TableCatalog, <a href="../../../../org/apache/spark/sql/connector/iceberg/catalog/ProcedureCatalog.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ProcedureCatalog</a></dd>
+<dd><a href="../../../../org/apache/iceberg/spark/source/HasIcebergCatalog.html" title="interface in org.apache.iceberg.spark.source">HasIcebergCatalog</a>, org.apache.spark.sql.connector.catalog.CatalogPlugin, org.apache.spark.sql.connector.catalog.StagingTableCatalog, org.apache.spark.sql.connector.catalog.SupportsNamespaces, org.apache.spark.sql.connector.catalog.TableCatalog, <a href="../../../../org/apache/spark/sql/connector/iceberg/catalog/ProcedureCatalog.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">ProcedureCatalog</a></dd>
 </dl>
 <hr>
 <br>
@@ -118,16 +118,24 @@
  <p>This supports the following catalog configuration options:
 
  <ul>
-   <li><code>type</code> - catalog type, "hive" or "hadoop". To specify a non-hive or hadoop
-       catalog, use the <code>catalog-impl</code> option.
-   <li><code>uri</code> - the Hive Metastore URI (Hive catalog only)
+   <li><code>type</code> - catalog type, "hive" or "hadoop" or "rest". To specify a non-hive or
+       hadoop catalog, use the <code>catalog-impl</code> option.
+   <li><code>uri</code> - the Hive Metastore URI for Hive catalog or REST URI for REST catalog
    <li><code>warehouse</code> - the warehouse path (Hadoop catalog only)
    <li><code>catalog-impl</code> - a custom <a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a> implementation to use
+   <li><code>io-impl</code> - a custom <a href="../../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io"><code>FileIO</code></a> implementation to use
+   <li><code>metrics-reporter-impl</code> - a custom <a href="../../../../org/apache/iceberg/metrics/MetricsReporter.html" title="interface in org.apache.iceberg.metrics"><code>MetricsReporter</code></a> implementation to use
    <li><code>default-namespace</code> - a namespace to use as the default
    <li><code>cache-enabled</code> - whether to enable catalog cache
+   <li><code>cache.case-sensitive</code> - whether the catalog cache should compare table
+       identifiers in a case sensitive way
    <li><code>cache.expiration-interval-ms</code> - interval in millis before expiring tables from
        catalog cache. Refer to <a href="../../../../org/apache/iceberg/CatalogProperties.html#CACHE_EXPIRATION_INTERVAL_MS"><code>CatalogProperties.CACHE_EXPIRATION_INTERVAL_MS</code></a> for further
        details and significant values.
+   <li><code>table-default.$tablePropertyKey</code> - table property $tablePropertyKey default at
+       catalog level
+   <li><code>table-override.$tablePropertyKey</code> - table property $tablePropertyKey enforced
+       at catalog level
  </ul>
 
  <p></div>
@@ -183,7 +191,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -252,77 +260,85 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#invalidateTable-org.apache.spark.sql.connector.catalog.Identifier-">invalidateTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
-<td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Identifier[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#listFunctions-java.lang.String:A-">listFunctions</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#isExistingNamespace-java.lang.String:A-">isExistingNamespace</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#isFunctionNamespace-java.lang.String:A-">isFunctionNamespace</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>default org.apache.spark.sql.connector.catalog.Identifier[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#listFunctions-java.lang.String:A-">listFunctions</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>java.lang.String[][]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#listNamespaces--">listNamespaces</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>java.lang.String[][]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#listNamespaces-java.lang.String:A-">listNamespaces</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Identifier[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#listTables-java.lang.String:A-">listTables</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
-<td class="colFirst"><code>org.apache.spark.sql.connector.catalog.functions.UnboundFunction</code></td>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>default org.apache.spark.sql.connector.catalog.functions.UnboundFunction</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#loadFunction-org.apache.spark.sql.connector.catalog.Identifier-">loadFunction</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#loadNamespaceMetadata-java.lang.String:A-">loadNamespaceMetadata</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">Procedure</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#loadProcedure-org.apache.spark.sql.connector.catalog.Identifier-">loadProcedure</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>
 <div class="block">Load a <a href="../../../../org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><code>stored procedure</code></a> by <code>identifier</code>.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Table</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#loadTable-org.apache.spark.sql.connector.catalog.Identifier-">loadTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Table</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#loadTable-org.apache.spark.sql.connector.catalog.Identifier-long-">loadTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
          long&nbsp;timestamp)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Table</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#loadTable-org.apache.spark.sql.connector.catalog.Identifier-java.lang.String-">loadTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
          java.lang.String&nbsp;version)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#name--">name</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#purgeTable-org.apache.spark.sql.connector.catalog.Identifier-">purgeTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#renameTable-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.connector.catalog.Identifier-">renameTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;from,
            org.apache.spark.sql.connector.catalog.Identifier&nbsp;to)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.StagedTable</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#stageCreate-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.types.StructType-org.apache.spark.sql.connector.expressions.Transform:A-java.util.Map-">stageCreate</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
            org.apache.spark.sql.types.StructType&nbsp;schema,
            org.apache.spark.sql.connector.expressions.Transform[]&nbsp;transforms,
            java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.StagedTable</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#stageCreateOrReplace-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.types.StructType-org.apache.spark.sql.connector.expressions.Transform:A-java.util.Map-">stageCreateOrReplace</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
                     org.apache.spark.sql.types.StructType&nbsp;schema,
                     org.apache.spark.sql.connector.expressions.Transform[]&nbsp;transforms,
                     java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.StagedTable</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html#stageReplace-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.types.StructType-org.apache.spark.sql.connector.expressions.Transform:A-java.util.Map-">stageReplace</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
             org.apache.spark.sql.types.StructType&nbsp;schema,
@@ -338,6 +354,13 @@
 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
 </ul>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.StagingTableCatalog">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.StagingTableCatalog</h3>
+<code>stageCreate, stageCreateOrReplace, stageReplace</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.SupportsNamespaces">
 <!--   -->
 </a>
@@ -349,7 +372,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.TableCatalog</h3>
-<code>tableExists</code></li>
+<code>capabilities, createTable, tableExists</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.FunctionCatalog">
@@ -741,6 +764,24 @@
 </dl>
 </li>
 </ul>
+<a name="isFunctionNamespace-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isFunctionNamespace</h4>
+<pre>public&nbsp;boolean&nbsp;isFunctionNamespace(java.lang.String[]&nbsp;namespace)</pre>
+</li>
+</ul>
+<a name="isExistingNamespace-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isExistingNamespace</h4>
+<pre>public&nbsp;boolean&nbsp;isExistingNamespace(java.lang.String[]&nbsp;namespace)</pre>
+</li>
+</ul>
 <a name="listFunctions-java.lang.String:A-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/spark/SparkDataFile.html b/javadoc/org/apache/iceberg/spark/SparkDataFile.html
index a5a2763..3d72dc0 100644
--- a/javadoc/org/apache/iceberg/spark/SparkDataFile.html
+++ b/javadoc/org/apache/iceberg/spark/SparkDataFile.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/SparkDataFile.html" target="_top">Frames</a></li>
@@ -303,7 +303,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.iceberg.<a href="../../../../org/apache/iceberg/ContentFile.html" title="interface in org.apache.iceberg">ContentFile</a></h3>
-<code><a href="../../../../org/apache/iceberg/ContentFile.html#copy-boolean-">copy</a></code></li>
+<code><a href="../../../../org/apache/iceberg/ContentFile.html#copy-boolean-">copy</a>, <a href="../../../../org/apache/iceberg/ContentFile.html#dataSequenceNumber--">dataSequenceNumber</a>, <a href="../../../../org/apache/iceberg/ContentFile.html#fileSequenceNumber--">fileSequenceNumber</a></code></li>
 </ul>
 </li>
 </ul>
@@ -668,7 +668,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/SparkDataFile.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html b/javadoc/org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html
deleted file mode 100644
index 2cec99c..0000000
--- a/javadoc/org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>SparkDistributionAndOrderingUtil</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SparkDistributionAndOrderingUtil";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" target="_top">Frames</a></li>
-<li><a href="SparkDistributionAndOrderingUtil.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.iceberg.spark</div>
-<h2 title="Class SparkDistributionAndOrderingUtil" class="title">Class SparkDistributionAndOrderingUtil</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.iceberg.spark.SparkDistributionAndOrderingUtil</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SparkDistributionAndOrderingUtil</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static org.apache.spark.sql.connector.distributions.Distribution</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildCopyOnWriteDistribution-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.iceberg.DistributionMode-">buildCopyOnWriteDistribution</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                            org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command,
-                            <a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;distributionMode)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static org.apache.spark.sql.connector.expressions.SortOrder[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildCopyOnWriteOrdering-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.spark.sql.connector.distributions.Distribution-">buildCopyOnWriteOrdering</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                        org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command,
-                        org.apache.spark.sql.connector.distributions.Distribution&nbsp;distribution)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static org.apache.spark.sql.connector.distributions.Distribution</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildPositionDeltaDistribution-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.iceberg.DistributionMode-">buildPositionDeltaDistribution</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                              org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command,
-                              <a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;distributionMode)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static org.apache.spark.sql.connector.expressions.SortOrder[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildPositionDeltaOrdering-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-">buildPositionDeltaOrdering</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                          org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>static org.apache.spark.sql.connector.distributions.Distribution</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildRequiredDistribution-org.apache.iceberg.Table-org.apache.iceberg.DistributionMode-">buildRequiredDistribution</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                         <a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;distributionMode)</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>static org.apache.spark.sql.connector.expressions.SortOrder[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#buildRequiredOrdering-org.apache.iceberg.Table-org.apache.spark.sql.connector.distributions.Distribution-">buildRequiredOrdering</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                     org.apache.spark.sql.connector.distributions.Distribution&nbsp;distribution)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>static org.apache.spark.sql.connector.expressions.SortOrder[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html#convert-org.apache.iceberg.SortOrder-">convert</a></span>(<a href="../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a>&nbsp;sortOrder)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="buildRequiredDistribution-org.apache.iceberg.Table-org.apache.iceberg.DistributionMode-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildRequiredDistribution</h4>
-<pre>public static&nbsp;org.apache.spark.sql.connector.distributions.Distribution&nbsp;buildRequiredDistribution(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                                                                                  <a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;distributionMode)</pre>
-</li>
-</ul>
-<a name="buildRequiredOrdering-org.apache.iceberg.Table-org.apache.spark.sql.connector.distributions.Distribution-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildRequiredOrdering</h4>
-<pre>public static&nbsp;org.apache.spark.sql.connector.expressions.SortOrder[]&nbsp;buildRequiredOrdering(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                                                                           org.apache.spark.sql.connector.distributions.Distribution&nbsp;distribution)</pre>
-</li>
-</ul>
-<a name="buildCopyOnWriteDistribution-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.iceberg.DistributionMode-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildCopyOnWriteDistribution</h4>
-<pre>public static&nbsp;org.apache.spark.sql.connector.distributions.Distribution&nbsp;buildCopyOnWriteDistribution(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                                                                                     org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command,
-                                                                                                     <a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;distributionMode)</pre>
-</li>
-</ul>
-<a name="buildCopyOnWriteOrdering-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.spark.sql.connector.distributions.Distribution-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildCopyOnWriteOrdering</h4>
-<pre>public static&nbsp;org.apache.spark.sql.connector.expressions.SortOrder[]&nbsp;buildCopyOnWriteOrdering(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                                                                              org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command,
-                                                                                              org.apache.spark.sql.connector.distributions.Distribution&nbsp;distribution)</pre>
-</li>
-</ul>
-<a name="buildPositionDeltaDistribution-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-org.apache.iceberg.DistributionMode-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildPositionDeltaDistribution</h4>
-<pre>public static&nbsp;org.apache.spark.sql.connector.distributions.Distribution&nbsp;buildPositionDeltaDistribution(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                                                                                       org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command,
-                                                                                                       <a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;distributionMode)</pre>
-</li>
-</ul>
-<a name="buildPositionDeltaOrdering-org.apache.iceberg.Table-org.apache.spark.sql.connector.write.RowLevelOperation.Command-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildPositionDeltaOrdering</h4>
-<pre>public static&nbsp;org.apache.spark.sql.connector.expressions.SortOrder[]&nbsp;buildPositionDeltaOrdering(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                                                                                org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command)</pre>
-</li>
-</ul>
-<a name="convert-org.apache.iceberg.SortOrder-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>convert</h4>
-<pre>public static&nbsp;org.apache.spark.sql.connector.expressions.SortOrder[]&nbsp;convert(<a href="../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a>&nbsp;sortOrder)</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" target="_top">Frames</a></li>
-<li><a href="SparkDistributionAndOrderingUtil.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/iceberg/spark/SparkExceptionUtil.html b/javadoc/org/apache/iceberg/spark/SparkExceptionUtil.html
index 3525d18..7baee8c 100644
--- a/javadoc/org/apache/iceberg/spark/SparkExceptionUtil.html
+++ b/javadoc/org/apache/iceberg/spark/SparkExceptionUtil.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -205,7 +205,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/SparkFilters.html b/javadoc/org/apache/iceberg/spark/SparkFilters.html
index b9d9d71..8d2d938 100644
--- a/javadoc/org/apache/iceberg/spark/SparkFilters.html
+++ b/javadoc/org/apache/iceberg/spark/SparkFilters.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/SparkFilters.html" target="_top">Frames</a></li>
@@ -203,7 +203,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/SparkFilters.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/SparkReadConf.html b/javadoc/org/apache/iceberg/spark/SparkReadConf.html
index 24c45b3..347833d 100644
--- a/javadoc/org/apache/iceberg/spark/SparkReadConf.html
+++ b/javadoc/org/apache/iceberg/spark/SparkReadConf.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":42,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -163,7 +163,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -193,23 +193,17 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#endTimestamp--">endTimestamp</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#fileScanTaskSetId--">fileScanTaskSetId</a></span>()</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#scanTaskSetId--"><code>scanTaskSetId()</code></a> instead</span></div>
-</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#handleTimestampWithoutZone--">handleTimestampWithoutZone</a></span>()</code>
-<div class="block">Enables reading a timestamp without time zone as a timestamp with time zone.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#localityEnabled--">localityEnabled</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#maxFilesPerMicroBatch--">maxFilesPerMicroBatch</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#maxRecordsPerMicroBatch--">maxRecordsPerMicroBatch</a></span>()</code>&nbsp;</td>
+</tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#orcBatchSize--">orcBatchSize</a></span>()</code>&nbsp;</td>
@@ -271,7 +265,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#startTimestamp--">startTimestamp</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i24" class="altColor">
-<td class="colFirst"><code>java.lang.Long</code></td>
+<td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#streamFromTimestamp--">streamFromTimestamp</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i25" class="rowColor">
@@ -411,17 +405,6 @@
 <pre>public&nbsp;java.lang.String&nbsp;tag()</pre>
 </li>
 </ul>
-<a name="fileScanTaskSetId--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>fileScanTaskSetId</h4>
-<pre>@Deprecated
-public&nbsp;java.lang.String&nbsp;fileScanTaskSetId()</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0, use <a href="../../../../org/apache/iceberg/spark/SparkReadConf.html#scanTaskSetId--"><code>scanTaskSetId()</code></a> instead</span></div>
-</li>
-</ul>
 <a name="scanTaskSetId--">
 <!--   -->
 </a>
@@ -539,35 +522,13 @@
 <pre>public&nbsp;long&nbsp;splitOpenFileCost()</pre>
 </li>
 </ul>
-<a name="handleTimestampWithoutZone--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>handleTimestampWithoutZone</h4>
-<pre>public&nbsp;boolean&nbsp;handleTimestampWithoutZone()</pre>
-<div class="block">Enables reading a timestamp without time zone as a timestamp with time zone.
-
- <p>Generally, this is not safe as a timestamp without time zone is supposed to represent the
- wall-clock time, i.e. no matter the reader/writer timezone 3PM should always be read as 3PM,
- but a timestamp with time zone represents instant semantics, i.e. the timestamp is adjusted so
- that the corresponding time in the reader timezone is displayed.
-
- <p>When set to false (default), an exception must be thrown while reading a timestamp without
- time zone.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>boolean indicating if reading timestamps without timezone is allowed</dd>
-</dl>
-</li>
-</ul>
 <a name="streamFromTimestamp--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>streamFromTimestamp</h4>
-<pre>public&nbsp;java.lang.Long&nbsp;streamFromTimestamp()</pre>
+<pre>public&nbsp;long&nbsp;streamFromTimestamp()</pre>
 </li>
 </ul>
 <a name="startTimestamp--">
@@ -588,6 +549,24 @@
 <pre>public&nbsp;java.lang.Long&nbsp;endTimestamp()</pre>
 </li>
 </ul>
+<a name="maxFilesPerMicroBatch--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxFilesPerMicroBatch</h4>
+<pre>public&nbsp;int&nbsp;maxFilesPerMicroBatch()</pre>
+</li>
+</ul>
+<a name="maxRecordsPerMicroBatch--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxRecordsPerMicroBatch</h4>
+<pre>public&nbsp;int&nbsp;maxRecordsPerMicroBatch()</pre>
+</li>
+</ul>
 <a name="preserveDataGrouping--">
 <!--   -->
 </a>
@@ -633,7 +612,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/SparkReadOptions.html b/javadoc/org/apache/iceberg/spark/SparkReadOptions.html
index e0a27d3..5f373a2 100644
--- a/javadoc/org/apache/iceberg/spark/SparkReadOptions.html
+++ b/javadoc/org/apache/iceberg/spark/SparkReadOptions.html
@@ -148,85 +148,87 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#FILE_SCAN_TASK_SET_ID">FILE_SCAN_TASK_SET_ID</a></span></code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use SCAN_TASK_SET_ID instead</span></div>
-</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#LOCALITY">LOCALITY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#LOOKBACK">LOOKBACK</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#PATH">PATH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#SCAN_TASK_SET_ID">SCAN_TASK_SET_ID</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#SNAPSHOT_ID">SNAPSHOT_ID</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#SPLIT_SIZE">SPLIT_SIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#START_SNAPSHOT_ID">START_SNAPSHOT_ID</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#START_TIMESTAMP">START_TIMESTAMP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#STREAM_FROM_TIMESTAMP">STREAM_FROM_TIMESTAMP</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_MAX_FILES_PER_MICRO_BATCH">STREAMING_MAX_FILES_PER_MICRO_BATCH</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_MAX_ROWS_PER_MICRO_BATCH">STREAMING_MAX_ROWS_PER_MICRO_BATCH</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_DELETE_SNAPSHOTS">STREAMING_SKIP_DELETE_SNAPSHOTS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_DELETE_SNAPSHOTS_DEFAULT">STREAMING_SKIP_DELETE_SNAPSHOTS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_OVERWRITE_SNAPSHOTS">STREAMING_SKIP_OVERWRITE_SNAPSHOTS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#STREAMING_SKIP_OVERWRITE_SNAPSHOTS_DEFAULT">STREAMING_SKIP_OVERWRITE_SNAPSHOTS_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#TAG">TAG</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#TIMESTAMP_AS_OF">TIMESTAMP_AS_OF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#VECTORIZATION_BATCH_SIZE">VECTORIZATION_BATCH_SIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#VECTORIZATION_ENABLED">VECTORIZATION_ENABLED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html#VERSION_AS_OF">VERSION_AS_OF</a></span></code>&nbsp;</td>
 </tr>
@@ -429,22 +431,6 @@
 </dl>
 </li>
 </ul>
-<a name="FILE_SCAN_TASK_SET_ID">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>FILE_SCAN_TASK_SET_ID</h4>
-<pre>@Deprecated
-public static final&nbsp;java.lang.String FILE_SCAN_TASK_SET_ID</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0, use SCAN_TASK_SET_ID instead</span></div>
-<div class="block">Set ID that is used to fetch file scan tasks</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.iceberg.spark.SparkReadOptions.FILE_SCAN_TASK_SET_ID">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
 <a name="SCAN_TASK_SET_ID">
 <!--   -->
 </a>
@@ -516,7 +502,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</h4>
-<pre>public static final&nbsp;java.lang.String HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.spark.SparkReadOptions.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">Constant Field Values</a></dd>
@@ -549,6 +537,32 @@
 </dl>
 </li>
 </ul>
+<a name="STREAMING_MAX_FILES_PER_MICRO_BATCH">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>STREAMING_MAX_FILES_PER_MICRO_BATCH</h4>
+<pre>public static final&nbsp;java.lang.String STREAMING_MAX_FILES_PER_MICRO_BATCH</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.spark.SparkReadOptions.STREAMING_MAX_FILES_PER_MICRO_BATCH">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="STREAMING_MAX_ROWS_PER_MICRO_BATCH">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>STREAMING_MAX_ROWS_PER_MICRO_BATCH</h4>
+<pre>public static final&nbsp;java.lang.String STREAMING_MAX_ROWS_PER_MICRO_BATCH</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.spark.SparkReadOptions.STREAMING_MAX_ROWS_PER_MICRO_BATCH">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="PATH">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/spark/SparkSQLProperties.html b/javadoc/org/apache/iceberg/spark/SparkSQLProperties.html
index 2b3d87a..7336ef1 100644
--- a/javadoc/org/apache/iceberg/spark/SparkSQLProperties.html
+++ b/javadoc/org/apache/iceberg/spark/SparkSQLProperties.html
@@ -151,27 +151,23 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSQLProperties.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSQLProperties.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSQLProperties.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSQLProperties.html#PRESERVE_DATA_GROUPING">PRESERVE_DATA_GROUPING</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSQLProperties.html#PRESERVE_DATA_GROUPING_DEFAULT">PRESERVE_DATA_GROUPING_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSQLProperties.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</a></span></code>&nbsp;</td>
-</tr>
 <tr class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSQLProperties.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSQLProperties.html#USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
@@ -234,52 +230,30 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</h4>
-<pre>public static final&nbsp;java.lang.String HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.spark.SparkSQLProperties.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">Constant Field Values</a></dd>
 </dl>
 </li>
 </ul>
-<a name="HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT</h4>
-<pre>public static final&nbsp;boolean HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.iceberg.spark.SparkSQLProperties.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE_DEFAULT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
 <a name="USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</h4>
-<pre>public static final&nbsp;java.lang.String USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.spark.SparkSQLProperties.USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES">Constant Field Values</a></dd>
 </dl>
 </li>
 </ul>
-<a name="USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT</h4>
-<pre>public static final&nbsp;boolean USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.iceberg.spark.SparkSQLProperties.USE_TIMESTAMP_WITHOUT_TIME_ZONE_IN_NEW_TABLES_DEFAULT">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
 <a name="CHECK_NULLABILITY">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/spark/SparkSchemaUtil.html b/javadoc/org/apache/iceberg/spark/SparkSchemaUtil.html
index 7410a1b..540c47b 100644
--- a/javadoc/org/apache/iceberg/spark/SparkSchemaUtil.html
+++ b/javadoc/org/apache/iceberg/spark/SparkSchemaUtil.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -162,26 +162,19 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#convert-org.apache.spark.sql.types.StructType-boolean-">convert</a></span>(org.apache.spark.sql.types.StructType&nbsp;sparkType,
-       boolean&nbsp;useTimestampWithoutZone)</code>
-<div class="block">Convert a Spark <code>struct</code> to a <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> with new field ids.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
 <td class="colFirst"><code>static org.apache.spark.sql.types.DataType</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#convert-org.apache.iceberg.types.Type-">convert</a></span>(<a href="../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>&nbsp;type)</code>
 <div class="block">Convert a <a href="../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types"><code>Type</code></a> to a <code>Spark type</code>.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#convertWithFreshIds-org.apache.iceberg.Schema-org.apache.spark.sql.types.StructType-">convertWithFreshIds</a></span>(<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;baseSchema,
                    org.apache.spark.sql.types.StructType&nbsp;sparkType)</code>
 <div class="block">Convert a Spark <code>struct</code> to a <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> based on the given schema.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#convertWithFreshIds-org.apache.iceberg.Schema-org.apache.spark.sql.types.StructType-boolean-">convertWithFreshIds</a></span>(<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;baseSchema,
                    org.apache.spark.sql.types.StructType&nbsp;sparkType,
@@ -189,25 +182,25 @@
 <div class="block">Convert a Spark <code>struct</code> to a <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> based on the given schema.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#estimateSize-org.apache.spark.sql.types.StructType-long-">estimateSize</a></span>(org.apache.spark.sql.types.StructType&nbsp;tableSchema,
             long&nbsp;totalRecords)</code>
 <div class="block">Estimate approximate table size based on Spark schema and total records.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static java.util.Map&lt;java.lang.Integer,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#indexQuotedNameById-org.apache.iceberg.Schema-">indexQuotedNameById</a></span>(<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#prune-org.apache.iceberg.Schema-org.apache.spark.sql.types.StructType-">prune</a></span>(<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
      org.apache.spark.sql.types.StructType&nbsp;requestedType)</code>
 <div class="block">Prune columns from a <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> using a <code>Spark type</code> projection.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#prune-org.apache.iceberg.Schema-org.apache.spark.sql.types.StructType-org.apache.iceberg.expressions.Expression-boolean-">prune</a></span>(<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
      org.apache.spark.sql.types.StructType&nbsp;requestedType,
@@ -216,7 +209,7 @@
 <div class="block">Prune columns from a <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> using a <code>Spark type</code> projection.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#prune-org.apache.iceberg.Schema-org.apache.spark.sql.types.StructType-java.util.List-">prune</a></span>(<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema,
      org.apache.spark.sql.types.StructType&nbsp;requestedType,
@@ -224,21 +217,21 @@
 <div class="block">Prune columns from a <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> using a <code>Spark type</code> projection.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#schemaForTable-org.apache.spark.sql.SparkSession-java.lang.String-">schemaForTable</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
               java.lang.String&nbsp;name)</code>
 <div class="block">Returns a <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> for the given table with fresh field ids.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#specForTable-org.apache.spark.sql.SparkSession-java.lang.String-">specForTable</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
             java.lang.String&nbsp;name)</code>
 <div class="block">Returns a <a href="../../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg"><code>PartitionSpec</code></a> for the given table.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#validateMetadataColumnReferences-org.apache.iceberg.Schema-org.apache.iceberg.Schema-">validateMetadataColumnReferences</a></span>(<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;tableSchema,
                                 <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;readSchema)</code>&nbsp;</td>
@@ -371,34 +364,6 @@
 </dl>
 </li>
 </ul>
-<a name="convert-org.apache.spark.sql.types.StructType-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>convert</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;convert(org.apache.spark.sql.types.StructType&nbsp;sparkType,
-                             boolean&nbsp;useTimestampWithoutZone)</pre>
-<div class="block">Convert a Spark <code>struct</code> to a <a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg"><code>Schema</code></a> with new field ids.
-
- <p>This conversion assigns fresh ids.
-
- <p>Some data types are represented as the same Spark type. These are converted to a default
- type.
-
- <p>To convert using a reference schema for field ids and ambiguous types, use <a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html#convert-org.apache.iceberg.Schema-org.apache.spark.sql.types.StructType-"><code>convert(Schema, StructType)</code></a>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sparkType</code> - a Spark StructType</dd>
-<dd><code>useTimestampWithoutZone</code> - boolean flag indicates that timestamp should be stored without
-     timezone</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the equivalent Schema</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if the type cannot be converted</dd>
-</dl>
-</li>
-</ul>
 <a name="convert-org.apache.spark.sql.types.DataType-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/spark/SparkSessionCatalog.html b/javadoc/org/apache/iceberg/spark/SparkSessionCatalog.html
index 66a2f08..3b3af1b 100644
--- a/javadoc/org/apache/iceberg/spark/SparkSessionCatalog.html
+++ b/javadoc/org/apache/iceberg/spark/SparkSessionCatalog.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":18,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -91,7 +91,7 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.iceberg.spark</div>
-<h2 title="Class SparkSessionCatalog" class="title">Class SparkSessionCatalog&lt;T extends org.apache.spark.sql.connector.catalog.TableCatalog &amp; org.apache.spark.sql.connector.catalog.SupportsNamespaces&gt;</h2>
+<h2 title="Class SparkSessionCatalog" class="title">Class SparkSessionCatalog&lt;T extends org.apache.spark.sql.connector.catalog.TableCatalog &amp; org.apache.spark.sql.connector.catalog.FunctionCatalog &amp; org.apache.spark.sql.connector.catalog.SupportsNamespaces&gt;</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
@@ -107,7 +107,8 @@
 <li class="blockList">
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>T</code> - CatalogPlugin class to avoid casting to TableCatalog and SupportsNamespaces.</dd>
+<dd><code>T</code> - CatalogPlugin class to avoid casting to TableCatalog, FunctionCatalog and
+     SupportsNamespaces.</dd>
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
@@ -115,7 +116,7 @@
 </dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">SparkSessionCatalog&lt;T extends org.apache.spark.sql.connector.catalog.TableCatalog &amp; org.apache.spark.sql.connector.catalog.SupportsNamespaces&gt;</span>
+<pre>public class <span class="typeNameLabel">SparkSessionCatalog&lt;T extends org.apache.spark.sql.connector.catalog.TableCatalog &amp; org.apache.spark.sql.connector.catalog.FunctionCatalog &amp; org.apache.spark.sql.connector.catalog.SupportsNamespaces&gt;</span>
 extends java.lang.Object
 implements org.apache.spark.sql.connector.catalog.CatalogExtension</pre>
 <div class="block">A Spark catalog that can also load non-Iceberg tables.</div>
@@ -171,7 +172,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -234,85 +235,93 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#invalidateTable-org.apache.spark.sql.connector.catalog.Identifier-">invalidateTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Identifier[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#listFunctions-java.lang.String:A-">listFunctions</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#isExistingNamespace-java.lang.String:A-">isExistingNamespace</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#isFunctionNamespace-java.lang.String:A-">isFunctionNamespace</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>default org.apache.spark.sql.connector.catalog.Identifier[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#listFunctions-java.lang.String:A-">listFunctions</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>java.lang.String[][]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#listNamespaces--">listNamespaces</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>java.lang.String[][]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#listNamespaces-java.lang.String:A-">listNamespaces</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Identifier[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#listTables-java.lang.String:A-">listTables</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.functions.UnboundFunction</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#loadFunction-org.apache.spark.sql.connector.catalog.Identifier-">loadFunction</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#loadNamespaceMetadata-java.lang.String:A-">loadNamespaceMetadata</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog">Procedure</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#loadProcedure-org.apache.spark.sql.connector.catalog.Identifier-">loadProcedure</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>
 <div class="block">Load a <a href="../../../../org/apache/spark/sql/connector/iceberg/catalog/Procedure.html" title="interface in org.apache.spark.sql.connector.iceberg.catalog"><code>stored procedure</code></a> by <code>identifier</code>.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Table</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#loadTable-org.apache.spark.sql.connector.catalog.Identifier-">loadTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Table</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#loadTable-org.apache.spark.sql.connector.catalog.Identifier-long-">loadTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
          long&nbsp;timestamp)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.Table</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#loadTable-org.apache.spark.sql.connector.catalog.Identifier-java.lang.String-">loadTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
          java.lang.String&nbsp;version)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#name--">name</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#namespaceExists-java.lang.String:A-">namespaceExists</a></span>(java.lang.String[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#purgeTable-org.apache.spark.sql.connector.catalog.Identifier-">purgeTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#renameTable-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.connector.catalog.Identifier-">renameTable</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;from,
            org.apache.spark.sql.connector.catalog.Identifier&nbsp;to)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#setDelegateCatalog-org.apache.spark.sql.connector.catalog.CatalogPlugin-">setDelegateCatalog</a></span>(org.apache.spark.sql.connector.catalog.CatalogPlugin&nbsp;sparkSessionCatalog)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.StagedTable</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#stageCreate-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.types.StructType-org.apache.spark.sql.connector.expressions.Transform:A-java.util.Map-">stageCreate</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
            org.apache.spark.sql.types.StructType&nbsp;schema,
            org.apache.spark.sql.connector.expressions.Transform[]&nbsp;partitions,
            java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.StagedTable</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#stageCreateOrReplace-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.types.StructType-org.apache.spark.sql.connector.expressions.Transform:A-java.util.Map-">stageCreateOrReplace</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
                     org.apache.spark.sql.types.StructType&nbsp;schema,
                     org.apache.spark.sql.connector.expressions.Transform[]&nbsp;partitions,
                     java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.catalog.StagedTable</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html#stageReplace-org.apache.spark.sql.connector.catalog.Identifier-org.apache.spark.sql.types.StructType-org.apache.spark.sql.connector.expressions.Transform:A-java.util.Map-">stageReplace</a></span>(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident,
             org.apache.spark.sql.types.StructType&nbsp;schema,
@@ -332,14 +341,21 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.TableCatalog</h3>
-<code>tableExists</code></li>
+<code>capabilities, createTable, tableExists</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.FunctionCatalog">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.FunctionCatalog</h3>
-<code>functionExists, listFunctions, loadFunction</code></li>
+<code>functionExists, listFunctions</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.StagingTableCatalog">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.StagingTableCatalog</h3>
+<code>stageCreate, stageCreateOrReplace, stageReplace</code></li>
 </ul>
 </li>
 </ul>
@@ -798,6 +814,22 @@
 </dl>
 </li>
 </ul>
+<a name="loadFunction-org.apache.spark.sql.connector.catalog.Identifier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>loadFunction</h4>
+<pre>public&nbsp;org.apache.spark.sql.connector.catalog.functions.UnboundFunction&nbsp;loadFunction(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)
+                                                                              throws org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>loadFunction</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.catalog.FunctionCatalog</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException</code></dd>
+</dl>
+</li>
+</ul>
 <a name="loadProcedure-org.apache.spark.sql.connector.catalog.Identifier-">
 <!--   -->
 </a>
@@ -820,11 +852,29 @@
 </dl>
 </li>
 </ul>
-<a name="listFunctions-java.lang.String:A-">
+<a name="isFunctionNamespace-java.lang.String:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
+<h4>isFunctionNamespace</h4>
+<pre>public&nbsp;boolean&nbsp;isFunctionNamespace(java.lang.String[]&nbsp;namespace)</pre>
+</li>
+</ul>
+<a name="isExistingNamespace-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isExistingNamespace</h4>
+<pre>public&nbsp;boolean&nbsp;isExistingNamespace(java.lang.String[]&nbsp;namespace)</pre>
+</li>
+</ul>
+<a name="listFunctions-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
 <h4>listFunctions</h4>
 <pre>public&nbsp;org.apache.spark.sql.connector.catalog.Identifier[]&nbsp;listFunctions(java.lang.String[]&nbsp;namespace)
                                                                   throws org.apache.spark.sql.catalyst.analysis.NoSuchNamespaceException</pre>
@@ -836,22 +886,6 @@
 </dl>
 </li>
 </ul>
-<a name="loadFunction-org.apache.spark.sql.connector.catalog.Identifier-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>loadFunction</h4>
-<pre>public&nbsp;org.apache.spark.sql.connector.catalog.functions.UnboundFunction&nbsp;loadFunction(org.apache.spark.sql.connector.catalog.Identifier&nbsp;ident)
-                                                                              throws org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>loadFunction</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.catalog.FunctionCatalog</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException</code></dd>
-</dl>
-</li>
-</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/SparkTableUtil.html b/javadoc/org/apache/iceberg/spark/SparkTableUtil.html
index 08d9d24..35a27de 100644
--- a/javadoc/org/apache/iceberg/spark/SparkTableUtil.html
+++ b/javadoc/org/apache/iceberg/spark/SparkTableUtil.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":41,"i11":41,"i12":41,"i13":9,"i14":9,"i15":9,"i16":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -145,24 +145,31 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#determineWriteBranch-org.apache.spark.sql.SparkSession-java.lang.String-">determineWriteBranch</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
+                    java.lang.String&nbsp;branch)</code>
+<div class="block">Determine the write branch.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#filterPartitions-java.util.List-java.util.Map-">filterPartitions</a></span>(java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;&nbsp;partitions,
                 java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;partitionFilter)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#getPartitions-org.apache.spark.sql.SparkSession-java.lang.String-">getPartitions</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
              java.lang.String&nbsp;table)</code>
 <div class="block">Returns all partitions in the table.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#getPartitions-org.apache.spark.sql.SparkSession-org.apache.spark.sql.catalyst.TableIdentifier-java.util.Map-">getPartitions</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
              org.apache.spark.sql.catalyst.TableIdentifier&nbsp;tableIdent,
@@ -170,7 +177,7 @@
 <div class="block">Returns all partitions in the table.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#getPartitionsByFilter-org.apache.spark.sql.SparkSession-java.lang.String-java.lang.String-">getPartitionsByFilter</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                      java.lang.String&nbsp;table,
@@ -178,7 +185,7 @@
 <div class="block">Returns partitions that match the specified 'predicate'.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#getPartitionsByFilter-org.apache.spark.sql.SparkSession-org.apache.spark.sql.catalyst.TableIdentifier-org.apache.spark.sql.catalyst.expressions.Expression-">getPartitionsByFilter</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                      org.apache.spark.sql.catalyst.TableIdentifier&nbsp;tableIdent,
@@ -186,7 +193,7 @@
 <div class="block">Returns partitions that match the specified 'predicate'.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#importSparkPartitions-org.apache.spark.sql.SparkSession-java.util.List-org.apache.iceberg.Table-org.apache.iceberg.PartitionSpec-java.lang.String-">importSparkPartitions</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                      java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;&nbsp;partitions,
@@ -196,7 +203,7 @@
 <div class="block">Import files from given partitions to an Iceberg table.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#importSparkPartitions-org.apache.spark.sql.SparkSession-java.util.List-org.apache.iceberg.Table-org.apache.iceberg.PartitionSpec-java.lang.String-boolean-">importSparkPartitions</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                      java.util.List&lt;<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&gt;&nbsp;partitions,
@@ -207,7 +214,7 @@
 <div class="block">Import files from given partitions to an Iceberg table.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#importSparkTable-org.apache.spark.sql.SparkSession-org.apache.spark.sql.catalyst.TableIdentifier-org.apache.iceberg.Table-java.lang.String-">importSparkTable</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                 org.apache.spark.sql.catalyst.TableIdentifier&nbsp;sourceTableIdent,
@@ -216,7 +223,7 @@
 <div class="block">Import files from an existing Spark table to an Iceberg table.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#importSparkTable-org.apache.spark.sql.SparkSession-org.apache.spark.sql.catalyst.TableIdentifier-org.apache.iceberg.Table-java.lang.String-boolean-">importSparkTable</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                 org.apache.spark.sql.catalyst.TableIdentifier&nbsp;sourceTableIdent,
@@ -226,7 +233,7 @@
 <div class="block">Import files from an existing Spark table to an Iceberg table.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#importSparkTable-org.apache.spark.sql.SparkSession-org.apache.spark.sql.catalyst.TableIdentifier-org.apache.iceberg.Table-java.lang.String-java.util.Map-boolean-">importSparkTable</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                 org.apache.spark.sql.catalyst.TableIdentifier&nbsp;sourceTableIdent,
@@ -237,62 +244,27 @@
 <div class="block">Import files from an existing Spark table to an Iceberg table.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#listPartition-org.apache.iceberg.spark.SparkTableUtil.SparkPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.hadoop.SerializableConfiguration-org.apache.iceberg.MetricsConfig-">listPartition</a></span>(<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&nbsp;partition,
-             <a href="../../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
-             <a href="../../../../org/apache/iceberg/hadoop/SerializableConfiguration.html" title="class in org.apache.iceberg.hadoop">SerializableConfiguration</a>&nbsp;conf,
-             <a href="../../../../org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a>&nbsp;metricsConfig)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec,
-     Configuration, MetricsConfig, NameMapping)</code></a></span></div>
-</div>
-</td>
-</tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#listPartition-org.apache.iceberg.spark.SparkTableUtil.SparkPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.hadoop.SerializableConfiguration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-">listPartition</a></span>(<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&nbsp;partition,
-             <a href="../../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
-             <a href="../../../../org/apache/iceberg/hadoop/SerializableConfiguration.html" title="class in org.apache.iceberg.hadoop">SerializableConfiguration</a>&nbsp;conf,
-             <a href="../../../../org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a>&nbsp;metricsConfig,
-             <a href="../../../../org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping">NameMapping</a>&nbsp;mapping)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec,
-     Configuration, MetricsConfig, NameMapping)</code></a></span></div>
-</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>static org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#loadCatalogMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-">loadCatalogMetadataTable</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
-                        <a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                        <a href="../../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a>&nbsp;type)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">since 0.14.0, will be removed in 0.15.0; use <a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#loadMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-"><code>loadMetadataTable(SparkSession, Table, MetadataTableType)</code></a>.</span></div>
-</div>
-</td>
-</tr>
-<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#loadMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-">loadMetadataTable</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                  <a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                  <a href="../../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#loadMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-java.util.Map-">loadMetadataTable</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                  <a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
                  <a href="../../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a>&nbsp;type,
                  java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;extraOptions)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#partitionDF-org.apache.spark.sql.SparkSession-java.lang.String-">partitionDF</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
            java.lang.String&nbsp;table)</code>
 <div class="block">Returns a DataFrame with a row for each partition in the table.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#partitionDFByFilter-org.apache.spark.sql.SparkSession-java.lang.String-java.lang.String-">partitionDFByFilter</a></span>(org.apache.spark.sql.SparkSession&nbsp;spark,
                    java.lang.String&nbsp;table,
@@ -300,6 +272,10 @@
 <div class="block">Returns a DataFrame with a row for each partition that matches the specified 'expression'.</div>
 </td>
 </tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#wapEnabled-org.apache.iceberg.Table-">wapEnabled</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -441,62 +417,6 @@
 </dl>
 </li>
 </ul>
-<a name="listPartition-org.apache.iceberg.spark.SparkTableUtil.SparkPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.hadoop.SerializableConfiguration-org.apache.iceberg.MetricsConfig-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>listPartition</h4>
-<pre>@Deprecated
-public static&nbsp;java.util.List&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;listPartition(<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&nbsp;partition,
-                                                                 <a href="../../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
-                                                                 <a href="../../../../org/apache/iceberg/hadoop/SerializableConfiguration.html" title="class in org.apache.iceberg.hadoop">SerializableConfiguration</a>&nbsp;conf,
-                                                                 <a href="../../../../org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a>&nbsp;metricsConfig)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec,
-     Configuration, MetricsConfig, NameMapping)</code></a></span></div>
-<div class="block">Returns the data files in a partition by listing the partition location.
-
- <p>For Parquet and ORC partitions, this will read metrics from the file footer. For Avro
- partitions, metrics are set to null.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>partition</code> - a partition</dd>
-<dd><code>conf</code> - a serializable Hadoop conf</dd>
-<dd><code>metricsConfig</code> - a metrics conf</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a List of DataFile</dd>
-</dl>
-</li>
-</ul>
-<a name="listPartition-org.apache.iceberg.spark.SparkTableUtil.SparkPartition-org.apache.iceberg.PartitionSpec-org.apache.iceberg.hadoop.SerializableConfiguration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>listPartition</h4>
-<pre>@Deprecated
-public static&nbsp;java.util.List&lt;<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;listPartition(<a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a>&nbsp;partition,
-                                                                 <a href="../../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
-                                                                 <a href="../../../../org/apache/iceberg/hadoop/SerializableConfiguration.html" title="class in org.apache.iceberg.hadoop">SerializableConfiguration</a>&nbsp;conf,
-                                                                 <a href="../../../../org/apache/iceberg/MetricsConfig.html" title="class in org.apache.iceberg">MetricsConfig</a>&nbsp;metricsConfig,
-                                                                 <a href="../../../../org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping">NameMapping</a>&nbsp;mapping)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/iceberg/data/TableMigrationUtil.html#listPartition-java.util.Map-java.lang.String-java.lang.String-org.apache.iceberg.PartitionSpec-org.apache.hadoop.conf.Configuration-org.apache.iceberg.MetricsConfig-org.apache.iceberg.mapping.NameMapping-"><code>TableMigrationUtil.listPartition(Map, String, String, PartitionSpec,
-     Configuration, MetricsConfig, NameMapping)</code></a></span></div>
-<div class="block">Returns the data files in a partition by listing the partition location.
-
- <p>For Parquet and ORC partitions, this will read metrics from the file footer. For Avro
- partitions, metrics are set to null.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>partition</code> - a partition</dd>
-<dd><code>conf</code> - a serializable Hadoop conf</dd>
-<dd><code>metricsConfig</code> - a metrics conf</dd>
-<dd><code>mapping</code> - a name mapping</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a List of DataFile</dd>
-</dl>
-</li>
-</ul>
 <a name="importSparkTable-org.apache.spark.sql.SparkSession-org.apache.spark.sql.catalyst.TableIdentifier-org.apache.iceberg.Table-java.lang.String-java.util.Map-boolean-">
 <!--   -->
 </a>
@@ -629,20 +549,6 @@
                                                                              java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;partitionFilter)</pre>
 </li>
 </ul>
-<a name="loadCatalogMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>loadCatalogMetadataTable</h4>
-<pre>@Deprecated
-public static&nbsp;org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;&nbsp;loadCatalogMetadataTable(org.apache.spark.sql.SparkSession&nbsp;spark,
-                                                                                                          <a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                                                                                                          <a href="../../../../org/apache/iceberg/MetadataTableType.html" title="enum in org.apache.iceberg">MetadataTableType</a>&nbsp;type)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 0.14.0, will be removed in 0.15.0; use <a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html#loadMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-"><code>loadMetadataTable(SparkSession, Table, MetadataTableType)</code></a>.</span></div>
-<div class="block">Loads a metadata table.</div>
-</li>
-</ul>
 <a name="loadMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-">
 <!--   -->
 </a>
@@ -657,7 +563,7 @@
 <a name="loadMetadataTable-org.apache.spark.sql.SparkSession-org.apache.iceberg.Table-org.apache.iceberg.MetadataTableType-java.util.Map-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>loadMetadataTable</h4>
 <pre>public static&nbsp;org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;&nbsp;loadMetadataTable(org.apache.spark.sql.SparkSession&nbsp;spark,
@@ -666,6 +572,35 @@
                                                                                        java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;extraOptions)</pre>
 </li>
 </ul>
+<a name="determineWriteBranch-org.apache.spark.sql.SparkSession-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>determineWriteBranch</h4>
+<pre>public static&nbsp;java.lang.String&nbsp;determineWriteBranch(org.apache.spark.sql.SparkSession&nbsp;spark,
+                                                    java.lang.String&nbsp;branch)</pre>
+<div class="block">Determine the write branch.
+
+ <p>Validate wap config and determine the write branch.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>spark</code> - a Spark Session</dd>
+<dd><code>branch</code> - write branch if there is no WAP branch configured</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>branch for write operation</dd>
+</dl>
+</li>
+</ul>
+<a name="wapEnabled-org.apache.iceberg.Table-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>wapEnabled</h4>
+<pre>public static&nbsp;boolean&nbsp;wapEnabled(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/SparkUtil.html b/javadoc/org/apache/iceberg/spark/SparkUtil.html
index 87abdcf..fe36b5a 100644
--- a/javadoc/org/apache/iceberg/spark/SparkUtil.html
+++ b/javadoc/org/apache/iceberg/spark/SparkUtil.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -73,13 +73,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -115,25 +115,6 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkUtil.html#TIMESTAMP_WITHOUT_TIMEZONE_ERROR">TIMESTAMP_WITHOUT_TIMEZONE_ERROR</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -170,38 +151,33 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkUtil.html#hasTimestampWithoutZone-org.apache.iceberg.Schema-">hasTimestampWithoutZone</a></span>(<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema)</code>
-<div class="block">Responsible for checking if the table schema has a timestamp without timezone column</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
 <td class="colFirst"><code>static java.util.List&lt;org.apache.spark.sql.catalyst.expressions.Expression&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkUtil.html#partitionMapToExpression-org.apache.spark.sql.types.StructType-java.util.Map-">partitionMapToExpression</a></span>(org.apache.spark.sql.types.StructType&nbsp;schema,
                         java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;filters)</code>
 <div class="block">Get a List of Spark filter Expression.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkUtil.html#serializableFileIO-org.apache.iceberg.Table-">serializableFileIO</a></span>(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkUtil.html#toColumnName-org.apache.spark.sql.connector.expressions.NamedReference-">toColumnName</a></span>(org.apache.spark.sql.connector.expressions.NamedReference&nbsp;ref)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkUtil.html#useTimestampWithoutZoneInNewTables-org.apache.spark.sql.RuntimeConfig-">useTimestampWithoutZoneInNewTables</a></span>(org.apache.spark.sql.RuntimeConfig&nbsp;sessionConf)</code>
-<div class="block">Checks whether timestamp types for new tables should be stored with timezone info.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkUtil.html#validatePartitionTransforms-org.apache.iceberg.PartitionSpec-">validatePartitionTransforms</a></span>(<a href="../../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec)</code>
 <div class="block">Check whether the partition transforms in a spec can be used to write data.</div>
 </td>
 </tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkUtil.html#validateTimestampWithoutTimezoneConfig-org.apache.spark.sql.RuntimeConfig-">validateTimestampWithoutTimezoneConfig</a></span>(org.apache.spark.sql.RuntimeConfig&nbsp;conf)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkUtil.html#validateTimestampWithoutTimezoneConfig-org.apache.spark.sql.RuntimeConfig-java.util.Map-">validateTimestampWithoutTimezoneConfig</a></span>(org.apache.spark.sql.RuntimeConfig&nbsp;conf,
+                                      java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</code>
+<div class="block">Checks for properties both supplied by Spark's RuntimeConfig and the read or write options</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -218,38 +194,12 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="TIMESTAMP_WITHOUT_TIMEZONE_ERROR">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TIMESTAMP_WITHOUT_TIMEZONE_ERROR</h4>
-<pre>public static final&nbsp;java.lang.String TIMESTAMP_WITHOUT_TIMEZONE_ERROR</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="serializableFileIO-org.apache.iceberg.Table-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>serializableFileIO</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>&nbsp;serializableFileIO(<a href="../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
-</li>
-</ul>
 <a name="validatePartitionTransforms-org.apache.iceberg.PartitionSpec-">
 <!--   -->
 </a>
@@ -289,41 +239,6 @@
 </dl>
 </li>
 </ul>
-<a name="hasTimestampWithoutZone-org.apache.iceberg.Schema-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>hasTimestampWithoutZone</h4>
-<pre>public static&nbsp;boolean&nbsp;hasTimestampWithoutZone(<a href="../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;schema)</pre>
-<div class="block">Responsible for checking if the table schema has a timestamp without timezone column</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>schema</code> - table schema to check if it contains a timestamp without timezone column</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>boolean indicating if the schema passed in has a timestamp field without a timezone</dd>
-</dl>
-</li>
-</ul>
-<a name="useTimestampWithoutZoneInNewTables-org.apache.spark.sql.RuntimeConfig-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>useTimestampWithoutZoneInNewTables</h4>
-<pre>public static&nbsp;boolean&nbsp;useTimestampWithoutZoneInNewTables(org.apache.spark.sql.RuntimeConfig&nbsp;sessionConf)</pre>
-<div class="block">Checks whether timestamp types for new tables should be stored with timezone info.
-
- <p>The default value is false and all timestamp fields are stored as <code>Types.TimestampType#withZone()</code>. If enabled, all timestamp fields in new tables will be stored
- as <code>Types.TimestampType#withoutZone()</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sessionConf</code> - a Spark runtime config</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if timestamp types for new tables should be stored with timezone info</dd>
-</dl>
-</li>
-</ul>
 <a name="hadoopConfCatalogOverrides-org.apache.spark.sql.SparkSession-java.lang.String-">
 <!--   -->
 </a>
@@ -353,6 +268,31 @@
 </dl>
 </li>
 </ul>
+<a name="validateTimestampWithoutTimezoneConfig-org.apache.spark.sql.RuntimeConfig-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>validateTimestampWithoutTimezoneConfig</h4>
+<pre>public static&nbsp;void&nbsp;validateTimestampWithoutTimezoneConfig(org.apache.spark.sql.RuntimeConfig&nbsp;conf)</pre>
+</li>
+</ul>
+<a name="validateTimestampWithoutTimezoneConfig-org.apache.spark.sql.RuntimeConfig-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>validateTimestampWithoutTimezoneConfig</h4>
+<pre>public static&nbsp;void&nbsp;validateTimestampWithoutTimezoneConfig(org.apache.spark.sql.RuntimeConfig&nbsp;conf,
+                                                          java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</pre>
+<div class="block">Checks for properties both supplied by Spark's RuntimeConfig and the read or write options</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conf</code> - The RuntimeConfig of the active Spark session</dd>
+<dd><code>options</code> - The read or write options supplied when reading/writing a table</dd>
+</dl>
+</li>
+</ul>
 <a name="partitionMapToExpression-org.apache.spark.sql.types.StructType-java.util.Map-">
 <!--   -->
 </a>
@@ -443,13 +383,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/spark/SparkValueConverter.html b/javadoc/org/apache/iceberg/spark/SparkValueConverter.html
index 5afa5a4..3a5e5ff 100644
--- a/javadoc/org/apache/iceberg/spark/SparkValueConverter.html
+++ b/javadoc/org/apache/iceberg/spark/SparkValueConverter.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9};
+var methods = {"i0":9,"i1":9,"i2":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -138,6 +138,11 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkValueConverter.html#convert-org.apache.iceberg.types.Type-java.lang.Object-">convert</a></span>(<a href="../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>&nbsp;type,
        java.lang.Object&nbsp;object)</code>&nbsp;</td>
 </tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static java.lang.Object</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkValueConverter.html#convertToSpark-org.apache.iceberg.types.Type-java.lang.Object-">convertToSpark</a></span>(<a href="../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>&nbsp;type,
+              java.lang.Object&nbsp;object)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -173,13 +178,23 @@
 <a name="convert-org.apache.iceberg.types.Type-java.lang.Object-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>convert</h4>
 <pre>public static&nbsp;java.lang.Object&nbsp;convert(<a href="../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>&nbsp;type,
                                        java.lang.Object&nbsp;object)</pre>
 </li>
 </ul>
+<a name="convertToSpark-org.apache.iceberg.types.Type-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>convertToSpark</h4>
+<pre>public static&nbsp;java.lang.Object&nbsp;convertToSpark(<a href="../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>&nbsp;type,
+                                              java.lang.Object&nbsp;object)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/SparkWriteConf.html b/javadoc/org/apache/iceberg/spark/SparkWriteConf.html
index 0cf2479..c8b301e 100644
--- a/javadoc/org/apache/iceberg/spark/SparkWriteConf.html
+++ b/javadoc/org/apache/iceberg/spark/SparkWriteConf.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -185,87 +185,73 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#checkOrdering--">checkOrdering</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#copyOnWriteMergeDistributionMode--">copyOnWriteMergeDistributionMode</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#copyOnWriteRequirements-org.apache.spark.sql.connector.write.RowLevelOperation.Command-">copyOnWriteRequirements</a></span>(org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#dataFileFormat--">dataFileFormat</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#deleteDistributionMode--">deleteDistributionMode</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#deleteFileFormat--">deleteFileFormat</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#distributionMode--">distributionMode</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#extraSnapshotMetadata--">extraSnapshotMetadata</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#fanoutWriterEnabled--">fanoutWriterEnabled</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#handleTimestampWithoutZone--">handleTimestampWithoutZone</a></span>()</code>
-<div class="block">Enables writing a timestamp with time zone as a timestamp without time zone.</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/iceberg/IsolationLevel.html" title="enum in org.apache.iceberg">IsolationLevel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#isolationLevel--">isolationLevel</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#mergeSchema--">mergeSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#outputSpecId--">outputSpecId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#overwriteMode--">overwriteMode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code><a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#positionDeltaMergeDistributionMode--">positionDeltaMergeDistributionMode</a></span>()</code>&nbsp;</td>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#positionDeltaRequirements-org.apache.spark.sql.connector.write.RowLevelOperation.Command-">positionDeltaRequirements</a></span>(org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#rewrittenFileSetId--">rewrittenFileSetId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#targetDataFileSize--">targetDataFileSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#targetDeleteFileSize--">targetDeleteFileSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
-<td class="colFirst"><code><a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#updateDistributionMode--">updateDistributionMode</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i20" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#useTableDistributionAndOrdering--">useTableDistributionAndOrdering</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i21" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>java.lang.Long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#validateFromSnapshotId--">validateFromSnapshotId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#wapEnabled--">wapEnabled</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#wapId--">wapId</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html#writeRequirements--">writeRequirements</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -337,28 +323,6 @@
 <pre>public&nbsp;boolean&nbsp;checkOrdering()</pre>
 </li>
 </ul>
-<a name="handleTimestampWithoutZone--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>handleTimestampWithoutZone</h4>
-<pre>public&nbsp;boolean&nbsp;handleTimestampWithoutZone()</pre>
-<div class="block">Enables writing a timestamp with time zone as a timestamp without time zone.
-
- <p>Generally, this is not safe as a timestamp without time zone is supposed to represent the
- wall-clock time, i.e. no matter the reader/writer timezone 3PM should always be read as 3PM,
- but a timestamp with time zone represents instant semantics, i.e. the timestamp is adjusted so
- that the corresponding time in the reader timezone is displayed.
-
- <p>When set to false (default), an exception must be thrown if the table contains a timestamp
- without time zone.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>boolean indicating if writing timestamps without timezone is allowed</dd>
-</dl>
-</li>
-</ul>
 <a name="overwriteMode--">
 <!--   -->
 </a>
@@ -395,6 +359,15 @@
 <pre>public&nbsp;boolean&nbsp;mergeSchema()</pre>
 </li>
 </ul>
+<a name="outputSpecId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>outputSpecId</h4>
+<pre>public&nbsp;int&nbsp;outputSpecId()</pre>
+</li>
+</ul>
 <a name="dataFileFormat--">
 <!--   -->
 </a>
@@ -458,58 +431,31 @@
 <pre>public&nbsp;java.lang.String&nbsp;rewrittenFileSetId()</pre>
 </li>
 </ul>
-<a name="distributionMode--">
+<a name="writeRequirements--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>distributionMode</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;distributionMode()</pre>
+<h4>writeRequirements</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a>&nbsp;writeRequirements()</pre>
 </li>
 </ul>
-<a name="deleteDistributionMode--">
+<a name="copyOnWriteRequirements-org.apache.spark.sql.connector.write.RowLevelOperation.Command-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>deleteDistributionMode</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;deleteDistributionMode()</pre>
+<h4>copyOnWriteRequirements</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a>&nbsp;copyOnWriteRequirements(org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command)</pre>
 </li>
 </ul>
-<a name="updateDistributionMode--">
+<a name="positionDeltaRequirements-org.apache.spark.sql.connector.write.RowLevelOperation.Command-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>updateDistributionMode</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;updateDistributionMode()</pre>
-</li>
-</ul>
-<a name="copyOnWriteMergeDistributionMode--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>copyOnWriteMergeDistributionMode</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;copyOnWriteMergeDistributionMode()</pre>
-</li>
-</ul>
-<a name="positionDeltaMergeDistributionMode--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>positionDeltaMergeDistributionMode</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/iceberg/DistributionMode.html" title="enum in org.apache.iceberg">DistributionMode</a>&nbsp;positionDeltaMergeDistributionMode()</pre>
-</li>
-</ul>
-<a name="useTableDistributionAndOrdering--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>useTableDistributionAndOrdering</h4>
-<pre>public&nbsp;boolean&nbsp;useTableDistributionAndOrdering()</pre>
+<h4>positionDeltaRequirements</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a>&nbsp;positionDeltaRequirements(org.apache.spark.sql.connector.write.RowLevelOperation.Command&nbsp;command)</pre>
 </li>
 </ul>
 <a name="validateFromSnapshotId--">
diff --git a/javadoc/org/apache/iceberg/spark/SparkWriteOptions.html b/javadoc/org/apache/iceberg/spark/SparkWriteOptions.html
index 8b4fc82..5b79ea6 100644
--- a/javadoc/org/apache/iceberg/spark/SparkWriteOptions.html
+++ b/javadoc/org/apache/iceberg/spark/SparkWriteOptions.html
@@ -42,7 +42,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/SparkWriteOptions.html" target="_top">Frames</a></li>
@@ -144,7 +144,9 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
@@ -160,41 +162,45 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#OVERWRITE_MODE">OVERWRITE_MODE</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#OUTPUT_SPEC_ID">OUTPUT_SPEC_ID</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#OVERWRITE_MODE">OVERWRITE_MODE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#REWRITTEN_FILE_SCAN_TASK_SET_ID">REWRITTEN_FILE_SCAN_TASK_SET_ID</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#SNAPSHOT_PROPERTY_PREFIX">SNAPSHOT_PROPERTY_PREFIX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#SPARK_MERGE_SCHEMA">SPARK_MERGE_SCHEMA</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#TARGET_DELETE_FILE_SIZE_BYTES">TARGET_DELETE_FILE_SIZE_BYTES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#TARGET_FILE_SIZE_BYTES">TARGET_FILE_SIZE_BYTES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#USE_TABLE_DISTRIBUTION_AND_ORDERING">USE_TABLE_DISTRIBUTION_AND_ORDERING</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#USE_TABLE_DISTRIBUTION_AND_ORDERING_DEFAULT">USE_TABLE_DISTRIBUTION_AND_ORDERING_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#VALIDATE_FROM_SNAPSHOT_ID">VALIDATE_FROM_SNAPSHOT_ID</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html#WRITE_FORMAT">WRITE_FORMAT</a></span></code>&nbsp;</td>
 </tr>
@@ -351,13 +357,28 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</h4>
-<pre>public static final&nbsp;java.lang.String HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</pre>
+<pre>@Deprecated
+public static final&nbsp;java.lang.String HANDLE_TIMESTAMP_WITHOUT_TIMEZONE</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.iceberg.spark.SparkWriteOptions.HANDLE_TIMESTAMP_WITHOUT_TIMEZONE">Constant Field Values</a></dd>
 </dl>
 </li>
 </ul>
+<a name="OUTPUT_SPEC_ID">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>OUTPUT_SPEC_ID</h4>
+<pre>public static final&nbsp;java.lang.String OUTPUT_SPEC_ID</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.iceberg.spark.SparkWriteOptions.OUTPUT_SPEC_ID">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="OVERWRITE_MODE">
 <!--   -->
 </a>
@@ -503,7 +524,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/iceberg/spark/SparkWriteOptions.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html b/javadoc/org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html
index 0c35058..7f53798 100644
--- a/javadoc/org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html
+++ b/javadoc/org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html
@@ -131,7 +131,7 @@
 <!--   -->
 </a>
 <h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a></h3>
-<code><a href="../../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a>, <a href="../../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>, <a href="../../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></code></li>
+<code><a href="../../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupFailureResult</a>, <a href="../../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupInfo</a>, <a href="../../../../../org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>, <a href="../../../../../org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.Result</a></code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html b/javadoc/org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html
index 2c434fb..eb00d6c 100644
--- a/javadoc/org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html
+++ b/javadoc/org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SetAccumulator.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" target="_top">Frames</a></li>
@@ -842,7 +842,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SetAccumulator.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/actions/SetAccumulator.html b/javadoc/org/apache/iceberg/spark/actions/SetAccumulator.html
index c2713e7..0761c5b 100644
--- a/javadoc/org/apache/iceberg/spark/actions/SetAccumulator.html
+++ b/javadoc/org/apache/iceberg/spark/actions/SetAccumulator.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -334,7 +334,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/actions/SparkActions.html b/javadoc/org/apache/iceberg/spark/actions/SparkActions.html
index 0e389d3..7a9d0cd 100644
--- a/javadoc/org/apache/iceberg/spark/actions/SparkActions.html
+++ b/javadoc/org/apache/iceberg/spark/actions/SparkActions.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/actions/SparkActions.html" target="_top">Frames</a></li>
@@ -181,6 +181,12 @@
 </td>
 </tr>
 <tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkActions.html#rewritePositionDeletes-org.apache.iceberg.Table-">rewritePositionDeletes</a></span>(<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</code>
+<div class="block">Instantiates an action to rewrite position delete files</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">SnapshotTableSparkAction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkActions.html#snapshotTable-java.lang.String-">snapshotTable</a></span>(java.lang.String&nbsp;tableIdent)</code>
 <div class="block">Instantiates an action to snapshot an existing table as a new Iceberg table.</div>
@@ -319,7 +325,7 @@
 <a name="deleteReachableFiles-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>deleteReachableFiles</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/iceberg/spark/actions/DeleteReachableFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">DeleteReachableFilesSparkAction</a>&nbsp;deleteReachableFiles(java.lang.String&nbsp;metadataLocation)</pre>
@@ -331,6 +337,21 @@
 </dl>
 </li>
 </ul>
+<a name="rewritePositionDeletes-org.apache.iceberg.Table-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>rewritePositionDeletes</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a>&nbsp;rewritePositionDeletes(<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/ActionsProvider.html#rewritePositionDeletes-org.apache.iceberg.Table-">ActionsProvider</a></code></span></div>
+<div class="block">Instantiates an action to rewrite position delete files</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/iceberg/actions/ActionsProvider.html#rewritePositionDeletes-org.apache.iceberg.Table-">rewritePositionDeletes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions">ActionsProvider</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -359,7 +380,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/actions/SparkActions.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/actions/SparkBinPackStrategy.html b/javadoc/org/apache/iceberg/spark/actions/SparkBinPackStrategy.html
deleted file mode 100644
index bc66eb7..0000000
--- a/javadoc/org/apache/iceberg/spark/actions/SparkBinPackStrategy.html
+++ /dev/null
@@ -1,333 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>SparkBinPackStrategy</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SparkBinPackStrategy";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" target="_top">Frames</a></li>
-<li><a href="SparkBinPackStrategy.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.iceberg.actions.BinPackStrategy">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.iceberg.spark.actions</div>
-<h2 title="Class SparkBinPackStrategy" class="title">Class SparkBinPackStrategy</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BinPackStrategy</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.iceberg.spark.actions.SparkBinPackStrategy</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SparkBinPackStrategy</span>
-extends <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../serialized-form.html#org.apache.iceberg.spark.actions.SparkBinPackStrategy">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.iceberg.actions.BinPackStrategy">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></h3>
-<code><a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD">DELETE_FILE_THRESHOLD</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD_DEFAULT">DELETE_FILE_THRESHOLD_DEFAULT</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_BYTES">MAX_FILE_SIZE_BYTES</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_DEFAULT_RATIO">MAX_FILE_SIZE_DEFAULT_RATIO</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_BYTES">MIN_FILE_SIZE_BYTES</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_DEFAULT_RATIO">MIN_FILE_SIZE_DEFAULT_RATIO</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES">MIN_INPUT_FILES</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES_DEFAULT">MIN_INPUT_FILES_DEFAULT</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL">REWRITE_ALL</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL_DEFAULT">REWRITE_ALL_DEFAULT</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html#SparkBinPackStrategy-org.apache.iceberg.Table-org.apache.spark.sql.SparkSession-">SparkBinPackStrategy</a></span>(<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                    org.apache.spark.sql.SparkSession&nbsp;spark)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.util.Set&lt;<a href="../../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html#rewriteFiles-java.util.List-">rewriteFiles</a></span>(java.util.List&lt;<a href="../../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;filesToRewrite)</code>
-<div class="block">Method which will rewrite files based on this particular RewriteStrategy's algorithm.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html#table--">table</a></span>()</code>
-<div class="block">Returns the table being modified by this rewrite strategy</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.actions.BinPackStrategy">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></h3>
-<code><a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#inputFileSize-java.util.List-">inputFileSize</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#name--">name</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#numOutputFiles-long-">numOutputFiles</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#options-java.util.Map-">options</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#planFileGroups-java.lang.Iterable-">planFileGroups</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#selectFilesToRewrite-java.lang.Iterable-">selectFilesToRewrite</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#splitSize-long-">splitSize</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#targetFileSize--">targetFileSize</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#validOptions--">validOptions</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#writeMaxFileSize--">writeMaxFileSize</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SparkBinPackStrategy-org.apache.iceberg.Table-org.apache.spark.sql.SparkSession-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SparkBinPackStrategy</h4>
-<pre>public&nbsp;SparkBinPackStrategy(<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                            org.apache.spark.sql.SparkSession&nbsp;spark)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="table--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>table</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#table--">RewriteStrategy</a></code></span></div>
-<div class="block">Returns the table being modified by this rewrite strategy</div>
-</li>
-</ul>
-<a name="rewriteFiles-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>rewriteFiles</h4>
-<pre>public&nbsp;java.util.Set&lt;<a href="../../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;rewriteFiles(java.util.List&lt;<a href="../../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;filesToRewrite)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#rewriteFiles-java.util.List-">RewriteStrategy</a></code></span></div>
-<div class="block">Method which will rewrite files based on this particular RewriteStrategy's algorithm. This will
- most likely be Action framework specific (Spark/Presto/Flink ....).</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>filesToRewrite</code> - a group of files to be rewritten together</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a set of newly written files</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" target="_top">Frames</a></li>
-<li><a href="SparkBinPackStrategy.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.iceberg.actions.BinPackStrategy">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/iceberg/spark/actions/SparkSortStrategy.html b/javadoc/org/apache/iceberg/spark/actions/SparkSortStrategy.html
deleted file mode 100644
index 136fe0a..0000000
--- a/javadoc/org/apache/iceberg/spark/actions/SparkSortStrategy.html
+++ /dev/null
@@ -1,522 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>SparkSortStrategy</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SparkSortStrategy";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/iceberg/spark/actions/SparkSortStrategy.html" target="_top">Frames</a></li>
-<li><a href="SparkSortStrategy.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.iceberg.spark.actions</div>
-<h2 title="Class SparkSortStrategy" class="title">Class SparkSortStrategy</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BinPackStrategy</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.SortStrategy</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.iceberg.spark.actions.SparkSortStrategy</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dd>
-</dl>
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SparkSortStrategy</span>
-extends <a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../serialized-form.html#org.apache.iceberg.spark.actions.SparkSortStrategy">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#COMPRESSION_FACTOR">COMPRESSION_FACTOR</a></span></code>
-<div class="block">The number of shuffle partitions and consequently the number of output files created by the
- Spark Sort is based on the size of the input data files used in this rewrite operation.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.iceberg.actions.BinPackStrategy">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></h3>
-<code><a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD">DELETE_FILE_THRESHOLD</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD_DEFAULT">DELETE_FILE_THRESHOLD_DEFAULT</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_BYTES">MAX_FILE_SIZE_BYTES</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_DEFAULT_RATIO">MAX_FILE_SIZE_DEFAULT_RATIO</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_BYTES">MIN_FILE_SIZE_BYTES</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_DEFAULT_RATIO">MIN_FILE_SIZE_DEFAULT_RATIO</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES">MIN_INPUT_FILES</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES_DEFAULT">MIN_INPUT_FILES_DEFAULT</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL">REWRITE_ALL</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL_DEFAULT">REWRITE_ALL_DEFAULT</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#SparkSortStrategy-org.apache.iceberg.Table-org.apache.spark.sql.SparkSession-">SparkSortStrategy</a></span>(<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                 org.apache.spark.sql.SparkSession&nbsp;spark)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#manager--">manager</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#options-java.util.Map-">options</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</code>
-<div class="block">Sets options to be used with this strategy</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#rewriteCoordinator--">rewriteCoordinator</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;<a href="../../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#rewriteFiles-java.util.List-">rewriteFiles</a></span>(java.util.List&lt;<a href="../../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;filesToRewrite)</code>
-<div class="block">Method which will rewrite files based on this particular RewriteStrategy's algorithm.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>protected double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#sizeEstimateMultiple--">sizeEstimateMultiple</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>protected org.apache.spark.sql.catalyst.plans.logical.LogicalPlan</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#sortPlan-org.apache.spark.sql.connector.distributions.Distribution-org.apache.spark.sql.connector.expressions.SortOrder:A-org.apache.spark.sql.catalyst.plans.logical.LogicalPlan-org.apache.spark.sql.internal.SQLConf-">sortPlan</a></span>(org.apache.spark.sql.connector.distributions.Distribution&nbsp;distribution,
-        org.apache.spark.sql.connector.expressions.SortOrder[]&nbsp;ordering,
-        org.apache.spark.sql.catalyst.plans.logical.LogicalPlan&nbsp;plan,
-        org.apache.spark.sql.internal.SQLConf&nbsp;conf)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>protected org.apache.spark.sql.SparkSession</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#spark--">spark</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#table--">table</a></span>()</code>
-<div class="block">Returns the table being modified by this rewrite strategy</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/iceberg/spark/SparkTableCache.html" title="class in org.apache.iceberg.spark">SparkTableCache</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#tableCache--">tableCache</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#validOptions--">validOptions</a></span>()</code>
-<div class="block">Returns a set of options which this rewrite strategy can use.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.actions.SortStrategy">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></h3>
-<code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html#name--">name</a>, <a href="../../../../../org/apache/iceberg/actions/SortStrategy.html#sortOrder--">sortOrder</a>, <a href="../../../../../org/apache/iceberg/actions/SortStrategy.html#sortOrder-org.apache.iceberg.SortOrder-">sortOrder</a>, <a href="../../../../../org/apache/iceberg/actions/SortStrategy.html#validateOptions--">validateOptions</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.actions.BinPackStrategy">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></h3>
-<code><a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#inputFileSize-java.util.List-">inputFileSize</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#numOutputFiles-long-">numOutputFiles</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#planFileGroups-java.lang.Iterable-">planFileGroups</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#selectFilesToRewrite-java.lang.Iterable-">selectFilesToRewrite</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#splitSize-long-">splitSize</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#targetFileSize--">targetFileSize</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#writeMaxFileSize--">writeMaxFileSize</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="COMPRESSION_FACTOR">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>COMPRESSION_FACTOR</h4>
-<pre>public static final&nbsp;java.lang.String COMPRESSION_FACTOR</pre>
-<div class="block">The number of shuffle partitions and consequently the number of output files created by the
- Spark Sort is based on the size of the input data files used in this rewrite operation. Due to
- compression, the disk file sizes may not accurately represent the size of files in the output.
- This parameter lets the user adjust the file size used for estimating actual output data size.
- A factor greater than 1.0 would generate more files than we would expect based on the on-disk
- file size. A value less than 1.0 would create fewer files than we would expect due to the
- on-disk size.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.iceberg.spark.actions.SparkSortStrategy.COMPRESSION_FACTOR">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SparkSortStrategy-org.apache.iceberg.Table-org.apache.spark.sql.SparkSession-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SparkSortStrategy</h4>
-<pre>public&nbsp;SparkSortStrategy(<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                         org.apache.spark.sql.SparkSession&nbsp;spark)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="table--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>table</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#table--">RewriteStrategy</a></code></span></div>
-<div class="block">Returns the table being modified by this rewrite strategy</div>
-</li>
-</ul>
-<a name="validOptions--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validOptions</h4>
-<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;validOptions()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#validOptions--">RewriteStrategy</a></code></span></div>
-<div class="block">Returns a set of options which this rewrite strategy can use. This is an allowed-list and any
- options not specified here will be rejected at runtime.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#validOptions--">validOptions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html#validOptions--">validOptions</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="options-java.util.Map-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>options</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a>&nbsp;options(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#options-java.util.Map-">RewriteStrategy</a></code></span></div>
-<div class="block">Sets options to be used with this strategy</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#options-java.util.Map-">options</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html#options-java.util.Map-">options</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="rewriteFiles-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rewriteFiles</h4>
-<pre>public&nbsp;java.util.Set&lt;<a href="../../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;rewriteFiles(java.util.List&lt;<a href="../../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;filesToRewrite)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#rewriteFiles-java.util.List-">RewriteStrategy</a></code></span></div>
-<div class="block">Method which will rewrite files based on this particular RewriteStrategy's algorithm. This will
- most likely be Action framework specific (Spark/Presto/Flink ....).</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>filesToRewrite</code> - a group of files to be rewritten together</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a set of newly written files</dd>
-</dl>
-</li>
-</ul>
-<a name="spark--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>spark</h4>
-<pre>protected&nbsp;org.apache.spark.sql.SparkSession&nbsp;spark()</pre>
-</li>
-</ul>
-<a name="sortPlan-org.apache.spark.sql.connector.distributions.Distribution-org.apache.spark.sql.connector.expressions.SortOrder:A-org.apache.spark.sql.catalyst.plans.logical.LogicalPlan-org.apache.spark.sql.internal.SQLConf-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>sortPlan</h4>
-<pre>protected&nbsp;org.apache.spark.sql.catalyst.plans.logical.LogicalPlan&nbsp;sortPlan(org.apache.spark.sql.connector.distributions.Distribution&nbsp;distribution,
-                                                                           org.apache.spark.sql.connector.expressions.SortOrder[]&nbsp;ordering,
-                                                                           org.apache.spark.sql.catalyst.plans.logical.LogicalPlan&nbsp;plan,
-                                                                           org.apache.spark.sql.internal.SQLConf&nbsp;conf)</pre>
-</li>
-</ul>
-<a name="sizeEstimateMultiple--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>sizeEstimateMultiple</h4>
-<pre>protected&nbsp;double&nbsp;sizeEstimateMultiple()</pre>
-</li>
-</ul>
-<a name="tableCache--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tableCache</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/iceberg/spark/SparkTableCache.html" title="class in org.apache.iceberg.spark">SparkTableCache</a>&nbsp;tableCache()</pre>
-</li>
-</ul>
-<a name="manager--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>manager</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a>&nbsp;manager()</pre>
-</li>
-</ul>
-<a name="rewriteCoordinator--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>rewriteCoordinator</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a>&nbsp;rewriteCoordinator()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/iceberg/spark/actions/SparkSortStrategy.html" target="_top">Frames</a></li>
-<li><a href="SparkSortStrategy.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/iceberg/spark/actions/SparkZOrderStrategy.html b/javadoc/org/apache/iceberg/spark/actions/SparkZOrderStrategy.html
deleted file mode 100644
index e556951..0000000
--- a/javadoc/org/apache/iceberg/spark/actions/SparkZOrderStrategy.html
+++ /dev/null
@@ -1,457 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>SparkZOrderStrategy</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SparkZOrderStrategy";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" target="_top">Frames</a></li>
-<li><a href="SparkZOrderStrategy.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.iceberg.spark.actions.SparkSortStrategy">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.iceberg.spark.actions</div>
-<h2 title="Class SparkZOrderStrategy" class="title">Class SparkZOrderStrategy</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.BinPackStrategy</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">org.apache.iceberg.actions.SortStrategy</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">org.apache.iceberg.spark.actions.SparkSortStrategy</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.iceberg.spark.actions.SparkZOrderStrategy</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SparkZOrderStrategy</span>
-extends <a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../serialized-form.html#org.apache.iceberg.spark.actions.SparkZOrderStrategy">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.iceberg.spark.actions.SparkSortStrategy">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></h3>
-<code><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#COMPRESSION_FACTOR">COMPRESSION_FACTOR</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.iceberg.actions.BinPackStrategy">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></h3>
-<code><a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD">DELETE_FILE_THRESHOLD</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#DELETE_FILE_THRESHOLD_DEFAULT">DELETE_FILE_THRESHOLD_DEFAULT</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_BYTES">MAX_FILE_SIZE_BYTES</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MAX_FILE_SIZE_DEFAULT_RATIO">MAX_FILE_SIZE_DEFAULT_RATIO</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_BYTES">MIN_FILE_SIZE_BYTES</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_FILE_SIZE_DEFAULT_RATIO">MIN_FILE_SIZE_DEFAULT_RATIO</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES">MIN_INPUT_FILES</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#MIN_INPUT_FILES_DEFAULT">MIN_INPUT_FILES_DEFAULT</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL">REWRITE_ALL</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#REWRITE_ALL_DEFAULT">REWRITE_ALL_DEFAULT</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#SparkZOrderStrategy-org.apache.iceberg.Table-org.apache.spark.sql.SparkSession-java.util.List-">SparkZOrderStrategy</a></span>(<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                   org.apache.spark.sql.SparkSession&nbsp;spark,
-                   java.util.List&lt;java.lang.String&gt;&nbsp;zOrderColNames)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#name--">name</a></span>()</code>
-<div class="block">Returns the name of this rewrite strategy</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#options-java.util.Map-">options</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</code>
-<div class="block">Sets options to be used with this strategy</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>java.util.Set&lt;<a href="../../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#rewriteFiles-java.util.List-">rewriteFiles</a></span>(java.util.List&lt;<a href="../../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;filesToRewrite)</code>
-<div class="block">Method which will rewrite files based on this particular RewriteStrategy's algorithm.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#sortOrder--">sortOrder</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#validateOptions--">validateOptions</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html#validOptions--">validOptions</a></span>()</code>
-<div class="block">Returns a set of options which this rewrite strategy can use.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.spark.actions.SparkSortStrategy">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></h3>
-<code><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#manager--">manager</a>, <a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#rewriteCoordinator--">rewriteCoordinator</a>, <a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#sizeEstimateMultiple--">sizeEstimateMultiple</a>, <a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#sortPlan-org.apache.spark.sql.connector.distributions.Distribution-org.apache.spark.sql.connector.expressions.SortOrder:A-org.apache.spark.sql.catalyst.plans.logical.LogicalPlan-org.apache.spark.sql.internal.SQLConf-">sortPlan</a>, <a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#spark--">spark</a>, <a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#table--">table</a>, <a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#tableCache--">tableCache</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.actions.SortStrategy">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></h3>
-<code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html#sortOrder-org.apache.iceberg.SortOrder-">sortOrder</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.iceberg.actions.BinPackStrategy">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a></h3>
-<code><a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#inputFileSize-java.util.List-">inputFileSize</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#numOutputFiles-long-">numOutputFiles</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#planFileGroups-java.lang.Iterable-">planFileGroups</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#selectFilesToRewrite-java.lang.Iterable-">selectFilesToRewrite</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#splitSize-long-">splitSize</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#targetFileSize--">targetFileSize</a>, <a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html#writeMaxFileSize--">writeMaxFileSize</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SparkZOrderStrategy-org.apache.iceberg.Table-org.apache.spark.sql.SparkSession-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SparkZOrderStrategy</h4>
-<pre>public&nbsp;SparkZOrderStrategy(<a href="../../../../../org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a>&nbsp;table,
-                           org.apache.spark.sql.SparkSession&nbsp;spark,
-                           java.util.List&lt;java.lang.String&gt;&nbsp;zOrderColNames)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="validOptions--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validOptions</h4>
-<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;validOptions()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#validOptions--">RewriteStrategy</a></code></span></div>
-<div class="block">Returns a set of options which this rewrite strategy can use. This is an allowed-list and any
- options not specified here will be rejected at runtime.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#validOptions--">validOptions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#validOptions--">validOptions</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="options-java.util.Map-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>options</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a>&nbsp;options(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;options)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#options-java.util.Map-">RewriteStrategy</a></code></span></div>
-<div class="block">Sets options to be used with this strategy</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#options-java.util.Map-">options</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#options-java.util.Map-">options</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="name--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>name</h4>
-<pre>public&nbsp;java.lang.String&nbsp;name()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#name--">RewriteStrategy</a></code></span></div>
-<div class="block">Returns the name of this rewrite strategy</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#name--">name</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html#name--">name</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="validateOptions--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>validateOptions</h4>
-<pre>protected&nbsp;void&nbsp;validateOptions()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html#validateOptions--">validateOptions</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="rewriteFiles-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rewriteFiles</h4>
-<pre>public&nbsp;java.util.Set&lt;<a href="../../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>&gt;&nbsp;rewriteFiles(java.util.List&lt;<a href="../../../../../org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>&gt;&nbsp;filesToRewrite)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#rewriteFiles-java.util.List-">RewriteStrategy</a></code></span></div>
-<div class="block">Method which will rewrite files based on this particular RewriteStrategy's algorithm. This will
- most likely be Action framework specific (Spark/Presto/Flink ....).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html#rewriteFiles-java.util.List-">rewriteFiles</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html#rewriteFiles-java.util.List-">rewriteFiles</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>filesToRewrite</code> - a group of files to be rewritten together</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a set of newly written files</dd>
-</dl>
-</li>
-</ul>
-<a name="sortOrder--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>sortOrder</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a>&nbsp;sortOrder()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html#sortOrder--">sortOrder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" target="_top">Frames</a></li>
-<li><a href="SparkZOrderStrategy.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.iceberg.spark.actions.SparkSortStrategy">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/iceberg/spark/actions/package-frame.html b/javadoc/org/apache/iceberg/spark/actions/package-frame.html
index 84bca27..d2bbfb8 100644
--- a/javadoc/org/apache/iceberg/spark/actions/package-frame.html
+++ b/javadoc/org/apache/iceberg/spark/actions/package-frame.html
@@ -21,12 +21,10 @@
 <li><a href="MigrateTableSparkAction.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">MigrateTableSparkAction</a></li>
 <li><a href="RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">RewriteDataFilesSparkAction</a></li>
 <li><a href="RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">RewriteManifestsSparkAction</a></li>
+<li><a href="RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">RewritePositionDeleteFilesSparkAction</a></li>
 <li><a href="SetAccumulator.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">SetAccumulator</a></li>
 <li><a href="SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">SnapshotTableSparkAction</a></li>
 <li><a href="SparkActions.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">SparkActions</a></li>
-<li><a href="SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">SparkBinPackStrategy</a></li>
-<li><a href="SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">SparkSortStrategy</a></li>
-<li><a href="SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions" target="classFrame">SparkZOrderStrategy</a></li>
 </ul>
 </div>
 </body>
diff --git a/javadoc/org/apache/iceberg/spark/actions/package-summary.html b/javadoc/org/apache/iceberg/spark/actions/package-summary.html
index 62f2d28..a666ac9 100644
--- a/javadoc/org/apache/iceberg/spark/actions/package-summary.html
+++ b/javadoc/org/apache/iceberg/spark/actions/package-summary.html
@@ -132,33 +132,27 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions">RewritePositionDeleteFilesSparkAction</a></td>
+<td class="colLast">
+<div class="block">Spark implementation of <a href="../../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions"><code>RewritePositionDeleteFiles</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/actions/SetAccumulator.html" title="class in org.apache.iceberg.spark.actions">SetAccumulator</a>&lt;T&gt;</td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions">SnapshotTableSparkAction</a></td>
 <td class="colLast">
 <div class="block">Creates a new Iceberg table based on a source Spark table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions">SparkActions</a></td>
 <td class="colLast">
 <div class="block">An implementation of <a href="../../../../../org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions"><code>ActionsProvider</code></a> for Spark.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkBinPackStrategy</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkZOrderStrategy</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/actions/package-tree.html b/javadoc/org/apache/iceberg/spark/actions/package-tree.html
index 9670016..c3e3ab1 100644
--- a/javadoc/org/apache/iceberg/spark/actions/package-tree.html
+++ b/javadoc/org/apache/iceberg/spark/actions/package-tree.html
@@ -84,20 +84,6 @@
 <li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/SetAccumulator.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SetAccumulator</span></a>&lt;T&gt;</li>
 </ul>
 </li>
-<li type="circle">org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BinPackStrategy</span></a> (implements org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a>)
-<ul>
-<li type="circle">org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SortStrategy</span></a>
-<ul>
-<li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SparkSortStrategy</span></a>
-<ul>
-<li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SparkZOrderStrategy</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SparkBinPackStrategy</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/DeleteOrphanFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">DeleteOrphanFilesSparkAction</span></a> (implements org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/DeleteOrphanFiles.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles</a>)</li>
 <li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/DeleteOrphanFilesSparkAction.FileURI.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">DeleteOrphanFilesSparkAction.FileURI</span></a></li>
 <li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/DeleteReachableFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">DeleteReachableFilesSparkAction</span></a> (implements org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/DeleteReachableFiles.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles</a>)</li>
@@ -107,6 +93,7 @@
 <li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/MigrateTableSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">MigrateTableSparkAction</span></a> (implements org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/MigrateTable.html" title="interface in org.apache.iceberg.actions">MigrateTable</a>)</li>
 <li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">RewriteDataFilesSparkAction</span></a> (implements org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>)</li>
 <li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">RewriteManifestsSparkAction</span></a> (implements org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions">RewriteManifests</a>)</li>
+<li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">RewritePositionDeleteFilesSparkAction</span></a> (implements org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a>)</li>
 <li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/SnapshotTableSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SnapshotTableSparkAction</span></a> (implements org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/SnapshotTable.html" title="interface in org.apache.iceberg.actions">SnapshotTable</a>)</li>
 <li type="circle">org.apache.iceberg.spark.actions.<a href="../../../../../org/apache/iceberg/spark/actions/SparkActions.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SparkActions</span></a> (implements org.apache.iceberg.actions.<a href="../../../../../org/apache/iceberg/actions/ActionsProvider.html" title="interface in org.apache.iceberg.actions">ActionsProvider</a>)</li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/spark/data/SparkOrcValueReaders.html b/javadoc/org/apache/iceberg/spark/data/SparkOrcValueReaders.html
index 606e0e4..ad8cf4e 100644
--- a/javadoc/org/apache/iceberg/spark/data/SparkOrcValueReaders.html
+++ b/javadoc/org/apache/iceberg/spark/data/SparkOrcValueReaders.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -140,6 +140,10 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/iceberg/orc/OrcValueReader.html" title="interface in org.apache.iceberg.orc">OrcValueReader</a>&lt;org.apache.spark.unsafe.types.UTF8String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/data/SparkOrcValueReaders.html#utf8String--">utf8String</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/iceberg/orc/OrcValueReader.html" title="interface in org.apache.iceberg.orc">OrcValueReader</a>&lt;org.apache.spark.unsafe.types.UTF8String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/data/SparkOrcValueReaders.html#uuids--">uuids</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -171,6 +175,15 @@
 <pre>public static&nbsp;<a href="../../../../../org/apache/iceberg/orc/OrcValueReader.html" title="interface in org.apache.iceberg.orc">OrcValueReader</a>&lt;org.apache.spark.unsafe.types.UTF8String&gt;&nbsp;utf8String()</pre>
 </li>
 </ul>
+<a name="uuids--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>uuids</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/iceberg/orc/OrcValueReader.html" title="interface in org.apache.iceberg.orc">OrcValueReader</a>&lt;org.apache.spark.unsafe.types.UTF8String&gt;&nbsp;uuids()</pre>
+</li>
+</ul>
 <a name="timestampTzs--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html b/javadoc/org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html
index cb9e956..f762e2c 100644
--- a/javadoc/org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html
+++ b/javadoc/org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":41,"i1":41,"i2":41,"i3":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -122,49 +122,13 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-">buildReader</a></span>(<a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;expectedSchema,
-           org.apache.parquet.schema.MessageType&nbsp;fileSchema,
-           boolean&nbsp;setArrowValidityVector)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="../../../../../../org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-java.util.Map-">buildReader</a></span>(<a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;expectedSchema,
-           org.apache.parquet.schema.MessageType&nbsp;fileSchema,
-           boolean&nbsp;setArrowValidityVector,
-           java.util.Map&lt;java.lang.Integer,?&gt;&nbsp;idToConstant)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="../../../../../../org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-java.util.Map-org.apache.iceberg.data.DeleteFilter-">buildReader</a></span>(<a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;expectedSchema,
-           org.apache.parquet.schema.MessageType&nbsp;fileSchema,
-           boolean&nbsp;setArrowValidityVector,
-           java.util.Map&lt;java.lang.Integer,?&gt;&nbsp;idToConstant,
-           <a href="../../../../../../org/apache/iceberg/data/DeleteFilter.html" title="class in org.apache.iceberg.data">DeleteFilter</a>&lt;org.apache.spark.sql.catalyst.InternalRow&gt;&nbsp;deleteFilter)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="../../../../../../org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-">buildReader</a></span>(<a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;expectedSchema,
            org.apache.parquet.schema.MessageType&nbsp;fileSchema,
            java.util.Map&lt;java.lang.Integer,?&gt;&nbsp;idToConstant,
@@ -192,51 +156,6 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildReader</h4>
-<pre>@Deprecated
-public static&nbsp;<a href="../../../../../../org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a>&nbsp;buildReader(<a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;expectedSchema,
-                                                          org.apache.parquet.schema.MessageType&nbsp;fileSchema,
-                                                          boolean&nbsp;setArrowValidityVector)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0, use <a href="../../../../../../org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</li>
-</ul>
-<a name="buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-java.util.Map-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildReader</h4>
-<pre>@Deprecated
-public static&nbsp;<a href="../../../../../../org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a>&nbsp;buildReader(<a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;expectedSchema,
-                                                          org.apache.parquet.schema.MessageType&nbsp;fileSchema,
-                                                          boolean&nbsp;setArrowValidityVector,
-                                                          java.util.Map&lt;java.lang.Integer,?&gt;&nbsp;idToConstant)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0, use <a href="../../../../../../org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</li>
-</ul>
-<a name="buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-boolean-java.util.Map-org.apache.iceberg.data.DeleteFilter-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildReader</h4>
-<pre>@Deprecated
-public static&nbsp;<a href="../../../../../../org/apache/iceberg/spark/data/vectorized/ColumnarBatchReader.html" title="class in org.apache.iceberg.spark.data.vectorized">ColumnarBatchReader</a>&nbsp;buildReader(<a href="../../../../../../org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a>&nbsp;expectedSchema,
-                                                          org.apache.parquet.schema.MessageType&nbsp;fileSchema,
-                                                          boolean&nbsp;setArrowValidityVector,
-                                                          java.util.Map&lt;java.lang.Integer,?&gt;&nbsp;idToConstant,
-                                                          <a href="../../../../../../org/apache/iceberg/data/DeleteFilter.html" title="class in org.apache.iceberg.data">DeleteFilter</a>&lt;org.apache.spark.sql.catalyst.InternalRow&gt;&nbsp;deleteFilter)</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">will be removed in 1.3.0, use <a href="../../../../../../org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.html#buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-"><code>buildReader(Schema, MessageType, Map,
-     DeleteFilter)</code></a> instead.</span></div>
-</li>
-</ul>
 <a name="buildReader-org.apache.iceberg.Schema-org.apache.parquet.schema.MessageType-java.util.Map-org.apache.iceberg.data.DeleteFilter-">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html b/javadoc/org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html
index df38a51..ef487d0 100644
--- a/javadoc/org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" target="_top">Frames</a></li>
@@ -297,7 +297,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html b/javadoc/org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html
index caf4fc3..de1b2cf 100644
--- a/javadoc/org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -296,7 +296,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/functions/DaysFunction.html b/javadoc/org/apache/iceberg/spark/functions/DaysFunction.html
index 722175e..a614e3e 100644
--- a/javadoc/org/apache/iceberg/spark/functions/DaysFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/DaysFunction.html
@@ -144,6 +144,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampNtzToDaysFunction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampToDaysFunction</a></span></code>&nbsp;</td>
 </tr>
 </table>
diff --git a/javadoc/org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html b/javadoc/org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html
index b016259..8e4b5fa 100644
--- a/javadoc/org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/functions/IcebergVersionFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -343,7 +343,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/functions/IcebergVersionFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/functions/HoursFunction.html b/javadoc/org/apache/iceberg/spark/functions/HoursFunction.html
index bc4c274..24cd9d8 100644
--- a/javadoc/org/apache/iceberg/spark/functions/HoursFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/HoursFunction.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/functions/HoursFunction.html" target="_top">Frames</a></li>
@@ -140,6 +140,10 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampNtzToHoursFunction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampToHoursFunction</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -297,7 +301,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/functions/HoursFunction.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html b/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html
index ff0ed08..a816576 100644
--- a/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" target="_top">Frames</a></li>
@@ -297,7 +297,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html b/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html
index 5c1ad74..ad48e00 100644
--- a/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/functions/SparkFunctions.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -296,7 +296,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/functions/SparkFunctions.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.html b/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.html
index acb3386..4b0cc41 100644
--- a/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/MonthsFunction.html
@@ -144,6 +144,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampNtzToMonthsFunction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampToMonthsFunction</a></span></code>&nbsp;</td>
 </tr>
 </table>
diff --git a/javadoc/org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html b/javadoc/org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html
index fd8202a..2a52299 100644
--- a/javadoc/org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" target="_top">Frames</a></li>
@@ -297,7 +297,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html b/javadoc/org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html
index 4e8c382..ec978de 100644
--- a/javadoc/org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
@@ -296,7 +296,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/functions/YearsFunction.html b/javadoc/org/apache/iceberg/spark/functions/YearsFunction.html
index ee1b392..c6ecca5 100644
--- a/javadoc/org/apache/iceberg/spark/functions/YearsFunction.html
+++ b/javadoc/org/apache/iceberg/spark/functions/YearsFunction.html
@@ -144,6 +144,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampNtzToYearsFunction</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampToYearsFunction</a></span></code>&nbsp;</td>
 </tr>
 </table>
diff --git a/javadoc/org/apache/iceberg/spark/functions/package-frame.html b/javadoc/org/apache/iceberg/spark/functions/package-frame.html
index 8ea6364..9c2bb3f 100644
--- a/javadoc/org/apache/iceberg/spark/functions/package-frame.html
+++ b/javadoc/org/apache/iceberg/spark/functions/package-frame.html
@@ -21,12 +21,15 @@
 <li><a href="BucketFunction.BucketString.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">BucketFunction.BucketString</a></li>
 <li><a href="DaysFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">DaysFunction</a></li>
 <li><a href="DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">DaysFunction.DateToDaysFunction</a></li>
+<li><a href="DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">DaysFunction.TimestampNtzToDaysFunction</a></li>
 <li><a href="DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">DaysFunction.TimestampToDaysFunction</a></li>
 <li><a href="HoursFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">HoursFunction</a></li>
+<li><a href="HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">HoursFunction.TimestampNtzToHoursFunction</a></li>
 <li><a href="HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">HoursFunction.TimestampToHoursFunction</a></li>
 <li><a href="IcebergVersionFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">IcebergVersionFunction</a></li>
 <li><a href="MonthsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">MonthsFunction</a></li>
 <li><a href="MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">MonthsFunction.DateToMonthsFunction</a></li>
+<li><a href="MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">MonthsFunction.TimestampNtzToMonthsFunction</a></li>
 <li><a href="MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">MonthsFunction.TimestampToMonthsFunction</a></li>
 <li><a href="SparkFunctions.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">SparkFunctions</a></li>
 <li><a href="TruncateFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">TruncateFunction</a></li>
@@ -40,6 +43,7 @@
 <li><a href="TruncateFunction.TruncateTinyInt.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">TruncateFunction.TruncateTinyInt</a></li>
 <li><a href="YearsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">YearsFunction</a></li>
 <li><a href="YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">YearsFunction.DateToYearsFunction</a></li>
+<li><a href="YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">YearsFunction.TimestampNtzToYearsFunction</a></li>
 <li><a href="YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions" target="classFrame">YearsFunction.TimestampToYearsFunction</a></li>
 </ul>
 </div>
diff --git a/javadoc/org/apache/iceberg/spark/functions/package-summary.html b/javadoc/org/apache/iceberg/spark/functions/package-summary.html
index 7443ced..4491b9f 100644
--- a/javadoc/org/apache/iceberg/spark/functions/package-summary.html
+++ b/javadoc/org/apache/iceberg/spark/functions/package-summary.html
@@ -121,15 +121,23 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampToDaysFunction</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampNtzToDaysFunction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">DaysFunction.TimestampToDaysFunction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction</a></td>
 <td class="colLast">
 <div class="block">A Spark function implementation for the Iceberg hour transform.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampNtzToHoursFunction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">HoursFunction.TimestampToHoursFunction</a></td>
 <td class="colLast">&nbsp;</td>
@@ -151,61 +159,69 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampToMonthsFunction</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampNtzToMonthsFunction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/SparkFunctions.html" title="class in org.apache.iceberg.spark.functions">SparkFunctions</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">MonthsFunction.TimestampToMonthsFunction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/SparkFunctions.html" title="class in org.apache.iceberg.spark.functions">SparkFunctions</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/TruncateFunction.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction</a></td>
 <td class="colLast">
 <div class="block">A Spark function implementation for the Iceberg truncate transform.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/TruncateFunction.TruncateBase.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateBase</a>&lt;T&gt;</td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/TruncateFunction.TruncateBigInt.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateBigInt</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/TruncateFunction.TruncateBinary.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateBinary</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/TruncateFunction.TruncateDecimal.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateDecimal</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/TruncateFunction.TruncateInt.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateInt</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/TruncateFunction.TruncateSmallInt.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateSmallInt</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/TruncateFunction.TruncateString.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateString</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/TruncateFunction.TruncateTinyInt.html" title="class in org.apache.iceberg.spark.functions">TruncateFunction.TruncateTinyInt</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction</a></td>
 <td class="colLast">
 <div class="block">A Spark function implementation for the Iceberg year transform.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.DateToYearsFunction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampNtzToYearsFunction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">YearsFunction.TimestampToYearsFunction</a></td>
 <td class="colLast">&nbsp;</td>
diff --git a/javadoc/org/apache/iceberg/spark/functions/package-tree.html b/javadoc/org/apache/iceberg/spark/functions/package-tree.html
index 05e1dc9..c52e025 100644
--- a/javadoc/org/apache/iceberg/spark/functions/package-tree.html
+++ b/javadoc/org/apache/iceberg/spark/functions/package-tree.html
@@ -91,12 +91,15 @@
 </li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction.DateToDaysFunction</span></a></li>
+<li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction.TimestampNtzToDaysFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction.TimestampToDaysFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">HoursFunction</span></a></li>
+<li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">HoursFunction.TimestampNtzToHoursFunction</span></a> (implements org.apache.spark.sql.connector.catalog.functions.ScalarFunction&lt;R&gt;)</li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">HoursFunction.TimestampToHoursFunction</span></a> (implements org.apache.spark.sql.connector.catalog.functions.ScalarFunction&lt;R&gt;)</li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/IcebergVersionFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">IcebergVersionFunction</span></a> (implements org.apache.spark.sql.connector.catalog.functions.UnboundFunction)</li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction.DateToMonthsFunction</span></a></li>
+<li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction.TimestampNtzToMonthsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction.TimestampToMonthsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/SparkFunctions.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">SparkFunctions</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/TruncateFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">TruncateFunction</span></a> (implements org.apache.spark.sql.connector.catalog.functions.UnboundFunction)</li>
@@ -113,6 +116,7 @@
 </li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction.DateToYearsFunction</span></a></li>
+<li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction.TimestampNtzToYearsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="../../../../../org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction.TimestampToYearsFunction</span></a></li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/package-frame.html b/javadoc/org/apache/iceberg/spark/package-frame.html
index 17967d7..dbc6b31 100644
--- a/javadoc/org/apache/iceberg/spark/package-frame.html
+++ b/javadoc/org/apache/iceberg/spark/package-frame.html
@@ -18,13 +18,14 @@
 <ul title="Classes">
 <li><a href="ChangelogIterator.html" title="class in org.apache.iceberg.spark" target="classFrame">ChangelogIterator</a></li>
 <li><a href="CommitMetadata.html" title="class in org.apache.iceberg.spark" target="classFrame">CommitMetadata</a></li>
+<li><a href="ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark" target="classFrame">ComputeUpdateIterator</a></li>
 <li><a href="ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark" target="classFrame">ExtendedParser.RawOrderField</a></li>
 <li><a href="FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark" target="classFrame">FileRewriteCoordinator</a></li>
-<li><a href="FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark" target="classFrame">FileScanTaskSetManager</a></li>
 <li><a href="IcebergSpark.html" title="class in org.apache.iceberg.spark" target="classFrame">IcebergSpark</a></li>
 <li><a href="JobGroupInfo.html" title="class in org.apache.iceberg.spark" target="classFrame">JobGroupInfo</a></li>
 <li><a href="JobGroupUtils.html" title="class in org.apache.iceberg.spark" target="classFrame">JobGroupUtils</a></li>
 <li><a href="PathIdentifier.html" title="class in org.apache.iceberg.spark" target="classFrame">PathIdentifier</a></li>
+<li><a href="PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark" target="classFrame">PositionDeletesRewriteCoordinator</a></li>
 <li><a href="PruneColumnsWithoutReordering.html" title="class in org.apache.iceberg.spark" target="classFrame">PruneColumnsWithoutReordering</a></li>
 <li><a href="PruneColumnsWithReordering.html" title="class in org.apache.iceberg.spark" target="classFrame">PruneColumnsWithReordering</a></li>
 <li><a href="RollbackStagedTable.html" title="class in org.apache.iceberg.spark" target="classFrame">RollbackStagedTable</a></li>
@@ -36,9 +37,9 @@
 <li><a href="SparkCachedTableCatalog.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkCachedTableCatalog</a></li>
 <li><a href="SparkCatalog.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkCatalog</a></li>
 <li><a href="SparkDataFile.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkDataFile</a></li>
-<li><a href="SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkDistributionAndOrderingUtil</a></li>
 <li><a href="SparkExceptionUtil.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkExceptionUtil</a></li>
 <li><a href="SparkFilters.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkFilters</a></li>
+<li><a href="SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkFunctionCatalog</a></li>
 <li><a href="SparkReadConf.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkReadConf</a></li>
 <li><a href="SparkReadOptions.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkReadOptions</a></li>
 <li><a href="SparkSchemaUtil.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkSchemaUtil</a></li>
@@ -53,6 +54,8 @@
 <li><a href="SparkValueConverter.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkValueConverter</a></li>
 <li><a href="SparkWriteConf.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkWriteConf</a></li>
 <li><a href="SparkWriteOptions.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkWriteOptions</a></li>
+<li><a href="SparkWriteRequirements.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkWriteRequirements</a></li>
+<li><a href="SparkWriteUtil.html" title="class in org.apache.iceberg.spark" target="classFrame">SparkWriteUtil</a></li>
 </ul>
 </div>
 </body>
diff --git a/javadoc/org/apache/iceberg/spark/package-summary.html b/javadoc/org/apache/iceberg/spark/package-summary.html
index 01ab99b..c9dbbeb 100644
--- a/javadoc/org/apache/iceberg/spark/package-summary.html
+++ b/javadoc/org/apache/iceberg/spark/package-summary.html
@@ -108,19 +108,20 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark">ComputeUpdateIterator</a></td>
+<td class="colLast">
+<div class="block">An iterator that finds delete/insert rows which represent an update, and converts them into
+ update records from changelog tables within a single Spark task.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark">ExtendedParser.RawOrderField</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a></td>
-<td class="colLast">Deprecated
-<div class="block"><span class="deprecationComment">will be removed in 1.3.0, use <a href="../../../../org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><code>ScanTaskSetManager</code></a> instead</span></div>
-</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark">IcebergSpark</a></td>
 <td class="colLast">&nbsp;</td>
@@ -140,59 +141,59 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/PruneColumnsWithoutReordering.html" title="class in org.apache.iceberg.spark">PruneColumnsWithoutReordering</a></td>
+<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark">PositionDeletesRewriteCoordinator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/PruneColumnsWithReordering.html" title="class in org.apache.iceberg.spark">PruneColumnsWithReordering</a></td>
+<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/PruneColumnsWithoutReordering.html" title="class in org.apache.iceberg.spark">PruneColumnsWithoutReordering</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/PruneColumnsWithReordering.html" title="class in org.apache.iceberg.spark">PruneColumnsWithReordering</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark">RollbackStagedTable</a></td>
 <td class="colLast">
 <div class="block">An implementation of StagedTable that mimics the behavior of Spark's non-atomic CTAS and RTAS.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark">ScanTaskSetManager</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark">Spark3Util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/Spark3Util.CatalogAndIdentifier.html" title="class in org.apache.iceberg.spark">Spark3Util.CatalogAndIdentifier</a></td>
 <td class="colLast">
 <div class="block">This mimics a class inside of Spark which is private inside of LookupCatalog.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/Spark3Util.DescribeSchemaVisitor.html" title="class in org.apache.iceberg.spark">Spark3Util.DescribeSchemaVisitor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkAggregates.html" title="class in org.apache.iceberg.spark">SparkAggregates</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html" title="class in org.apache.iceberg.spark">SparkCachedTableCatalog</a></td>
 <td class="colLast">
 <div class="block">An internal table catalog that is capable of loading tables from a cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark">SparkCatalog</a></td>
 <td class="colLast">
 <div class="block">A Spark TableCatalog implementation that wraps an Iceberg <a href="../../../../org/apache/iceberg/catalog/Catalog.html" title="interface in org.apache.iceberg.catalog"><code>Catalog</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark">SparkDistributionAndOrderingUtil</a></td>
+<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -204,80 +205,98 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark">SparkFunctionCatalog</a></td>
+<td class="colLast">
+<div class="block">A function catalog that can be used to resolve Iceberg functions without a metastore connection.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark">SparkReadConf</a></td>
 <td class="colLast">
 <div class="block">A class for common Iceberg configs for Spark reads.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark">SparkReadOptions</a></td>
 <td class="colLast">
 <div class="block">Spark DF read options</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark">SparkSchemaUtil</a></td>
 <td class="colLast">
 <div class="block">Helper methods for working with Spark/Hive metadata.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a>&lt;T extends org.apache.spark.sql.connector.catalog.TableCatalog &amp; org.apache.spark.sql.connector.catalog.SupportsNamespaces&gt;</td>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkSessionCatalog.html" title="class in org.apache.iceberg.spark">SparkSessionCatalog</a>&lt;T extends org.apache.spark.sql.connector.catalog.TableCatalog &amp; org.apache.spark.sql.connector.catalog.FunctionCatalog &amp; org.apache.spark.sql.connector.catalog.SupportsNamespaces&gt;</td>
 <td class="colLast">
 <div class="block">A Spark catalog that can also load non-Iceberg tables.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkSQLProperties.html" title="class in org.apache.iceberg.spark">SparkSQLProperties</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkStructLike.html" title="class in org.apache.iceberg.spark">SparkStructLike</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkTableCache.html" title="class in org.apache.iceberg.spark">SparkTableCache</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.html" title="class in org.apache.iceberg.spark">SparkTableUtil</a></td>
 <td class="colLast">
 <div class="block">Java version of the original SparkTableUtil.scala
  https://github.com/apache/iceberg/blob/apache-iceberg-0.8.0-incubating/spark/src/main/scala/org/apache/iceberg/spark/SparkTableUtil.scala</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkTableUtil.SparkPartition.html" title="class in org.apache.iceberg.spark">SparkTableUtil.SparkPartition</a></td>
 <td class="colLast">
 <div class="block">Class representing a table partition.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkUtil.html" title="class in org.apache.iceberg.spark">SparkUtil</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkV2Filters.html" title="class in org.apache.iceberg.spark">SparkV2Filters</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkValueConverter.html" title="class in org.apache.iceberg.spark">SparkValueConverter</a></td>
 <td class="colLast">
 <div class="block">A utility class that converts Spark values to Iceberg's internal representation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark">SparkWriteConf</a></td>
 <td class="colLast">
 <div class="block">A class for common Iceberg configs for Spark writes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark">SparkWriteOptions</a></td>
 <td class="colLast">
 <div class="block">Spark DF write options</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark">SparkWriteRequirements</a></td>
+<td class="colLast">
+<div class="block">A set of requirements such as distribution and ordering reported to Spark during writes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/iceberg/spark/SparkWriteUtil.html" title="class in org.apache.iceberg.spark">SparkWriteUtil</a></td>
+<td class="colLast">
+<div class="block">A utility that contains helper methods for working with Spark writes.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/package-tree.html b/javadoc/org/apache/iceberg/spark/package-tree.html
index e7512df..3ff6490 100644
--- a/javadoc/org/apache/iceberg/spark/package-tree.html
+++ b/javadoc/org/apache/iceberg/spark/package-tree.html
@@ -79,15 +79,19 @@
 <ul>
 <li type="circle">java.lang.Object
 <ul>
-<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ChangelogIterator</span></a> (implements java.util.Iterator&lt;E&gt;)</li>
+<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ChangelogIterator</span></a> (implements java.util.Iterator&lt;E&gt;)
+<ul>
+<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ComputeUpdateIterator</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/CommitMetadata.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">CommitMetadata</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/ExtendedParser.RawOrderField.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ExtendedParser.RawOrderField</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">FileRewriteCoordinator</span></a></li>
-<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">FileScanTaskSetManager</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/IcebergSpark.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">IcebergSpark</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/JobGroupInfo.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">JobGroupInfo</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/JobGroupUtils.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">JobGroupUtils</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/PathIdentifier.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">PathIdentifier</span></a> (implements org.apache.spark.sql.connector.catalog.Identifier)</li>
+<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">PositionDeletesRewriteCoordinator</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/RollbackStagedTable.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">RollbackStagedTable</span></a> (implements org.apache.spark.sql.connector.catalog.StagedTable, org.apache.spark.sql.connector.catalog.SupportsDelete, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.SupportsWrite)</li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/ScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ScanTaskSetManager</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/Spark3Util.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">Spark3Util</span></a></li>
@@ -96,9 +100,9 @@
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkCachedTableCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkCachedTableCatalog</span></a> (implements org.apache.spark.sql.connector.catalog.TableCatalog)</li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkCatalog</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkDataFile</span></a> (implements org.apache.iceberg.<a href="../../../../org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>)</li>
-<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkDistributionAndOrderingUtil</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkExceptionUtil</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkFilters</span></a></li>
+<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkFunctionCatalog</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkReadConf</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkReadOptions</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkSchemaUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkSchemaUtil</span></a></li>
@@ -113,6 +117,8 @@
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkValueConverter.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkValueConverter</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteConf</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteOptions</span></a></li>
+<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteRequirements</span></a></li>
+<li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/SparkWriteUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteUtil</span></a></li>
 <li type="circle">org.apache.iceberg.types.<a href="../../../../org/apache/iceberg/types/TypeUtil.CustomOrderSchemaVisitor.html" title="class in org.apache.iceberg.types"><span class="typeNameLink">TypeUtil.CustomOrderSchemaVisitor</span></a>&lt;T&gt;
 <ul>
 <li type="circle">org.apache.iceberg.spark.<a href="../../../../org/apache/iceberg/spark/PruneColumnsWithoutReordering.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">PruneColumnsWithoutReordering</span></a></li>
diff --git a/javadoc/org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html b/javadoc/org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html
index 171c9f5..be4c0e7 100644
--- a/javadoc/org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html
+++ b/javadoc/org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" target="_top">Frames</a></li>
@@ -547,7 +547,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/procedures/SparkProcedures.html b/javadoc/org/apache/iceberg/spark/procedures/SparkProcedures.html
index f17fa82..908cf50 100644
--- a/javadoc/org/apache/iceberg/spark/procedures/SparkProcedures.html
+++ b/javadoc/org/apache/iceberg/spark/procedures/SparkProcedures.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -208,7 +208,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/procedures/SparkProcedures.ProcedureBuilder.html" title="interface in org.apache.iceberg.spark.procedures"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/procedures/package-frame.html b/javadoc/org/apache/iceberg/spark/procedures/package-frame.html
index 30844fa..9d4d0db 100644
--- a/javadoc/org/apache/iceberg/spark/procedures/package-frame.html
+++ b/javadoc/org/apache/iceberg/spark/procedures/package-frame.html
@@ -20,6 +20,7 @@
 <li><a href="CreateChangelogViewProcedure.html" title="class in org.apache.iceberg.spark.procedures" target="classFrame">CreateChangelogViewProcedure</a></li>
 <li><a href="ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures" target="classFrame">ExpireSnapshotsProcedure</a></li>
 <li><a href="RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures" target="classFrame">RemoveOrphanFilesProcedure</a></li>
+<li><a href="RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures" target="classFrame">RewritePositionDeleteFilesProcedure</a></li>
 <li><a href="SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures" target="classFrame">SparkProcedures</a></li>
 </ul>
 </div>
diff --git a/javadoc/org/apache/iceberg/spark/procedures/package-summary.html b/javadoc/org/apache/iceberg/spark/procedures/package-summary.html
index d6fe92d..e21cb3e 100644
--- a/javadoc/org/apache/iceberg/spark/procedures/package-summary.html
+++ b/javadoc/org/apache/iceberg/spark/procedures/package-summary.html
@@ -118,6 +118,12 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RewritePositionDeleteFilesProcedure</a></td>
+<td class="colLast">
+<div class="block">A procedure that rewrites position delete files in a table.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures">SparkProcedures</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/javadoc/org/apache/iceberg/spark/procedures/package-tree.html b/javadoc/org/apache/iceberg/spark/procedures/package-tree.html
index 8504b27..e1c2dc7 100644
--- a/javadoc/org/apache/iceberg/spark/procedures/package-tree.html
+++ b/javadoc/org/apache/iceberg/spark/procedures/package-tree.html
@@ -83,6 +83,7 @@
 <li type="circle">org.apache.iceberg.spark.procedures.<a href="../../../../../org/apache/iceberg/spark/procedures/CreateChangelogViewProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">CreateChangelogViewProcedure</span></a></li>
 <li type="circle">org.apache.iceberg.spark.procedures.<a href="../../../../../org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">ExpireSnapshotsProcedure</span></a></li>
 <li type="circle">org.apache.iceberg.spark.procedures.<a href="../../../../../org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">RemoveOrphanFilesProcedure</span></a></li>
+<li type="circle">org.apache.iceberg.spark.procedures.<a href="../../../../../org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">RewritePositionDeleteFilesProcedure</span></a></li>
 <li type="circle">org.apache.iceberg.spark.procedures.<a href="../../../../../org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">SparkProcedures</span></a></li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/source/HasIcebergCatalog.html b/javadoc/org/apache/iceberg/spark/source/HasIcebergCatalog.html
index e6a8e45..183d7cf 100644
--- a/javadoc/org/apache/iceberg/spark/source/HasIcebergCatalog.html
+++ b/javadoc/org/apache/iceberg/spark/source/HasIcebergCatalog.html
@@ -154,7 +154,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.TableCatalog</h3>
-<code>alterTable, createTable, dropTable, invalidateTable, listTables, loadTable, loadTable, loadTable, purgeTable, renameTable, tableExists</code></li>
+<code>alterTable, capabilities, createTable, createTable, dropTable, invalidateTable, listTables, loadTable, loadTable, loadTable, purgeTable, renameTable, tableExists</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.CatalogPlugin">
diff --git a/javadoc/org/apache/iceberg/spark/source/SparkChangelogTable.html b/javadoc/org/apache/iceberg/spark/source/SparkChangelogTable.html
index 5ea4d78..08c34da 100644
--- a/javadoc/org/apache/iceberg/spark/source/SparkChangelogTable.html
+++ b/javadoc/org/apache/iceberg/spark/source/SparkChangelogTable.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -107,13 +107,13 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.Table</dd>
+<dd>org.apache.spark.sql.connector.catalog.SupportsMetadataColumns, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.Table</dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">SparkChangelogTable</span>
 extends java.lang.Object
-implements org.apache.spark.sql.connector.catalog.Table, org.apache.spark.sql.connector.catalog.SupportsRead</pre>
+implements org.apache.spark.sql.connector.catalog.Table, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.SupportsMetadataColumns</pre>
 </li>
 </ul>
 </div>
@@ -174,14 +174,18 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkChangelogTable.html#capabilities--">capabilities</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.apache.spark.sql.connector.catalog.MetadataColumn[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkChangelogTable.html#metadataColumns--">metadataColumns</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkChangelogTable.html#name--">name</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.read.ScanBuilder</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkChangelogTable.html#newScanBuilder-org.apache.spark.sql.util.CaseInsensitiveStringMap-">newScanBuilder</a></span>(org.apache.spark.sql.util.CaseInsensitiveStringMap&nbsp;options)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>org.apache.spark.sql.types.StructType</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkChangelogTable.html#schema--">schema</a></span>()</code>&nbsp;</td>
 </tr>
@@ -198,7 +202,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.Table</h3>
-<code>partitioning, properties</code></li>
+<code>columns, partitioning, properties</code></li>
 </ul>
 </li>
 </ul>
@@ -295,7 +299,7 @@
 <a name="newScanBuilder-org.apache.spark.sql.util.CaseInsensitiveStringMap-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>newScanBuilder</h4>
 <pre>public&nbsp;org.apache.spark.sql.connector.read.ScanBuilder&nbsp;newScanBuilder(org.apache.spark.sql.util.CaseInsensitiveStringMap&nbsp;options)</pre>
@@ -305,6 +309,19 @@
 </dl>
 </li>
 </ul>
+<a name="metadataColumns--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>metadataColumns</h4>
+<pre>public&nbsp;org.apache.spark.sql.connector.catalog.MetadataColumn[]&nbsp;metadataColumns()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>metadataColumns</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.catalog.SupportsMetadataColumns</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/source/SparkMicroBatchStream.html b/javadoc/org/apache/iceberg/spark/source/SparkMicroBatchStream.html
index 3a0b676..d6fac3e 100644
--- a/javadoc/org/apache/iceberg/spark/source/SparkMicroBatchStream.html
+++ b/javadoc/org/apache/iceberg/spark/source/SparkMicroBatchStream.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -107,13 +107,13 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>org.apache.spark.sql.connector.read.streaming.MicroBatchStream, org.apache.spark.sql.connector.read.streaming.SparkDataStream</dd>
+<dd>org.apache.spark.sql.connector.read.streaming.MicroBatchStream, org.apache.spark.sql.connector.read.streaming.SparkDataStream, org.apache.spark.sql.connector.read.streaming.SupportsAdmissionControl</dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">SparkMicroBatchStream</span>
 extends java.lang.Object
-implements org.apache.spark.sql.connector.read.streaming.MicroBatchStream</pre>
+implements org.apache.spark.sql.connector.read.streaming.MicroBatchStream, org.apache.spark.sql.connector.read.streaming.SupportsAdmissionControl</pre>
 </li>
 </ul>
 </div>
@@ -145,19 +145,28 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html#deserializeOffset-java.lang.String-">deserializeOffset</a></span>(java.lang.String&nbsp;json)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>org.apache.spark.sql.connector.read.streaming.Offset</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html#initialOffset--">initialOffset</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>org.apache.spark.sql.connector.read.streaming.ReadLimit</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html#getDefaultReadLimit--">getDefaultReadLimit</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.read.streaming.Offset</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html#latestOffset--">latestOffset</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html#initialOffset--">initialOffset</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>org.apache.spark.sql.connector.read.streaming.Offset</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html#latestOffset--">latestOffset</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>org.apache.spark.sql.connector.read.streaming.Offset</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html#latestOffset-org.apache.spark.sql.connector.read.streaming.Offset-org.apache.spark.sql.connector.read.streaming.ReadLimit-">latestOffset</a></span>(org.apache.spark.sql.connector.read.streaming.Offset&nbsp;startOffset,
+            org.apache.spark.sql.connector.read.streaming.ReadLimit&nbsp;limit)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>org.apache.spark.sql.connector.read.InputPartition[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html#planInputPartitions-org.apache.spark.sql.connector.read.streaming.Offset-org.apache.spark.sql.connector.read.streaming.Offset-">planInputPartitions</a></span>(org.apache.spark.sql.connector.read.streaming.Offset&nbsp;start,
                    org.apache.spark.sql.connector.read.streaming.Offset&nbsp;end)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html#stop--">stop</a></span>()</code>&nbsp;</td>
 </tr>
@@ -169,6 +178,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.read.streaming.SupportsAdmissionControl">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.read.streaming.SupportsAdmissionControl</h3>
+<code>reportLatestOffset</code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -265,7 +281,7 @@
 <a name="stop--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
 <pre>public&nbsp;void&nbsp;stop()</pre>
@@ -275,6 +291,33 @@
 </dl>
 </li>
 </ul>
+<a name="latestOffset-org.apache.spark.sql.connector.read.streaming.Offset-org.apache.spark.sql.connector.read.streaming.ReadLimit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>latestOffset</h4>
+<pre>public&nbsp;org.apache.spark.sql.connector.read.streaming.Offset&nbsp;latestOffset(org.apache.spark.sql.connector.read.streaming.Offset&nbsp;startOffset,
+                                                                         org.apache.spark.sql.connector.read.streaming.ReadLimit&nbsp;limit)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>latestOffset</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.read.streaming.SupportsAdmissionControl</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getDefaultReadLimit--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getDefaultReadLimit</h4>
+<pre>public&nbsp;org.apache.spark.sql.connector.read.streaming.ReadLimit&nbsp;getDefaultReadLimit()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getDefaultReadLimit</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.read.streaming.SupportsAdmissionControl</code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/spark/source/SparkPartitionedWriter.html b/javadoc/org/apache/iceberg/spark/source/SparkPartitionedWriter.html
index d1dc2e2..fb67cdf 100644
--- a/javadoc/org/apache/iceberg/spark/source/SparkPartitionedWriter.html
+++ b/javadoc/org/apache/iceberg/spark/source/SparkPartitionedWriter.html
@@ -48,7 +48,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/source/SparkPartitionedWriter.html" target="_top">Frames</a></li>
@@ -300,7 +300,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/iceberg/spark/source/SparkPartitionedFanoutWriter.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/iceberg/spark/source/SparkPartitionedWriter.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/source/SparkScanBuilder.html b/javadoc/org/apache/iceberg/spark/source/SparkScanBuilder.html
index d3d5501..701a71f 100644
--- a/javadoc/org/apache/iceberg/spark/source/SparkScanBuilder.html
+++ b/javadoc/org/apache/iceberg/spark/source/SparkScanBuilder.html
@@ -47,7 +47,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/source/SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -196,7 +196,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.read.Scan</h3>
-<code>description, supportedCustomMetrics, toBatch, toContinuousStream, toMicroBatchStream</code></li>
+<code>description, reportDriverMetrics, supportedCustomMetrics, toBatch, toContinuousStream, toMicroBatchStream</code></li>
 </ul>
 </li>
 </ul>
@@ -366,7 +366,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/iceberg/spark/source/SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/javadoc/org/apache/iceberg/spark/source/SparkTable.html b/javadoc/org/apache/iceberg/spark/source/SparkTable.html
index 73e0511..87c2887 100644
--- a/javadoc/org/apache/iceberg/spark/source/SparkTable.html
+++ b/javadoc/org/apache/iceberg/spark/source/SparkTable.html
@@ -107,7 +107,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>org.apache.spark.sql.connector.catalog.SupportsDelete, org.apache.spark.sql.connector.catalog.SupportsMetadataColumns, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.SupportsRowLevelOperations, org.apache.spark.sql.connector.catalog.SupportsWrite, org.apache.spark.sql.connector.catalog.Table, org.apache.spark.sql.connector.catalog.TruncatableTable</dd>
+<dd>org.apache.spark.sql.connector.catalog.SupportsDelete, org.apache.spark.sql.connector.catalog.SupportsDeleteV2, org.apache.spark.sql.connector.catalog.SupportsMetadataColumns, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.SupportsRowLevelOperations, org.apache.spark.sql.connector.catalog.SupportsWrite, org.apache.spark.sql.connector.catalog.Table, org.apache.spark.sql.connector.catalog.TruncatableTable</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -249,7 +249,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.SupportsDelete</h3>
-<code>truncateTable</code></li>
+<code>canDeleteWhere, deleteWhere, truncateTable</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.Table">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.Table</h3>
+<code>columns</code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/spark/source/StagedSparkTable.html b/javadoc/org/apache/iceberg/spark/source/StagedSparkTable.html
index 5dc5230..fbbc380 100644
--- a/javadoc/org/apache/iceberg/spark/source/StagedSparkTable.html
+++ b/javadoc/org/apache/iceberg/spark/source/StagedSparkTable.html
@@ -112,7 +112,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>org.apache.spark.sql.connector.catalog.StagedTable, org.apache.spark.sql.connector.catalog.SupportsDelete, org.apache.spark.sql.connector.catalog.SupportsMetadataColumns, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.SupportsRowLevelOperations, org.apache.spark.sql.connector.catalog.SupportsWrite, org.apache.spark.sql.connector.catalog.Table, org.apache.spark.sql.connector.catalog.TruncatableTable</dd>
+<dd>org.apache.spark.sql.connector.catalog.StagedTable, org.apache.spark.sql.connector.catalog.SupportsDelete, org.apache.spark.sql.connector.catalog.SupportsDeleteV2, org.apache.spark.sql.connector.catalog.SupportsMetadataColumns, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.SupportsRowLevelOperations, org.apache.spark.sql.connector.catalog.SupportsWrite, org.apache.spark.sql.connector.catalog.Table, org.apache.spark.sql.connector.catalog.TruncatableTable</dd>
 </dl>
 <hr>
 <br>
@@ -182,14 +182,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.Table</h3>
-<code>capabilities, name, partitioning, properties, schema</code></li>
+<code>capabilities, columns, name, partitioning, properties, schema</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.catalog.SupportsDelete">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.catalog.SupportsDelete</h3>
-<code>truncateTable</code></li>
+<code>canDeleteWhere, deleteWhere, truncateTable</code></li>
 </ul>
 </li>
 </ul>
diff --git a/javadoc/org/apache/iceberg/spark/source/package-frame.html b/javadoc/org/apache/iceberg/spark/source/package-frame.html
index b1de0ee..05028dc 100644
--- a/javadoc/org/apache/iceberg/spark/source/package-frame.html
+++ b/javadoc/org/apache/iceberg/spark/source/package-frame.html
@@ -25,6 +25,9 @@
 <li><a href="SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkMicroBatchStream</a></li>
 <li><a href="SparkPartitionedFanoutWriter.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkPartitionedFanoutWriter</a></li>
 <li><a href="SparkPartitionedWriter.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkPartitionedWriter</a></li>
+<li><a href="SparkPositionDeletesRewrite.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkPositionDeletesRewrite</a></li>
+<li><a href="SparkPositionDeletesRewrite.DeleteTaskCommit.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkPositionDeletesRewrite.DeleteTaskCommit</a></li>
+<li><a href="SparkPositionDeletesRewriteBuilder.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkPositionDeletesRewriteBuilder</a></li>
 <li><a href="SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkScanBuilder</a></li>
 <li><a href="SparkTable.html" title="class in org.apache.iceberg.spark.source" target="classFrame">SparkTable</a></li>
 <li><a href="StagedSparkTable.html" title="class in org.apache.iceberg.spark.source" target="classFrame">StagedSparkTable</a></li>
diff --git a/javadoc/org/apache/iceberg/spark/source/package-summary.html b/javadoc/org/apache/iceberg/spark/source/package-summary.html
index d60cc5b..8cfeb29 100644
--- a/javadoc/org/apache/iceberg/spark/source/package-summary.html
+++ b/javadoc/org/apache/iceberg/spark/source/package-summary.html
@@ -136,14 +136,30 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.html" title="class in org.apache.iceberg.spark.source">SparkPositionDeletesRewrite</a></td>
+<td class="colLast">
+<div class="block"><code>Write</code> class for rewriting position delete files from Spark.</div>
+</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.DeleteTaskCommit.html" title="class in org.apache.iceberg.spark.source">SparkPositionDeletesRewrite.DeleteTaskCommit</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.html" title="class in org.apache.iceberg.spark.source">SparkPositionDeletesRewriteBuilder</a></td>
+<td class="colLast">
+<div class="block">Builder class for rewrites of position delete files from Spark.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source">SparkScanBuilder</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source">SparkTable</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/iceberg/spark/source/StagedSparkTable.html" title="class in org.apache.iceberg.spark.source">StagedSparkTable</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/javadoc/org/apache/iceberg/spark/source/package-tree.html b/javadoc/org/apache/iceberg/spark/source/package-tree.html
index d9fb439..1b2dc3a 100644
--- a/javadoc/org/apache/iceberg/spark/source/package-tree.html
+++ b/javadoc/org/apache/iceberg/spark/source/package-tree.html
@@ -105,9 +105,12 @@
 <li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SerializableTableWithSize.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SerializableTableWithSize</span></a> (implements org.apache.spark.util.KnownSizeEstimation)</li>
 </ul>
 </li>
-<li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SparkChangelogTable.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkChangelogTable</span></a> (implements org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.Table)</li>
+<li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SparkChangelogTable.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkChangelogTable</span></a> (implements org.apache.spark.sql.connector.catalog.SupportsMetadataColumns, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.Table)</li>
 <li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SparkMetadataColumn.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkMetadataColumn</span></a> (implements org.apache.spark.sql.connector.catalog.MetadataColumn)</li>
-<li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkMicroBatchStream</span></a> (implements org.apache.spark.sql.connector.read.streaming.MicroBatchStream)</li>
+<li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkMicroBatchStream</span></a> (implements org.apache.spark.sql.connector.read.streaming.MicroBatchStream, org.apache.spark.sql.connector.read.streaming.SupportsAdmissionControl)</li>
+<li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkPositionDeletesRewrite</span></a> (implements org.apache.spark.sql.connector.write.Write)</li>
+<li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.DeleteTaskCommit.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkPositionDeletesRewrite.DeleteTaskCommit</span></a> (implements org.apache.spark.sql.connector.write.WriterCommitMessage)</li>
+<li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkPositionDeletesRewriteBuilder</span></a> (implements org.apache.spark.sql.connector.write.WriteBuilder)</li>
 <li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SparkScanBuilder.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkScanBuilder</span></a> (implements org.apache.spark.sql.connector.read.ScanBuilder, org.apache.spark.sql.connector.read.SupportsPushDownAggregates, org.apache.spark.sql.connector.read.SupportsPushDownFilters, org.apache.spark.sql.connector.read.SupportsPushDownRequiredColumns, org.apache.spark.sql.connector.read.SupportsReportStatistics)</li>
 <li type="circle">org.apache.iceberg.spark.source.<a href="../../../../../org/apache/iceberg/spark/source/SparkTable.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkTable</span></a> (implements org.apache.spark.sql.connector.catalog.SupportsDelete, org.apache.spark.sql.connector.catalog.SupportsMetadataColumns, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.SupportsRowLevelOperations, org.apache.spark.sql.connector.catalog.SupportsWrite, org.apache.spark.sql.connector.catalog.Table)
 <ul>
diff --git a/javadoc/org/apache/iceberg/util/PartitionUtil.html b/javadoc/org/apache/iceberg/util/PartitionUtil.html
index 05ff25e..b68bde6 100644
--- a/javadoc/org/apache/iceberg/util/PartitionUtil.html
+++ b/javadoc/org/apache/iceberg/util/PartitionUtil.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -128,15 +128,21 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/util/PartitionUtil.html#coercePartition-org.apache.iceberg.types.Types.StructType-org.apache.iceberg.PartitionSpec-org.apache.iceberg.StructLike-">coercePartition</a></span>(<a href="../../../../org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a>&nbsp;partitionType,
+               <a href="../../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
+               <a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>static java.util.Map&lt;java.lang.Integer,?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/util/PartitionUtil.html#constantsMap-org.apache.iceberg.ContentScanTask-">constantsMap</a></span>(<a href="../../../../org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;?&gt;&nbsp;task)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static java.util.Map&lt;java.lang.Integer,?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/util/PartitionUtil.html#constantsMap-org.apache.iceberg.ContentScanTask-java.util.function.BiFunction-">constantsMap</a></span>(<a href="../../../../org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;?&gt;&nbsp;task,
             java.util.function.BiFunction&lt;<a href="../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>,java.lang.Object,java.lang.Object&gt;&nbsp;convertConstant)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static java.util.Map&lt;java.lang.Integer,?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/util/PartitionUtil.html#constantsMap-org.apache.iceberg.ContentScanTask-org.apache.iceberg.types.Types.StructType-java.util.function.BiFunction-">constantsMap</a></span>(<a href="../../../../org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;?&gt;&nbsp;task,
             <a href="../../../../org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a>&nbsp;partitionType,
@@ -186,7 +192,7 @@
 <a name="constantsMap-org.apache.iceberg.ContentScanTask-org.apache.iceberg.types.Types.StructType-java.util.function.BiFunction-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>constantsMap</h4>
 <pre>public static&nbsp;java.util.Map&lt;java.lang.Integer,?&gt;&nbsp;constantsMap(<a href="../../../../org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;?&gt;&nbsp;task,
@@ -194,6 +200,17 @@
                                                               java.util.function.BiFunction&lt;<a href="../../../../org/apache/iceberg/types/Type.html" title="interface in org.apache.iceberg.types">Type</a>,java.lang.Object,java.lang.Object&gt;&nbsp;convertConstant)</pre>
 </li>
 </ul>
+<a name="coercePartition-org.apache.iceberg.types.Types.StructType-org.apache.iceberg.PartitionSpec-org.apache.iceberg.StructLike-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>coercePartition</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;coercePartition(<a href="../../../../org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a>&nbsp;partitionType,
+                                         <a href="../../../../org/apache/iceberg/PartitionSpec.html" title="class in org.apache.iceberg">PartitionSpec</a>&nbsp;spec,
+                                         <a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/util/StructLikeMap.html b/javadoc/org/apache/iceberg/util/StructLikeMap.html
index 6876873..2d5e7b9 100644
--- a/javadoc/org/apache/iceberg/util/StructLikeMap.html
+++ b/javadoc/org/apache/iceberg/util/StructLikeMap.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -205,6 +205,10 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/util/StructLikeMap.html#size--">size</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/iceberg/util/StructLikeMap.html" title="class in org.apache.iceberg.util">StructLikeMap</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/util/StructLikeMap.html#transformValues-java.util.function.Function-">transformValues</a></span>(java.util.function.Function&lt;<a href="../../../../org/apache/iceberg/util/StructLikeMap.html" title="type parameter in StructLikeMap">T</a>,U&gt;&nbsp;func)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../org/apache/iceberg/util/StructLikeMap.html" title="type parameter in StructLikeMap">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/util/StructLikeMap.html#values--">values</a></span>()</code>&nbsp;</td>
 </tr>
@@ -409,7 +413,7 @@
 <a name="entrySet--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>entrySet</h4>
 <pre>public&nbsp;java.util.Set&lt;java.util.Map.Entry&lt;<a href="../../../../org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>,<a href="../../../../org/apache/iceberg/util/StructLikeMap.html" title="type parameter in StructLikeMap">T</a>&gt;&gt;&nbsp;entrySet()</pre>
@@ -421,6 +425,15 @@
 </dl>
 </li>
 </ul>
+<a name="transformValues-java.util.function.Function-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>transformValues</h4>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../org/apache/iceberg/util/StructLikeMap.html" title="class in org.apache.iceberg.util">StructLikeMap</a>&lt;U&gt;&nbsp;transformValues(java.util.function.Function&lt;<a href="../../../../org/apache/iceberg/util/StructLikeMap.html" title="type parameter in StructLikeMap">T</a>,U&gt;&nbsp;func)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/util/UUIDUtil.html b/javadoc/org/apache/iceberg/util/UUIDUtil.html
index 7ee69f8..c537525 100644
--- a/javadoc/org/apache/iceberg/util/UUIDUtil.html
+++ b/javadoc/org/apache/iceberg/util/UUIDUtil.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -148,6 +148,11 @@
 <td class="colFirst"><code>static java.nio.ByteBuffer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/util/UUIDUtil.html#convertToByteBuffer-java.util.UUID-">convertToByteBuffer</a></span>(java.util.UUID&nbsp;value)</code>&nbsp;</td>
 </tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static java.nio.ByteBuffer</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/util/UUIDUtil.html#convertToByteBuffer-java.util.UUID-java.nio.ByteBuffer-">convertToByteBuffer</a></span>(java.util.UUID&nbsp;value,
+                   java.nio.ByteBuffer&nbsp;reuse)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -210,12 +215,22 @@
 <a name="convertToByteBuffer-java.util.UUID-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>convertToByteBuffer</h4>
 <pre>public static&nbsp;java.nio.ByteBuffer&nbsp;convertToByteBuffer(java.util.UUID&nbsp;value)</pre>
 </li>
 </ul>
+<a name="convertToByteBuffer-java.util.UUID-java.nio.ByteBuffer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>convertToByteBuffer</h4>
+<pre>public static&nbsp;java.nio.ByteBuffer&nbsp;convertToByteBuffer(java.util.UUID&nbsp;value,
+                                                      java.nio.ByteBuffer&nbsp;reuse)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/iceberg/view/SQLViewRepresentation.html b/javadoc/org/apache/iceberg/view/SQLViewRepresentation.html
index 5d20377..0104ece 100644
--- a/javadoc/org/apache/iceberg/view/SQLViewRepresentation.html
+++ b/javadoc/org/apache/iceberg/view/SQLViewRepresentation.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":18};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":18};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -170,19 +170,12 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.lang.Integer</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/SQLViewRepresentation.html#schemaId--">schemaId</a></span>()</code>
-<div class="block">The query output schema ID at version create time, without aliases or null if no schema is
- defined</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/SQLViewRepresentation.html#sql--">sql</a></span>()</code>
 <div class="block">The view query SQL text.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>default java.lang.String</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/SQLViewRepresentation.html#type--">type</a></span>()</code>&nbsp;</td>
 </tr>
@@ -256,18 +249,6 @@
 <div class="block">The default namespace when the view is created.</div>
 </li>
 </ul>
-<a name="schemaId--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>schemaId</h4>
-<pre>@Nullable
-java.lang.Integer&nbsp;schemaId()</pre>
-<div class="block">The query output schema ID at version create time, without aliases or null if no schema is
- defined</div>
-</li>
-</ul>
 <a name="fieldComments--">
 <!--   -->
 </a>
diff --git a/javadoc/org/apache/iceberg/view/ViewVersion.html b/javadoc/org/apache/iceberg/view/ViewVersion.html
index aefa0ad..5c3b9a1 100644
--- a/javadoc/org/apache/iceberg/view/ViewVersion.html
+++ b/javadoc/org/apache/iceberg/view/ViewVersion.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var methods = {"i0":18,"i1":18,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -99,7 +99,8 @@
 <li class="blockList">
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">ViewVersion</span></pre>
+<pre>@Value.Immutable
+public interface <span class="typeNameLabel">ViewVersion</span></pre>
 <div class="block">A version of the view at a point in time.
 
  <p>A version consists of a view metadata file.
@@ -118,31 +119,46 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/ViewVersion.html#check--">check</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>default java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/ViewVersion.html#operation--">operation</a></span>()</code>
+<div class="block">Return the operation which produced the view version</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/iceberg/view/ViewRepresentation.html" title="interface in org.apache.iceberg.view">ViewRepresentation</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/ViewVersion.html#representations--">representations</a></span>()</code>
 <div class="block">Return the list of other view representations.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/ViewVersion.html#summary--">summary</a></span>()</code>
-<div class="block">Return the version summary such as the name of the operation that created that version of the
- view</div>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/ViewVersion.html#schemaId--">schemaId</a></span>()</code>
+<div class="block">The query output schema at version create time, without aliases</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/ViewVersion.html#summary--">summary</a></span>()</code>
+<div class="block">Return the version summary</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/ViewVersion.html#timestampMillis--">timestampMillis</a></span>()</code>
 <div class="block">Return this version's timestamp.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/iceberg/view/ViewVersion.html#versionId--">versionId</a></span>()</code>
 <div class="block">Return this version's id.</div>
@@ -196,8 +212,7 @@
 <li class="blockList">
 <h4>summary</h4>
 <pre>java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;summary()</pre>
-<div class="block">Return the version summary such as the name of the operation that created that version of the
- view</div>
+<div class="block">Return the version summary</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a version summary</dd>
@@ -207,7 +222,7 @@
 <a name="representations--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>representations</h4>
 <pre>java.util.List&lt;<a href="../../../../org/apache/iceberg/view/ViewRepresentation.html" title="interface in org.apache.iceberg.view">ViewRepresentation</a>&gt;&nbsp;representations()</pre>
@@ -220,6 +235,41 @@
 </dl>
 </li>
 </ul>
+<a name="operation--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>operation</h4>
+<pre>@Value.Lazy
+default&nbsp;java.lang.String&nbsp;operation()</pre>
+<div class="block">Return the operation which produced the view version</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the string operation which produced the view version</dd>
+</dl>
+</li>
+</ul>
+<a name="schemaId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>schemaId</h4>
+<pre>int&nbsp;schemaId()</pre>
+<div class="block">The query output schema at version create time, without aliases</div>
+</li>
+</ul>
+<a name="check--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>check</h4>
+<pre>@Value.Check
+default&nbsp;void&nbsp;check()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/javadoc/org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.html b/javadoc/org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.html
index 1e290c0..9b871cb 100644
--- a/javadoc/org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.html
+++ b/javadoc/org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.html
@@ -160,7 +160,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.spark.sql.AnalysisException</h3>
-<code>cause, copy, copy$default$1, copy$default$2, copy$default$3, copy$default$4, copy$default$5, copy$default$6, copy$default$7, errorClass, getErrorClass, getMessage, getSimpleMessage, getSqlState, isInternalError, line, message, messageParameters, plan, startPosition, withPosition</code></li>
+<code>cause, context, copy, copy$default$1, copy$default$2, copy$default$3, copy$default$4, copy$default$5, copy$default$6, copy$default$7, copy$default$8, errorClass, getErrorClass, getMessage, getMessageParameters, getQueryContext, getSimpleMessage, getSqlState, isInternalError, line, message, messageParameters, plan, startPosition, withPosition</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Throwable">
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/catalog/Procedure.html b/javadoc/org/apache/spark/sql/connector/iceberg/catalog/Procedure.html
index bbf3ac8..e061832 100644
--- a/javadoc/org/apache/spark/sql/connector/iceberg/catalog/Procedure.html
+++ b/javadoc/org/apache/spark/sql/connector/iceberg/catalog/Procedure.html
@@ -99,7 +99,7 @@
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../../../org/apache/iceberg/spark/procedures/AncestorsOfProcedure.html" title="class in org.apache.iceberg.spark.procedures">AncestorsOfProcedure</a>, <a href="../../../../../../../org/apache/iceberg/spark/procedures/CreateChangelogViewProcedure.html" title="class in org.apache.iceberg.spark.procedures">CreateChangelogViewProcedure</a>, <a href="../../../../../../../org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures">ExpireSnapshotsProcedure</a>, <a href="../../../../../../../org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a></dd>
+<dd><a href="../../../../../../../org/apache/iceberg/spark/procedures/AncestorsOfProcedure.html" title="class in org.apache.iceberg.spark.procedures">AncestorsOfProcedure</a>, <a href="../../../../../../../org/apache/iceberg/spark/procedures/CreateChangelogViewProcedure.html" title="class in org.apache.iceberg.spark.procedures">CreateChangelogViewProcedure</a>, <a href="../../../../../../../org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.html" title="class in org.apache.iceberg.spark.procedures">ExpireSnapshotsProcedure</a>, <a href="../../../../../../../org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RemoveOrphanFilesProcedure</a>, <a href="../../../../../../../org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures">RewritePositionDeleteFilesProcedure</a></dd>
 </dl>
 <hr>
 <br>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/catalog/package-summary.html b/javadoc/org/apache/spark/sql/connector/iceberg/catalog/package-summary.html
index 7a42de7..5513a3a 100644
--- a/javadoc/org/apache/spark/sql/connector/iceberg/catalog/package-summary.html
+++ b/javadoc/org/apache/spark/sql/connector/iceberg/catalog/package-summary.html
@@ -42,7 +42,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../../org/apache/spark/sql/catalyst/parser/extensions/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/package-summary.html">Next&nbsp;Package</a></li>
+<li>Next&nbsp;Package</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/catalog/package-summary.html" target="_top">Frames</a></li>
@@ -124,7 +124,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../../org/apache/spark/sql/catalyst/parser/extensions/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/package-summary.html">Next&nbsp;Package</a></li>
+<li>Next&nbsp;Package</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/catalog/package-summary.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/catalog/package-tree.html b/javadoc/org/apache/spark/sql/connector/iceberg/catalog/package-tree.html
index d368b70..0d9aa7b 100644
--- a/javadoc/org/apache/spark/sql/connector/iceberg/catalog/package-tree.html
+++ b/javadoc/org/apache/spark/sql/connector/iceberg/catalog/package-tree.html
@@ -42,7 +42,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../../org/apache/spark/sql/catalyst/parser/extensions/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/package-tree.html">Next</a></li>
+<li>Next</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/catalog/package-tree.html" target="_top">Frames</a></li>
@@ -107,7 +107,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../../org/apache/spark/sql/catalyst/parser/extensions/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/package-tree.html">Next</a></li>
+<li>Next</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/catalog/package-tree.html" target="_top">Frames</a></li>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html b/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html
deleted file mode 100644
index f042a65..0000000
--- a/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html
+++ /dev/null
@@ -1,235 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>DeltaBatchWrite</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeltaBatchWrite";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" target="_top">Frames</a></li>
-<li><a href="DeltaBatchWrite.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.spark.sql.connector.iceberg.write</div>
-<h2 title="Interface DeltaBatchWrite" class="title">Interface DeltaBatchWrite</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Superinterfaces:</dt>
-<dd>org.apache.spark.sql.connector.write.BatchWrite</dd>
-</dl>
-<hr>
-<br>
-<pre>public interface <span class="typeNameLabel">DeltaBatchWrite</span>
-extends org.apache.spark.sql.connector.write.BatchWrite</pre>
-<div class="block">An interface that defines how to write a delta of rows during batch processing.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriterFactory</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html#createBatchWriterFactory-org.apache.spark.sql.connector.write.PhysicalWriteInfo-">createBatchWriterFactory</a></span>(org.apache.spark.sql.connector.write.PhysicalWriteInfo&nbsp;info)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.write.BatchWrite">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.write.BatchWrite</h3>
-<code>abort, commit, onDataWriterCommit, useCommitCoordinator</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="createBatchWriterFactory-org.apache.spark.sql.connector.write.PhysicalWriteInfo-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>createBatchWriterFactory</h4>
-<pre><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriterFactory</a>&nbsp;createBatchWriterFactory(org.apache.spark.sql.connector.write.PhysicalWriteInfo&nbsp;info)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>createBatchWriterFactory</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.write.BatchWrite</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" target="_top">Frames</a></li>
-<li><a href="DeltaBatchWrite.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html b/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html
deleted file mode 100644
index fc46545..0000000
--- a/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html
+++ /dev/null
@@ -1,238 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>DeltaWrite</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeltaWrite";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" target="_top">Frames</a></li>
-<li><a href="DeltaWrite.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.spark.sql.connector.iceberg.write</div>
-<h2 title="Interface DeltaWrite" class="title">Interface DeltaWrite</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Superinterfaces:</dt>
-<dd>org.apache.spark.sql.connector.write.Write</dd>
-</dl>
-<hr>
-<br>
-<pre>public interface <span class="typeNameLabel">DeltaWrite</span>
-extends org.apache.spark.sql.connector.write.Write</pre>
-<div class="block">A logical representation of a data source write that handles a delta of rows. A delta of rows is
- a set of instructions that indicate which records need to be deleted, updated, or inserted. Data
- sources that support deltas allow Spark to discard unchanged rows and pass only the information
- about what rows have changed during a row-level operation.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaBatchWrite</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html#toBatch--">toBatch</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.write.Write">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.write.Write</h3>
-<code>description, supportedCustomMetrics, toStreaming</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="toBatch--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toBatch</h4>
-<pre><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaBatchWrite</a>&nbsp;toBatch()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>toBatch</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.write.Write</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" target="_top">Frames</a></li>
-<li><a href="DeltaWrite.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html b/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html
deleted file mode 100644
index f01a73c..0000000
--- a/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html
+++ /dev/null
@@ -1,238 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>DeltaWriteBuilder</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeltaWriteBuilder";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":18};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" target="_top">Frames</a></li>
-<li><a href="DeltaWriteBuilder.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.spark.sql.connector.iceberg.write</div>
-<h2 title="Interface DeltaWriteBuilder" class="title">Interface DeltaWriteBuilder</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Superinterfaces:</dt>
-<dd>org.apache.spark.sql.connector.write.WriteBuilder</dd>
-</dl>
-<hr>
-<br>
-<pre>public interface <span class="typeNameLabel">DeltaWriteBuilder</span>
-extends org.apache.spark.sql.connector.write.WriteBuilder</pre>
-<div class="block">An interface for building delta writes.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>default <a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWrite</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html#build--">build</a></span>()</code>
-<div class="block">Returns a logical delta write.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.write.WriteBuilder">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.write.WriteBuilder</h3>
-<code>buildForBatch, buildForStreaming</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="build--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>build</h4>
-<pre>default&nbsp;<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWrite</a>&nbsp;build()</pre>
-<div class="block">Returns a logical delta write.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>build</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.write.WriteBuilder</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" target="_top">Frames</a></li>
-<li><a href="DeltaWriteBuilder.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html b/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html
deleted file mode 100644
index 9aadcdb..0000000
--- a/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html
+++ /dev/null
@@ -1,331 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>DeltaWriter</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeltaWriter";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":18};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" target="_top">Frames</a></li>
-<li><a href="DeltaWriter.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.spark.sql.connector.iceberg.write</div>
-<h2 title="Interface DeltaWriter" class="title">Interface DeltaWriter&lt;T&gt;</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Superinterfaces:</dt>
-<dd>java.lang.AutoCloseable, java.io.Closeable, org.apache.spark.sql.connector.write.DataWriter&lt;T&gt;</dd>
-</dl>
-<hr>
-<br>
-<pre>public interface <span class="typeNameLabel">DeltaWriter&lt;T&gt;</span>
-extends org.apache.spark.sql.connector.write.DataWriter&lt;T&gt;</pre>
-<div class="block">A data writer responsible for writing a delta of rows.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html#delete-T-T-">delete</a></span>(<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;metadata,
-      <a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;id)</code>
-<div class="block">Passes information for a row that must be deleted.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html#insert-T-">insert</a></span>(<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;row)</code>
-<div class="block">Passes a row to insert.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html#update-T-T-T-">update</a></span>(<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;metadata,
-      <a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;id,
-      <a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;row)</code>
-<div class="block">Passes information for a row that must be updated together with the updated row.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html#write-T-">write</a></span>(<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;row)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.write.DataWriter">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.write.DataWriter</h3>
-<code>abort, commit, currentMetricsValues</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.io.Closeable">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;java.io.Closeable</h3>
-<code>close</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="delete-java.lang.Object-java.lang.Object-">
-<!--   -->
-</a><a name="delete-T-T-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>delete</h4>
-<pre>void&nbsp;delete(<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;metadata,
-            <a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;id)
-     throws java.io.IOException</pre>
-<div class="block">Passes information for a row that must be deleted.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>metadata</code> - values for metadata columns that were projected but are not part of the row ID</dd>
-<dd><code>id</code> - a row ID to delete</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code> - if the write process encounters an error</dd>
-</dl>
-</li>
-</ul>
-<a name="update-java.lang.Object-java.lang.Object-java.lang.Object-">
-<!--   -->
-</a><a name="update-T-T-T-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>update</h4>
-<pre>void&nbsp;update(<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;metadata,
-            <a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;id,
-            <a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;row)
-     throws java.io.IOException</pre>
-<div class="block">Passes information for a row that must be updated together with the updated row.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>metadata</code> - values for metadata columns that were projected but are not part of the row ID</dd>
-<dd><code>id</code> - a row ID to update</dd>
-<dd><code>row</code> - a row with updated values</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code> - if the write process encounters an error</dd>
-</dl>
-</li>
-</ul>
-<a name="insert-java.lang.Object-">
-<!--   -->
-</a><a name="insert-T-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>insert</h4>
-<pre>void&nbsp;insert(<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;row)
-     throws java.io.IOException</pre>
-<div class="block">Passes a row to insert.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>row</code> - a row to insert</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code> - if the write process encounters an error</dd>
-</dl>
-</li>
-</ul>
-<a name="write-java.lang.Object-">
-<!--   -->
-</a><a name="write-T-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>write</h4>
-<pre>default&nbsp;void&nbsp;write(<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&nbsp;row)
-            throws java.io.IOException</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>write</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.write.DataWriter&lt;<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="type parameter in DeltaWriter">T</a>&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" target="_top">Frames</a></li>
-<li><a href="DeltaWriter.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html b/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html
deleted file mode 100644
index c5d7957..0000000
--- a/javadoc/org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html
+++ /dev/null
@@ -1,230 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>DeltaWriterFactory</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeltaWriterFactory";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" target="_top">Frames</a></li>
-<li><a href="DeltaWriterFactory.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.spark.sql.connector.iceberg.write</div>
-<h2 title="Interface DeltaWriterFactory" class="title">Interface DeltaWriterFactory</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Superinterfaces:</dt>
-<dd>org.apache.spark.sql.connector.write.DataWriterFactory, java.io.Serializable</dd>
-</dl>
-<hr>
-<br>
-<pre>public interface <span class="typeNameLabel">DeltaWriterFactory</span>
-extends org.apache.spark.sql.connector.write.DataWriterFactory</pre>
-<div class="block">A factory for creating and initializing delta writers at the executor side.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriter</a>&lt;org.apache.spark.sql.catalyst.InternalRow&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html#createWriter-int-long-">createWriter</a></span>(int&nbsp;partitionId,
-            long&nbsp;taskId)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="createWriter-int-long-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>createWriter</h4>
-<pre><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriter</a>&lt;org.apache.spark.sql.catalyst.InternalRow&gt;&nbsp;createWriter(int&nbsp;partitionId,
-                                                                    long&nbsp;taskId)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>createWriter</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.write.DataWriterFactory</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" target="_top">Frames</a></li>
-<li><a href="DeltaWriterFactory.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html b/javadoc/org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html
deleted file mode 100644
index 65ed361..0000000
--- a/javadoc/org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html
+++ /dev/null
@@ -1,250 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>ExtendedLogicalWriteInfo</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExtendedLogicalWriteInfo";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":6,"i1":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" target="_top">Frames</a></li>
-<li><a href="ExtendedLogicalWriteInfo.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.spark.sql.connector.iceberg.write</div>
-<h2 title="Interface ExtendedLogicalWriteInfo" class="title">Interface ExtendedLogicalWriteInfo</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Superinterfaces:</dt>
-<dd>org.apache.spark.sql.connector.write.LogicalWriteInfo</dd>
-</dl>
-<hr>
-<br>
-<pre>public interface <span class="typeNameLabel">ExtendedLogicalWriteInfo</span>
-extends org.apache.spark.sql.connector.write.LogicalWriteInfo</pre>
-<div class="block">A class that holds logical write information not covered by LogicalWriteInfo in Spark.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>org.apache.spark.sql.types.StructType</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html#metadataSchema--">metadataSchema</a></span>()</code>
-<div class="block">The schema of the input metadata from Spark to data source.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>org.apache.spark.sql.types.StructType</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html#rowIdSchema--">rowIdSchema</a></span>()</code>
-<div class="block">The schema of the ID columns from Spark to data source.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.write.LogicalWriteInfo">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.write.LogicalWriteInfo</h3>
-<code>options, queryId, schema</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="metadataSchema--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>metadataSchema</h4>
-<pre>org.apache.spark.sql.types.StructType&nbsp;metadataSchema()</pre>
-<div class="block">The schema of the input metadata from Spark to data source.</div>
-</li>
-</ul>
-<a name="rowIdSchema--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>rowIdSchema</h4>
-<pre>org.apache.spark.sql.types.StructType&nbsp;rowIdSchema()</pre>
-<div class="block">The schema of the ID columns from Spark to data source.</div>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" target="_top">Frames</a></li>
-<li><a href="ExtendedLogicalWriteInfo.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html b/javadoc/org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html
deleted file mode 100644
index 95f7c80..0000000
--- a/javadoc/org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html
+++ /dev/null
@@ -1,267 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>SupportsDelta</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SupportsDelta";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":6,"i1":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" target="_top">Frames</a></li>
-<li><a href="SupportsDelta.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.spark.sql.connector.iceberg.write</div>
-<h2 title="Interface SupportsDelta" class="title">Interface SupportsDelta</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Superinterfaces:</dt>
-<dd>org.apache.spark.sql.connector.write.RowLevelOperation</dd>
-</dl>
-<hr>
-<br>
-<pre>public interface <span class="typeNameLabel">SupportsDelta</span>
-extends org.apache.spark.sql.connector.write.RowLevelOperation</pre>
-<div class="block">A mix-in interface for RowLevelOperation. Data sources can implement this interface to indicate
- they support handling deltas of rows.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.spark.sql.connector.write.RowLevelOperation">
-<!--   -->
-</a>
-<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.spark.sql.connector.write.RowLevelOperation</h3>
-<code>org.apache.spark.sql.connector.write.RowLevelOperation.Command</code></li>
-</ul>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriteBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html#newWriteBuilder-org.apache.spark.sql.connector.write.LogicalWriteInfo-">newWriteBuilder</a></span>(org.apache.spark.sql.connector.write.LogicalWriteInfo&nbsp;info)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>org.apache.spark.sql.connector.expressions.NamedReference[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html#rowId--">rowId</a></span>()</code>
-<div class="block">Returns the row ID column references that should be used for row equality.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.spark.sql.connector.write.RowLevelOperation">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.spark.sql.connector.write.RowLevelOperation</h3>
-<code>command, description, newScanBuilder, requiredMetadataAttributes</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="newWriteBuilder-org.apache.spark.sql.connector.write.LogicalWriteInfo-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newWriteBuilder</h4>
-<pre><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriteBuilder</a>&nbsp;newWriteBuilder(org.apache.spark.sql.connector.write.LogicalWriteInfo&nbsp;info)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>newWriteBuilder</code>&nbsp;in interface&nbsp;<code>org.apache.spark.sql.connector.write.RowLevelOperation</code></dd>
-</dl>
-</li>
-</ul>
-<a name="rowId--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>rowId</h4>
-<pre>org.apache.spark.sql.connector.expressions.NamedReference[]&nbsp;rowId()</pre>
-<div class="block">Returns the row ID column references that should be used for row equality.</div>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" target="_top">Frames</a></li>
-<li><a href="SupportsDelta.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/write/package-frame.html b/javadoc/org/apache/spark/sql/connector/iceberg/write/package-frame.html
deleted file mode 100644
index 31ba91e..0000000
--- a/javadoc/org/apache/spark/sql/connector/iceberg/write/package-frame.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>org.apache.spark.sql.connector.iceberg.write</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/package-summary.html" target="classFrame">org.apache.spark.sql.connector.iceberg.write</a></h1>
-<div class="indexContainer">
-<h2 title="Interfaces">Interfaces</h2>
-<ul title="Interfaces">
-<li><a href="DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">DeltaBatchWrite</span></a></li>
-<li><a href="DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">DeltaWrite</span></a></li>
-<li><a href="DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">DeltaWriteBuilder</span></a></li>
-<li><a href="DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">DeltaWriter</span></a></li>
-<li><a href="DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">DeltaWriterFactory</span></a></li>
-<li><a href="ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">ExtendedLogicalWriteInfo</span></a></li>
-<li><a href="SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write" target="classFrame"><span class="interfaceName">SupportsDelta</span></a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/write/package-summary.html b/javadoc/org/apache/spark/sql/connector/iceberg/write/package-summary.html
deleted file mode 100644
index c080554..0000000
--- a/javadoc/org/apache/spark/sql/connector/iceberg/write/package-summary.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>org.apache.spark.sql.connector.iceberg.write</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.spark.sql.connector.iceberg.write";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/catalog/package-summary.html">Prev&nbsp;Package</a></li>
-<li>Next&nbsp;Package</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.spark.sql.connector.iceberg.write</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
-<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Interface</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaBatchWrite</a></td>
-<td class="colLast">
-<div class="block">An interface that defines how to write a delta of rows during batch processing.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWrite</a></td>
-<td class="colLast">
-<div class="block">A logical representation of a data source write that handles a delta of rows.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriteBuilder</a></td>
-<td class="colLast">
-<div class="block">An interface for building delta writes.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriter</a>&lt;T&gt;</td>
-<td class="colLast">
-<div class="block">A data writer responsible for writing a delta of rows.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write">DeltaWriterFactory</a></td>
-<td class="colLast">
-<div class="block">A factory for creating and initializing delta writers at the executor side.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write">ExtendedLogicalWriteInfo</a></td>
-<td class="colLast">
-<div class="block">A class that holds logical write information not covered by LogicalWriteInfo in Spark.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write">SupportsDelta</a></td>
-<td class="colLast">
-<div class="block">A mix-in interface for RowLevelOperation.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/catalog/package-summary.html">Prev&nbsp;Package</a></li>
-<li>Next&nbsp;Package</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/org/apache/spark/sql/connector/iceberg/write/package-tree.html b/javadoc/org/apache/spark/sql/connector/iceberg/write/package-tree.html
deleted file mode 100644
index 827bc02..0000000
--- a/javadoc/org/apache/spark/sql/connector/iceberg/write/package-tree.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<title>org.apache.spark.sql.connector.iceberg.write Class Hierarchy</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.spark.sql.connector.iceberg.write Class Hierarchy";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/catalog/package-tree.html">Prev</a></li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.spark.sql.connector.iceberg.write</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.AutoCloseable
-<ul>
-<li type="circle">java.io.Closeable
-<ul>
-<li type="circle">org.apache.spark.sql.connector.write.DataWriter&lt;T&gt;
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWriter</span></a>&lt;T&gt;</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li type="circle">org.apache.spark.sql.connector.write.BatchWrite
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaBatchWrite</span></a></li>
-</ul>
-</li>
-<li type="circle">org.apache.spark.sql.connector.write.LogicalWriteInfo
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">ExtendedLogicalWriteInfo</span></a></li>
-</ul>
-</li>
-<li type="circle">org.apache.spark.sql.connector.write.RowLevelOperation
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">SupportsDelta</span></a></li>
-</ul>
-</li>
-<li type="circle">java.io.Serializable
-<ul>
-<li type="circle">org.apache.spark.sql.connector.write.DataWriterFactory
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWriterFactory</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li type="circle">org.apache.spark.sql.connector.write.Write
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWrite</span></a></li>
-</ul>
-</li>
-<li type="circle">org.apache.spark.sql.connector.write.WriteBuilder
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="../../../../../../../org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWriteBuilder</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/spark/sql/connector/iceberg/catalog/package-tree.html">Prev</a></li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/spark/sql/connector/iceberg/write/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/javadoc/overview-frame.html b/javadoc/overview-frame.html
index f72e20b..355c218 100644
--- a/javadoc/overview-frame.html
+++ b/javadoc/overview-frame.html
@@ -27,6 +27,7 @@
 <li><a href="org/apache/iceberg/aws/lakeformation/package-frame.html" target="packageFrame">org.apache.iceberg.aws.lakeformation</a></li>
 <li><a href="org/apache/iceberg/aws/s3/package-frame.html" target="packageFrame">org.apache.iceberg.aws.s3</a></li>
 <li><a href="org/apache/iceberg/aws/s3/signer/package-frame.html" target="packageFrame">org.apache.iceberg.aws.s3.signer</a></li>
+<li><a href="org/apache/iceberg/aws/util/package-frame.html" target="packageFrame">org.apache.iceberg.aws.util</a></li>
 <li><a href="org/apache/iceberg/catalog/package-frame.html" target="packageFrame">org.apache.iceberg.catalog</a></li>
 <li><a href="org/apache/iceberg/common/package-frame.html" target="packageFrame">org.apache.iceberg.common</a></li>
 <li><a href="org/apache/iceberg/data/package-frame.html" target="packageFrame">org.apache.iceberg.data</a></li>
@@ -55,6 +56,7 @@
 <li><a href="org/apache/iceberg/gcp/gcs/package-frame.html" target="packageFrame">org.apache.iceberg.gcp.gcs</a></li>
 <li><a href="org/apache/iceberg/hadoop/package-frame.html" target="packageFrame">org.apache.iceberg.hadoop</a></li>
 <li><a href="org/apache/iceberg/hive/package-frame.html" target="packageFrame">org.apache.iceberg.hive</a></li>
+<li><a href="org/apache/iceberg/inmemory/package-frame.html" target="packageFrame">org.apache.iceberg.inmemory</a></li>
 <li><a href="org/apache/iceberg/io/package-frame.html" target="packageFrame">org.apache.iceberg.io</a></li>
 <li><a href="org/apache/iceberg/jdbc/package-frame.html" target="packageFrame">org.apache.iceberg.jdbc</a></li>
 <li><a href="org/apache/iceberg/mapping/package-frame.html" target="packageFrame">org.apache.iceberg.mapping</a></li>
@@ -90,7 +92,6 @@
 <li><a href="org/apache/spark/sql/catalyst/analysis/package-frame.html" target="packageFrame">org.apache.spark.sql.catalyst.analysis</a></li>
 <li><a href="org/apache/spark/sql/catalyst/parser/extensions/package-frame.html" target="packageFrame">org.apache.spark.sql.catalyst.parser.extensions</a></li>
 <li><a href="org/apache/spark/sql/connector/iceberg/catalog/package-frame.html" target="packageFrame">org.apache.spark.sql.connector.iceberg.catalog</a></li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/package-frame.html" target="packageFrame">org.apache.spark.sql.connector.iceberg.write</a></li>
 </ul>
 </div>
 <p>&nbsp;</p>
diff --git a/javadoc/overview-summary.html b/javadoc/overview-summary.html
index 9ac21a7..1777e0d 100644
--- a/javadoc/overview-summary.html
+++ b/javadoc/overview-summary.html
@@ -136,117 +136,125 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="org/apache/iceberg/aws/util/package-summary.html">org.apache.iceberg.aws.util</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/catalog/package-summary.html">org.apache.iceberg.catalog</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/common/package-summary.html">org.apache.iceberg.common</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/package-summary.html">org.apache.iceberg.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/avro/package-summary.html">org.apache.iceberg.data.avro</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/orc/package-summary.html">org.apache.iceberg.data.orc</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/data/parquet/package-summary.html">org.apache.iceberg.data.parquet</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/deletes/package-summary.html">org.apache.iceberg.deletes</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/dell/package-summary.html">org.apache.iceberg.dell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/dell/ecs/package-summary.html">org.apache.iceberg.dell.ecs</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/delta/package-summary.html">org.apache.iceberg.delta</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/encryption/package-summary.html">org.apache.iceberg.encryption</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/events/package-summary.html">org.apache.iceberg.events</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/exceptions/package-summary.html">org.apache.iceberg.exceptions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/expressions/package-summary.html">org.apache.iceberg.expressions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/package-summary.html">org.apache.iceberg.flink</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/actions/package-summary.html">org.apache.iceberg.flink.actions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/data/package-summary.html">org.apache.iceberg.flink.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/sink/package-summary.html">org.apache.iceberg.flink.sink</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/package-summary.html">org.apache.iceberg.flink.source</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/assigner/package-summary.html">org.apache.iceberg.flink.source.assigner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/enumerator/package-summary.html">org.apache.iceberg.flink.source.enumerator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/reader/package-summary.html">org.apache.iceberg.flink.source.reader</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/source/split/package-summary.html">org.apache.iceberg.flink.source.split</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/flink/util/package-summary.html">org.apache.iceberg.flink.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/gcp/package-summary.html">org.apache.iceberg.gcp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/gcp/gcs/package-summary.html">org.apache.iceberg.gcp.gcs</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/iceberg/hadoop/package-summary.html">org.apache.iceberg.hadoop</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/hive/package-summary.html">org.apache.iceberg.hive</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/iceberg/inmemory/package-summary.html">org.apache.iceberg.inmemory</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/iceberg/io/package-summary.html">org.apache.iceberg.io</a></td>
 <td class="colLast">&nbsp;</td>
@@ -387,10 +395,6 @@
 <td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/catalog/package-summary.html">org.apache.spark.sql.connector.iceberg.catalog</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/spark/sql/connector/iceberg/write/package-summary.html">org.apache.spark.sql.connector.iceberg.write</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </div>
diff --git a/javadoc/overview-tree.html b/javadoc/overview-tree.html
index a0fe223..e2816e4 100644
--- a/javadoc/overview-tree.html
+++ b/javadoc/overview-tree.html
@@ -86,6 +86,7 @@
 <li><a href="org/apache/iceberg/aws/lakeformation/package-tree.html">org.apache.iceberg.aws.lakeformation</a>, </li>
 <li><a href="org/apache/iceberg/aws/s3/package-tree.html">org.apache.iceberg.aws.s3</a>, </li>
 <li><a href="org/apache/iceberg/aws/s3/signer/package-tree.html">org.apache.iceberg.aws.s3.signer</a>, </li>
+<li><a href="org/apache/iceberg/aws/util/package-tree.html">org.apache.iceberg.aws.util</a>, </li>
 <li><a href="org/apache/iceberg/catalog/package-tree.html">org.apache.iceberg.catalog</a>, </li>
 <li><a href="org/apache/iceberg/common/package-tree.html">org.apache.iceberg.common</a>, </li>
 <li><a href="org/apache/iceberg/data/package-tree.html">org.apache.iceberg.data</a>, </li>
@@ -114,6 +115,7 @@
 <li><a href="org/apache/iceberg/gcp/gcs/package-tree.html">org.apache.iceberg.gcp.gcs</a>, </li>
 <li><a href="org/apache/iceberg/hadoop/package-tree.html">org.apache.iceberg.hadoop</a>, </li>
 <li><a href="org/apache/iceberg/hive/package-tree.html">org.apache.iceberg.hive</a>, </li>
+<li><a href="org/apache/iceberg/inmemory/package-tree.html">org.apache.iceberg.inmemory</a>, </li>
 <li><a href="org/apache/iceberg/io/package-tree.html">org.apache.iceberg.io</a>, </li>
 <li><a href="org/apache/iceberg/jdbc/package-tree.html">org.apache.iceberg.jdbc</a>, </li>
 <li><a href="org/apache/iceberg/mapping/package-tree.html">org.apache.iceberg.mapping</a>, </li>
@@ -148,8 +150,7 @@
 <li><a href="org/apache/iceberg/view/package-tree.html">org.apache.iceberg.view</a>, </li>
 <li><a href="org/apache/spark/sql/catalyst/analysis/package-tree.html">org.apache.spark.sql.catalyst.analysis</a>, </li>
 <li><a href="org/apache/spark/sql/catalyst/parser/extensions/package-tree.html">org.apache.spark.sql.catalyst.parser.extensions</a>, </li>
-<li><a href="org/apache/spark/sql/connector/iceberg/catalog/package-tree.html">org.apache.spark.sql.connector.iceberg.catalog</a>, </li>
-<li><a href="org/apache/spark/sql/connector/iceberg/write/package-tree.html">org.apache.spark.sql.connector.iceberg.write</a></li>
+<li><a href="org/apache/spark/sql/connector/iceberg/catalog/package-tree.html">org.apache.spark.sql.connector.iceberg.catalog</a></li>
 </ul>
 </div>
 <div class="contentContainer">
@@ -226,7 +227,7 @@
 <li type="circle">org.apache.iceberg.mr.hive.<a href="org/apache/iceberg/mr/hive/HiveIcebergSerDe.html" title="class in org.apache.iceberg.mr.hive"><span class="typeNameLink">HiveIcebergSerDe</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.flink.streaming.api.operators.AbstractStreamOperator&lt;OUT&gt; (implements java.io.Serializable, org.apache.flink.streaming.api.operators.SetupableStreamOperator&lt;OUT&gt;, org.apache.flink.streaming.api.operators.StreamOperator&lt;OUT&gt;, org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator)
+<li type="circle">org.apache.flink.streaming.api.operators.AbstractStreamOperator&lt;OUT&gt; (implements org.apache.flink.streaming.api.operators.KeyContextHandler, java.io.Serializable, org.apache.flink.streaming.api.operators.SetupableStreamOperator&lt;OUT&gt;, org.apache.flink.streaming.api.operators.StreamOperator&lt;OUT&gt;, org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.CheckpointedStreamOperator)
 <ul>
 <li type="circle">org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/StreamingReaderOperator.html" title="class in org.apache.iceberg.flink.source"><span class="typeNameLink">StreamingReaderOperator</span></a> (implements org.apache.flink.streaming.api.operators.OneInputStreamOperator&lt;IN,OUT&gt;)</li>
 </ul>
@@ -293,6 +294,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientFactories.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">AwsClientFactories</span></a></li>
+<li type="circle">org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">AwsClientProperties</span></a> (implements java.io.Serializable)</li>
 <li type="circle">org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">AwsProperties</span></a> (implements java.io.Serializable)</li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/BaseBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized"><span class="typeNameLink">BaseBatchReader</span></a>&lt;T&gt; (implements org.apache.iceberg.parquet.<a href="org/apache/iceberg/parquet/VectorizedReader.html" title="interface in org.apache.iceberg.parquet">VectorizedReader</a>&lt;T&gt;)
 <ul>
@@ -308,7 +310,6 @@
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/BaseCombinedScanTask.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseCombinedScanTask</span></a> (implements org.apache.iceberg.<a href="org/apache/iceberg/CombinedScanTask.html" title="interface in org.apache.iceberg">CombinedScanTask</a>)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteOrphanFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseDeleteOrphanFilesActionResult</span></a> (implements org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/DeleteOrphanFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteOrphanFiles.Result</a>)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseDeleteReachableFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseDeleteReachableFilesActionResult</span></a> (implements org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/DeleteReachableFiles.Result.html" title="interface in org.apache.iceberg.actions">DeleteReachableFiles.Result</a>)</li>
-<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseExpireSnapshotsActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseExpireSnapshotsActionResult</span></a> (implements org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions">ExpireSnapshots.Result</a>)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BaseFileGroupRewriteResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BaseFileGroupRewriteResult</span></a> (implements org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles.FileGroupRewriteResult</a>)</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/BaseFileScanTask.html" title="class in org.apache.iceberg"><span class="typeNameLink">BaseFileScanTask</span></a> (implements org.apache.iceberg.<a href="org/apache/iceberg/FileScanTask.html" title="interface in org.apache.iceberg">FileScanTask</a>)</li>
 <li type="circle">org.apache.iceberg.data.<a href="org/apache/iceberg/data/BaseFileWriterFactory.html" title="class in org.apache.iceberg.data"><span class="typeNameLink">BaseFileWriterFactory</span></a>&lt;T&gt; (implements org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileWriterFactory.html" title="interface in org.apache.iceberg.io">FileWriterFactory</a>&lt;T&gt;)</li>
@@ -339,8 +340,9 @@
 <li type="circle">org.apache.iceberg.aws.glue.<a href="org/apache/iceberg/aws/glue/GlueCatalog.html" title="class in org.apache.iceberg.aws.glue"><span class="typeNameLink">GlueCatalog</span></a> (implements java.io.Closeable, org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop">Configurable</a>&lt;C&gt;, org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>)</li>
 <li type="circle">org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/HadoopCatalog.html" title="class in org.apache.iceberg.hadoop"><span class="typeNameLink">HadoopCatalog</span></a> (implements java.io.Closeable, org.apache.hadoop.conf.Configurable, org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>)</li>
 <li type="circle">org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveCatalog.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">HiveCatalog</span></a> (implements org.apache.hadoop.conf.Configurable, org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>)</li>
+<li type="circle">org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryCatalog.html" title="class in org.apache.iceberg.inmemory"><span class="typeNameLink">InMemoryCatalog</span></a> (implements java.io.Closeable, org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>)</li>
 <li type="circle">org.apache.iceberg.jdbc.<a href="org/apache/iceberg/jdbc/JdbcCatalog.html" title="class in org.apache.iceberg.jdbc"><span class="typeNameLink">JdbcCatalog</span></a> (implements java.io.Closeable, org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop">Configurable</a>&lt;C&gt;, org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>)</li>
-<li type="circle">org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie"><span class="typeNameLink">NessieCatalog</span></a> (implements java.lang.AutoCloseable, org.apache.hadoop.conf.Configurable, org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>)</li>
+<li type="circle">org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieCatalog.html" title="class in org.apache.iceberg.nessie"><span class="typeNameLink">NessieCatalog</span></a> (implements java.lang.AutoCloseable, org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop">Configurable</a>&lt;C&gt;, org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>)</li>
 <li type="circle">org.apache.iceberg.snowflake.<a href="org/apache/iceberg/snowflake/SnowflakeCatalog.html" title="class in org.apache.iceberg.snowflake"><span class="typeNameLink">SnowflakeCatalog</span></a> (implements java.io.Closeable, org.apache.iceberg.hadoop.<a href="org/apache/iceberg/hadoop/Configurable.html" title="interface in org.apache.iceberg.hadoop">Configurable</a>&lt;C&gt;, org.apache.iceberg.catalog.<a href="org/apache/iceberg/catalog/SupportsNamespaces.html" title="interface in org.apache.iceberg.catalog">SupportsNamespaces</a>)</li>
 </ul>
 </li>
@@ -419,16 +421,7 @@
 <li type="circle">org.apache.iceberg.util.<a href="org/apache/iceberg/util/BinPacking.PackingIterable.html" title="class in org.apache.iceberg.util"><span class="typeNameLink">BinPacking.PackingIterable</span></a>&lt;T&gt; (implements java.lang.Iterable&lt;T&gt;)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">BinPackStrategy</span></a> (implements org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions">RewriteStrategy</a>)
 <ul>
-<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SortStrategy</span></a>
-<ul>
-<li type="circle">org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SparkSortStrategy</span></a>
-<ul>
-<li type="circle">org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SparkZOrderStrategy</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li type="circle">org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">SparkBinPackStrategy</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SortStrategy</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/Blob.html" title="class in org.apache.iceberg.puffin"><span class="typeNameLink">Blob</span></a></li>
@@ -457,7 +450,11 @@
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/CatalogProperties.html" title="class in org.apache.iceberg"><span class="typeNameLink">CatalogProperties</span></a></li>
 <li type="circle">org.apache.iceberg.mr.<a href="org/apache/iceberg/mr/Catalogs.html" title="class in org.apache.iceberg.mr"><span class="typeNameLink">Catalogs</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/CatalogUtil.html" title="class in org.apache.iceberg"><span class="typeNameLink">CatalogUtil</span></a></li>
-<li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ChangelogIterator</span></a> (implements java.util.Iterator&lt;E&gt;)</li>
+<li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ChangelogIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ChangelogIterator</span></a> (implements java.util.Iterator&lt;E&gt;)
+<ul>
+<li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/ComputeUpdateIterator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">ComputeUpdateIterator</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/ChangelogUtil.html" title="class in org.apache.iceberg"><span class="typeNameLink">ChangelogUtil</span></a></li>
 <li type="circle">org.apache.iceberg.util.<a href="org/apache/iceberg/util/CharSequenceSet.html" title="class in org.apache.iceberg.util"><span class="typeNameLink">CharSequenceSet</span></a> (implements java.io.Serializable, java.util.Set&lt;E&gt;)</li>
 <li type="circle">org.apache.iceberg.util.<a href="org/apache/iceberg/util/CharSequenceWrapper.html" title="class in org.apache.iceberg.util"><span class="typeNameLink">CharSequenceWrapper</span></a> (implements java.lang.CharSequence, java.io.Serializable)</li>
@@ -552,6 +549,7 @@
 <li type="circle">org.apache.iceberg.transforms.<a href="org/apache/iceberg/transforms/Days.html" title="class in org.apache.iceberg.transforms"><span class="typeNameLink">Days</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction.DateToDaysFunction</span></a></li>
+<li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction.TimestampNtzToDaysFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampToDaysFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">DaysFunction.TimestampToDaysFunction</span></a></li>
 <li type="circle">org.apache.iceberg.util.<a href="org/apache/iceberg/util/DecimalUtil.html" title="class in org.apache.iceberg.util"><span class="typeNameLink">DecimalUtil</span></a></li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/DecimalVectorUtil.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">DecimalVectorUtil</span></a></li>
@@ -574,6 +572,7 @@
 <li type="circle">org.apache.iceberg.dell.<a href="org/apache/iceberg/dell/DellClientFactories.html" title="class in org.apache.iceberg.dell"><span class="typeNameLink">DellClientFactories</span></a></li>
 <li type="circle">org.apache.iceberg.dell.<a href="org/apache/iceberg/dell/DellProperties.html" title="class in org.apache.iceberg.dell"><span class="typeNameLink">DellProperties</span></a> (implements java.io.Serializable)</li>
 <li type="circle">org.apache.iceberg.delta.<a href="org/apache/iceberg/delta/DeltaLakeToIcebergMigrationActionsProvider.DefaultDeltaLakeToIcebergMigrationActions.html" title="class in org.apache.iceberg.delta"><span class="typeNameLink">DeltaLakeToIcebergMigrationActionsProvider.DefaultDeltaLakeToIcebergMigrationActions</span></a> (implements org.apache.iceberg.delta.<a href="org/apache/iceberg/delta/DeltaLakeToIcebergMigrationActionsProvider.html" title="interface in org.apache.iceberg.delta">DeltaLakeToIcebergMigrationActionsProvider</a>)</li>
+<li type="circle">org.apache.iceberg.arrow.<a href="org/apache/iceberg/arrow/DictEncodedArrowConverter.html" title="class in org.apache.iceberg.arrow"><span class="typeNameLink">DictEncodedArrowConverter</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/DoubleFieldMetrics.Builder.html" title="class in org.apache.iceberg"><span class="typeNameLink">DoubleFieldMetrics.Builder</span></a></li>
 <li type="circle">org.apache.iceberg.common.<a href="org/apache/iceberg/common/DynClasses.html" title="class in org.apache.iceberg.common"><span class="typeNameLink">DynClasses</span></a></li>
 <li type="circle">org.apache.iceberg.common.<a href="org/apache/iceberg/common/DynClasses.Builder.html" title="class in org.apache.iceberg.common"><span class="typeNameLink">DynClasses.Builder</span></a></li>
@@ -640,7 +639,6 @@
 <li type="circle">org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/FileMetadataParser.html" title="class in org.apache.iceberg.puffin"><span class="typeNameLink">FileMetadataParser</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">FileRewriteCoordinator</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/Files.html" title="class in org.apache.iceberg"><span class="typeNameLink">Files</span></a></li>
-<li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">FileScanTaskSetManager</span></a></li>
 <li type="circle">org.apache.iceberg.util.<a href="org/apache/iceberg/util/Filter.html" title="class in org.apache.iceberg.util"><span class="typeNameLink">Filter</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/FilterIterator.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">FilterIterator</span></a>&lt;T&gt; (implements org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io">CloseableIterator</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/FindFiles.html" title="class in org.apache.iceberg"><span class="typeNameLink">FindFiles</span></a></li>
@@ -666,6 +664,7 @@
 <li type="circle">org.apache.iceberg.flink.sink.<a href="org/apache/iceberg/flink/sink/FlinkSink.Builder.html" title="class in org.apache.iceberg.flink.sink"><span class="typeNameLink">FlinkSink.Builder</span></a></li>
 <li type="circle">org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkSource.html" title="class in org.apache.iceberg.flink.source"><span class="typeNameLink">FlinkSource</span></a></li>
 <li type="circle">org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkSource.Builder.html" title="class in org.apache.iceberg.flink.source"><span class="typeNameLink">FlinkSource.Builder</span></a></li>
+<li type="circle">org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkSourceFilter</span></a> (implements org.apache.flink.api.common.functions.FilterFunction&lt;T&gt;)</li>
 <li type="circle">org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkSplitPlanner.html" title="class in org.apache.iceberg.flink.source"><span class="typeNameLink">FlinkSplitPlanner</span></a></li>
 <li type="circle">org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/FlinkTypeVisitor.html" title="class in org.apache.iceberg.flink"><span class="typeNameLink">FlinkTypeVisitor</span></a>&lt;T&gt; (implements org.apache.flink.table.types.logical.LogicalTypeVisitor&lt;R&gt;)</li>
 <li type="circle">org.apache.iceberg.flink.data.<a href="org/apache/iceberg/flink/data/FlinkValueReaders.html" title="class in org.apache.iceberg.flink.data"><span class="typeNameLink">FlinkValueReaders</span></a></li>
@@ -708,9 +707,11 @@
 <li type="circle">org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/HiveSchemaUtil.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">HiveSchemaUtil</span></a></li>
 <li type="circle">org.apache.iceberg.transforms.<a href="org/apache/iceberg/transforms/Hours.html" title="class in org.apache.iceberg.transforms"><span class="typeNameLink">Hours</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">HoursFunction</span></a></li>
+<li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">HoursFunction.TimestampNtzToHoursFunction</span></a> (implements org.apache.spark.sql.connector.catalog.functions.ScalarFunction&lt;R&gt;)</li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampToHoursFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">HoursFunction.TimestampToHoursFunction</span></a> (implements org.apache.spark.sql.connector.catalog.functions.ScalarFunction&lt;R&gt;)</li>
 <li type="circle">org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/HTTPClient.html" title="class in org.apache.iceberg.rest"><span class="typeNameLink">HTTPClient</span></a> (implements org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/RESTClient.html" title="interface in org.apache.iceberg.rest">RESTClient</a>)</li>
 <li type="circle">org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/HTTPClient.Builder.html" title="class in org.apache.iceberg.rest"><span class="typeNameLink">HTTPClient.Builder</span></a></li>
+<li type="circle">org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">HttpClientProperties</span></a> (implements java.io.Serializable)</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/IcebergBuild.html" title="class in org.apache.iceberg"><span class="typeNameLink">IcebergBuild</span></a></li>
 <li type="circle">org.apache.iceberg.data.avro.<a href="org/apache/iceberg/data/avro/IcebergEncoder.html" title="class in org.apache.iceberg.data.avro"><span class="typeNameLink">IcebergEncoder</span></a>&lt;D&gt; (implements org.apache.avro.message.MessageEncoder&lt;D&gt;)</li>
 <li type="circle">org.apache.iceberg.flink.source.enumerator.<a href="org/apache/iceberg/flink/source/enumerator/IcebergEnumeratorState.html" title="class in org.apache.iceberg.flink.source.enumerator"><span class="typeNameLink">IcebergEnumeratorState</span></a> (implements java.io.Serializable)</li>
@@ -732,6 +733,9 @@
 <li type="circle">org.apache.iceberg.data.<a href="org/apache/iceberg/data/IdentityPartitionConverters.html" title="class in org.apache.iceberg.data"><span class="typeNameLink">IdentityPartitionConverters</span></a></li>
 <li type="circle">org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/InclusiveMetricsEvaluator.html" title="class in org.apache.iceberg.expressions"><span class="typeNameLink">InclusiveMetricsEvaluator</span></a></li>
 <li type="circle">org.apache.iceberg.events.<a href="org/apache/iceberg/events/IncrementalScanEvent.html" title="class in org.apache.iceberg.events"><span class="typeNameLink">IncrementalScanEvent</span></a></li>
+<li type="circle">org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory"><span class="typeNameLink">InMemoryFileIO</span></a> (implements org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>)</li>
+<li type="circle">org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryInputFile.html" title="class in org.apache.iceberg.inmemory"><span class="typeNameLink">InMemoryInputFile</span></a> (implements org.apache.iceberg.io.<a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a>)</li>
+<li type="circle">org.apache.iceberg.inmemory.<a href="org/apache/iceberg/inmemory/InMemoryOutputFile.html" title="class in org.apache.iceberg.inmemory"><span class="typeNameLink">InMemoryOutputFile</span></a> (implements org.apache.iceberg.io.<a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a>)</li>
 <li type="circle">org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/InputFilesDecryptor.html" title="class in org.apache.iceberg.encryption"><span class="typeNameLink">InputFilesDecryptor</span></a></li>
 <li type="circle">org.apache.hadoop.mapreduce.InputFormat&lt;K,V&gt;
 <ul>
@@ -887,6 +891,7 @@
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/MetricsModes.Full.html" title="class in org.apache.iceberg"><span class="typeNameLink">MetricsModes.Full</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/MetricsModes.None.html" title="class in org.apache.iceberg"><span class="typeNameLink">MetricsModes.None</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/MetricsModes.Truncate.html" title="class in org.apache.iceberg"><span class="typeNameLink">MetricsModes.Truncate</span></a></li>
+<li type="circle">org.apache.iceberg.metrics.<a href="org/apache/iceberg/metrics/MetricsReporters.html" title="class in org.apache.iceberg.metrics"><span class="typeNameLink">MetricsReporters</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/MetricsUtil.html" title="class in org.apache.iceberg"><span class="typeNameLink">MetricsUtil</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/MetricsUtil.ReadableColMetricsStruct.html" title="class in org.apache.iceberg"><span class="typeNameLink">MetricsUtil.ReadableColMetricsStruct</span></a> (implements org.apache.iceberg.<a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>)</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/MetricsUtil.ReadableMetricColDefinition.html" title="class in org.apache.iceberg"><span class="typeNameLink">MetricsUtil.ReadableMetricColDefinition</span></a></li>
@@ -898,6 +903,7 @@
 <li type="circle">org.apache.iceberg.transforms.<a href="org/apache/iceberg/transforms/Months.html" title="class in org.apache.iceberg.transforms"><span class="typeNameLink">Months</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction.DateToMonthsFunction</span></a></li>
+<li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction.TimestampNtzToMonthsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">MonthsFunction.TimestampToMonthsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/NamedReference.html" title="class in org.apache.iceberg.expressions"><span class="typeNameLink">NamedReference</span></a>&lt;T&gt; (implements org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Reference.html" title="interface in org.apache.iceberg.expressions">Reference</a>&lt;T&gt;, org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/UnboundTerm.html" title="interface in org.apache.iceberg.expressions">UnboundTerm</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.iceberg.mapping.<a href="org/apache/iceberg/mapping/NameMapping.html" title="class in org.apache.iceberg.mapping"><span class="typeNameLink">NameMapping</span></a> (implements java.io.Serializable)</li>
@@ -908,6 +914,7 @@
 <li type="circle">org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/NativeFileCryptoParameters.Builder.html" title="class in org.apache.iceberg.encryption"><span class="typeNameLink">NativeFileCryptoParameters.Builder</span></a></li>
 <li type="circle">org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieIcebergClient.html" title="class in org.apache.iceberg.nessie"><span class="typeNameLink">NessieIcebergClient</span></a> (implements java.lang.AutoCloseable)</li>
 <li type="circle">org.apache.iceberg.nessie.<a href="org/apache/iceberg/nessie/NessieUtil.html" title="class in org.apache.iceberg.nessie"><span class="typeNameLink">NessieUtil</span></a></li>
+<li type="circle">org.apache.iceberg.hive.<a href="org/apache/iceberg/hive/NoLock.html" title="class in org.apache.iceberg.hive"><span class="typeNameLink">NoLock</span></a></li>
 <li type="circle">org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Not.html" title="class in org.apache.iceberg.expressions"><span class="typeNameLink">Not</span></a> (implements org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>)</li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.<a href="org/apache/iceberg/arrow/vectorized/NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized"><span class="typeNameLink">NullabilityHolder</span></a></li>
 <li type="circle">org.apache.iceberg.spark.source.metrics.<a href="org/apache/iceberg/spark/source/metrics/NumDeletes.html" title="class in org.apache.iceberg.spark.source.metrics"><span class="typeNameLink">NumDeletes</span></a> (implements org.apache.spark.sql.connector.metric.CustomMetric)</li>
@@ -1032,6 +1039,7 @@
 <li type="circle">org.apache.iceberg.pig.<a href="org/apache/iceberg/pig/PigParquetReader.html" title="class in org.apache.iceberg.pig"><span class="typeNameLink">PigParquetReader</span></a></li>
 <li type="circle">org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/PlaintextEncryptionManager.html" title="class in org.apache.iceberg.encryption"><span class="typeNameLink">PlaintextEncryptionManager</span></a> (implements org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a>)</li>
 <li type="circle">org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/PositionDelete.html" title="class in org.apache.iceberg.deletes"><span class="typeNameLink">PositionDelete</span></a>&lt;R&gt; (implements org.apache.iceberg.<a href="org/apache/iceberg/StructLike.html" title="interface in org.apache.iceberg">StructLike</a>)</li>
+<li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/PositionDeletesRewriteCoordinator.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">PositionDeletesRewriteCoordinator</span></a></li>
 <li type="circle">org.apache.iceberg.deletes.<a href="org/apache/iceberg/deletes/PositionDeleteWriter.html" title="class in org.apache.iceberg.deletes"><span class="typeNameLink">PositionDeleteWriter</span></a>&lt;T&gt; (implements org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileWriter.html" title="interface in org.apache.iceberg.io">FileWriter</a>&lt;T,R&gt;)</li>
 <li type="circle">org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Predicate.html" title="class in org.apache.iceberg.expressions"><span class="typeNameLink">Predicate</span></a>&lt;T,C&gt; (implements org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions">Expression</a>)
 <ul>
@@ -1086,12 +1094,18 @@
 <li type="circle">org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/RESTSerializers.html" title="class in org.apache.iceberg.rest"><span class="typeNameLink">RESTSerializers</span></a></li>
 <li type="circle">org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/RESTSigV4Signer.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">RESTSigV4Signer</span></a> (implements org.apache.hc.core5.http.HttpRequestInterceptor)</li>
 <li type="circle">org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/RESTUtil.html" title="class in org.apache.iceberg.rest"><span class="typeNameLink">RESTUtil</span></a></li>
+<li type="circle">org.apache.iceberg.aws.util.<a href="org/apache/iceberg/aws/util/RetryDetector.html" title="class in org.apache.iceberg.aws.util"><span class="typeNameLink">RetryDetector</span></a> (implements software.amazon.awssdk.metrics.MetricPublisher)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesActionResult.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFilesActionResult</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFilesCommitManager</span></a></li>
-<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFilesCommitManager.CommitService</span></a> (implements java.io.Closeable)</li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFilesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFilesCommitManager.CommitService</span></a></li>
 <li type="circle">org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewriteDataFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">RewriteDataFilesSparkAction</span></a> (implements org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.html" title="interface in org.apache.iceberg.actions">RewriteDataFiles</a>)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteFileGroup.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewriteFileGroup</span></a></li>
 <li type="circle">org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewriteManifestsSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">RewriteManifestsSparkAction</span></a> (implements org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteManifests.html" title="interface in org.apache.iceberg.actions">RewriteManifests</a>)</li>
+<li type="circle">org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/RewritePositionDeleteFilesProcedure.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">RewritePositionDeleteFilesProcedure</span></a></li>
+<li type="circle">org.apache.iceberg.spark.actions.<a href="org/apache/iceberg/spark/actions/RewritePositionDeleteFilesSparkAction.html" title="class in org.apache.iceberg.spark.actions"><span class="typeNameLink">RewritePositionDeleteFilesSparkAction</span></a> (implements org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.html" title="interface in org.apache.iceberg.actions">RewritePositionDeleteFiles</a>)</li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeletesCommitManager</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesCommitManager.CommitService.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeletesCommitManager.CommitService</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeletesGroup.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeletesGroup</span></a></li>
 <li type="circle">org.apache.flink.api.common.io.RichInputFormat&lt;OT,T&gt; (implements org.apache.flink.api.common.io.InputFormat&lt;OT,T&gt;)
 <ul>
 <li type="circle">org.apache.iceberg.flink.source.<a href="org/apache/iceberg/flink/source/FlinkInputFormat.html" title="class in org.apache.iceberg.flink.source"><span class="typeNameLink">FlinkInputFormat</span></a></li>
@@ -1198,6 +1212,8 @@
 </ul>
 </li>
 <li type="circle">org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIO.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3FileIO</span></a> (implements org.apache.iceberg.io.<a href="org/apache/iceberg/io/CredentialSupplier.html" title="interface in org.apache.iceberg.io">CredentialSupplier</a>, org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a>, org.apache.iceberg.io.<a href="org/apache/iceberg/io/SupportsBulkOperations.html" title="interface in org.apache.iceberg.io">SupportsBulkOperations</a>, org.apache.iceberg.io.<a href="org/apache/iceberg/io/SupportsPrefixOperations.html" title="interface in org.apache.iceberg.io">SupportsPrefixOperations</a>)</li>
+<li type="circle">org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/S3FileIOAwsClientFactories.html" title="class in org.apache.iceberg.aws"><span class="typeNameLink">S3FileIOAwsClientFactories</span></a></li>
+<li type="circle">org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3FileIOProperties</span></a> (implements java.io.Serializable)</li>
 <li type="circle">org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3InputFile.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3InputFile</span></a> (implements org.apache.iceberg.io.<a href="org/apache/iceberg/io/InputFile.html" title="interface in org.apache.iceberg.io">InputFile</a>, org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/NativelyEncryptedFile.html" title="interface in org.apache.iceberg.encryption">NativelyEncryptedFile</a>)</li>
 <li type="circle">org.apache.iceberg.aws.s3.signer.<a href="org/apache/iceberg/aws/s3/signer/S3ObjectMapper.html" title="class in org.apache.iceberg.aws.s3.signer"><span class="typeNameLink">S3ObjectMapper</span></a></li>
 <li type="circle">org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3OutputFile.html" title="class in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3OutputFile</span></a> (implements org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/NativelyEncryptedFile.html" title="interface in org.apache.iceberg.encryption">NativelyEncryptedFile</a>, org.apache.iceberg.io.<a href="org/apache/iceberg/io/OutputFile.html" title="interface in org.apache.iceberg.io">OutputFile</a>)</li>
@@ -1240,6 +1256,12 @@
 <li type="circle">org.apache.iceberg.flink.source.assigner.<a href="org/apache/iceberg/flink/source/assigner/SimpleSplitAssigner.html" title="class in org.apache.iceberg.flink.source.assigner"><span class="typeNameLink">SimpleSplitAssigner</span></a> (implements org.apache.iceberg.flink.source.assigner.<a href="org/apache/iceberg/flink/source/assigner/SplitAssigner.html" title="interface in org.apache.iceberg.flink.source.assigner">SplitAssigner</a>)</li>
 <li type="circle">org.apache.iceberg.flink.source.assigner.<a href="org/apache/iceberg/flink/source/assigner/SimpleSplitAssignerFactory.html" title="class in org.apache.iceberg.flink.source.assigner"><span class="typeNameLink">SimpleSplitAssignerFactory</span></a> (implements org.apache.iceberg.flink.source.assigner.<a href="org/apache/iceberg/flink/source/assigner/SplitAssignerFactory.html" title="interface in org.apache.iceberg.flink.source.assigner">SplitAssignerFactory</a>)</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/SingleValueParser.html" title="class in org.apache.iceberg"><span class="typeNameLink">SingleValueParser</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedFileRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SizeBasedFileRewriter</span></a>&lt;T,F&gt; (implements org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions">FileRewriter</a>&lt;T,F&gt;)
+<ul>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedDataRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SizeBasedDataRewriter</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/SizeBasedPositionDeletesRewriter.html" title="class in org.apache.iceberg.actions"><span class="typeNameLink">SizeBasedPositionDeletesRewriter</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/SnapshotIdGeneratorUtil.html" title="class in org.apache.iceberg"><span class="typeNameLink">SnapshotIdGeneratorUtil</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/SnapshotManager.html" title="class in org.apache.iceberg"><span class="typeNameLink">SnapshotManager</span></a> (implements org.apache.iceberg.<a href="org/apache/iceberg/ManageSnapshots.html" title="interface in org.apache.iceberg">ManageSnapshots</a>)</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/SnapshotParser.html" title="class in org.apache.iceberg"><span class="typeNameLink">SnapshotParser</span></a></li>
@@ -1285,19 +1307,22 @@
 <li type="circle">org.apache.iceberg.spark.data.<a href="org/apache/iceberg/spark/data/SparkAvroWriter.html" title="class in org.apache.iceberg.spark.data"><span class="typeNameLink">SparkAvroWriter</span></a> (implements org.apache.iceberg.avro.<a href="org/apache/iceberg/avro/MetricsAwareDatumWriter.html" title="interface in org.apache.iceberg.avro">MetricsAwareDatumWriter</a>&lt;D&gt;)</li>
 <li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkCachedTableCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkCachedTableCatalog</span></a> (implements org.apache.spark.sql.connector.catalog.TableCatalog)</li>
 <li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkCatalog</span></a></li>
-<li type="circle">org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkChangelogTable.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkChangelogTable</span></a> (implements org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.Table)</li>
+<li type="circle">org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkChangelogTable.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkChangelogTable</span></a> (implements org.apache.spark.sql.connector.catalog.SupportsMetadataColumns, org.apache.spark.sql.connector.catalog.SupportsRead, org.apache.spark.sql.connector.catalog.Table)</li>
 <li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDataFile.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkDataFile</span></a> (implements org.apache.iceberg.<a href="org/apache/iceberg/DataFile.html" title="interface in org.apache.iceberg">DataFile</a>)</li>
-<li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkDistributionAndOrderingUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkDistributionAndOrderingUtil</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkExceptionUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkExceptionUtil</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkFilters.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkFilters</span></a></li>
+<li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkFunctionCatalog.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkFunctionCatalog</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/SparkFunctions.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">SparkFunctions</span></a></li>
 <li type="circle">org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkMetadataColumn.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkMetadataColumn</span></a> (implements org.apache.spark.sql.connector.catalog.MetadataColumn)</li>
-<li type="circle">org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkMicroBatchStream</span></a> (implements org.apache.spark.sql.connector.read.streaming.MicroBatchStream)</li>
+<li type="circle">org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkMicroBatchStream.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkMicroBatchStream</span></a> (implements org.apache.spark.sql.connector.read.streaming.MicroBatchStream, org.apache.spark.sql.connector.read.streaming.SupportsAdmissionControl)</li>
 <li type="circle">org.apache.iceberg.spark.data.<a href="org/apache/iceberg/spark/data/SparkOrcReader.html" title="class in org.apache.iceberg.spark.data"><span class="typeNameLink">SparkOrcReader</span></a> (implements org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/OrcRowReader.html" title="interface in org.apache.iceberg.orc">OrcRowReader</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.iceberg.spark.data.<a href="org/apache/iceberg/spark/data/SparkOrcValueReaders.html" title="class in org.apache.iceberg.spark.data"><span class="typeNameLink">SparkOrcValueReaders</span></a></li>
 <li type="circle">org.apache.iceberg.spark.data.<a href="org/apache/iceberg/spark/data/SparkOrcWriter.html" title="class in org.apache.iceberg.spark.data"><span class="typeNameLink">SparkOrcWriter</span></a> (implements org.apache.iceberg.orc.<a href="org/apache/iceberg/orc/OrcRowWriter.html" title="interface in org.apache.iceberg.orc">OrcRowWriter</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.iceberg.spark.data.<a href="org/apache/iceberg/spark/data/SparkParquetReaders.html" title="class in org.apache.iceberg.spark.data"><span class="typeNameLink">SparkParquetReaders</span></a></li>
 <li type="circle">org.apache.iceberg.spark.data.<a href="org/apache/iceberg/spark/data/SparkParquetWriters.html" title="class in org.apache.iceberg.spark.data"><span class="typeNameLink">SparkParquetWriters</span></a></li>
+<li type="circle">org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkPositionDeletesRewrite</span></a> (implements org.apache.spark.sql.connector.write.Write)</li>
+<li type="circle">org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.DeleteTaskCommit.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkPositionDeletesRewrite.DeleteTaskCommit</span></a> (implements org.apache.spark.sql.connector.write.WriterCommitMessage)</li>
+<li type="circle">org.apache.iceberg.spark.source.<a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewriteBuilder.html" title="class in org.apache.iceberg.spark.source"><span class="typeNameLink">SparkPositionDeletesRewriteBuilder</span></a> (implements org.apache.spark.sql.connector.write.WriteBuilder)</li>
 <li type="circle">org.apache.iceberg.spark.procedures.<a href="org/apache/iceberg/spark/procedures/SparkProcedures.html" title="class in org.apache.iceberg.spark.procedures"><span class="typeNameLink">SparkProcedures</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadConf.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkReadConf</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkReadOptions.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkReadOptions</span></a></li>
@@ -1321,6 +1346,8 @@
 <li type="circle">org.apache.iceberg.spark.data.<a href="org/apache/iceberg/spark/data/SparkValueWriters.html" title="class in org.apache.iceberg.spark.data"><span class="typeNameLink">SparkValueWriters</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteConf.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteConf</span></a></li>
 <li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteOptions.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteOptions</span></a></li>
+<li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteRequirements.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteRequirements</span></a></li>
+<li type="circle">org.apache.iceberg.spark.<a href="org/apache/iceberg/spark/SparkWriteUtil.html" title="class in org.apache.iceberg.spark"><span class="typeNameLink">SparkWriteUtil</span></a></li>
 <li type="circle">org.apache.iceberg.flink.source.split.<a href="org/apache/iceberg/flink/source/split/SplitRequestEvent.html" title="class in org.apache.iceberg.flink.source.split"><span class="typeNameLink">SplitRequestEvent</span></a> (implements org.apache.flink.api.connector.source.SourceEvent)</li>
 <li type="circle">org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/StandardBlobTypes.html" title="class in org.apache.iceberg.puffin"><span class="typeNameLink">StandardBlobTypes</span></a></li>
 <li type="circle">org.apache.iceberg.puffin.<a href="org/apache/iceberg/puffin/StandardPuffinProperties.html" title="class in org.apache.iceberg.puffin"><span class="typeNameLink">StandardPuffinProperties</span></a></li>
@@ -1539,6 +1566,7 @@
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.IntegerBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.IntegerBatchReader</span></a></li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBackedDecimalBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.LongBackedDecimalBatchReader</span></a></li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.LongBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.LongBatchReader</span></a></li>
+<li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampInt96BatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.TimestampInt96BatchReader</span></a></li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.TimestampMillisBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.TimestampMillisBatchReader</span></a></li>
 <li type="circle">org.apache.iceberg.arrow.vectorized.parquet.<a href="org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.VarWidthTypeBatchReader.html" title="class in org.apache.iceberg.arrow.vectorized.parquet"><span class="typeNameLink">VectorizedColumnIterator.VarWidthTypeBatchReader</span></a></li>
 </ul>
@@ -1553,6 +1581,7 @@
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/WriteResult.Builder.html" title="class in org.apache.iceberg.io"><span class="typeNameLink">WriteResult.Builder</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction.DateToYearsFunction</span></a></li>
+<li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction.TimestampNtzToYearsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.spark.functions.<a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampToYearsFunction.html" title="class in org.apache.iceberg.spark.functions"><span class="typeNameLink">YearsFunction.TimestampToYearsFunction</span></a></li>
 <li type="circle">org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Zorder.html" title="class in org.apache.iceberg.expressions"><span class="typeNameLink">Zorder</span></a> (implements org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions">Term</a>)</li>
 <li type="circle">org.apache.iceberg.util.<a href="org/apache/iceberg/util/ZOrderByteUtils.html" title="class in org.apache.iceberg.util"><span class="typeNameLink">ZOrderByteUtils</span></a></li>
@@ -1592,11 +1621,6 @@
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableIterable.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">CloseableIterable</span></a>&lt;T&gt; (also extends java.lang.Iterable&lt;T&gt;)</li>
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/CloseableIterator.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">CloseableIterator</span></a>&lt;T&gt; (also extends java.util.Iterator&lt;E&gt;)</li>
 <li type="circle">org.apache.iceberg.flink.source.enumerator.<a href="org/apache/iceberg/flink/source/enumerator/ContinuousSplitPlanner.html" title="interface in org.apache.iceberg.flink.source.enumerator"><span class="typeNameLink">ContinuousSplitPlanner</span></a></li>
-<li type="circle">org.apache.spark.sql.connector.write.DataWriter&lt;T&gt;
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriter.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWriter</span></a>&lt;T&gt;</li>
-</ul>
-</li>
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/EqualityDeltaWriter.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">EqualityDeltaWriter</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileAppender.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">FileAppender</span></a>&lt;D&gt;</li>
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">FileIO</span></a> (also extends java.io.Serializable)
@@ -1611,7 +1635,7 @@
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/RangeReadable.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">RangeReadable</span></a></li>
 <li type="circle">org.apache.iceberg.rest.<a href="org/apache/iceberg/rest/RESTClient.html" title="interface in org.apache.iceberg.rest"><span class="typeNameLink">RESTClient</span></a></li>
 <li type="circle">org.apache.iceberg.flink.source.assigner.<a href="org/apache/iceberg/flink/source/assigner/SplitAssigner.html" title="interface in org.apache.iceberg.flink.source.assigner"><span class="typeNameLink">SplitAssigner</span></a></li>
-<li type="circle">org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">TableLoader</span></a> (also extends java.io.Serializable)</li>
+<li type="circle">org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">TableLoader</span></a> (also extends java.lang.Cloneable, java.io.Serializable)</li>
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/TaskWriter.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">TaskWriter</span></a>&lt;T&gt;</li>
 </ul>
 </li>
@@ -1619,11 +1643,6 @@
 <li type="circle">org.apache.iceberg.metrics.<a href="org/apache/iceberg/metrics/Timer.Timed.html" title="interface in org.apache.iceberg.metrics"><span class="typeNameLink">Timer.Timed</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.spark.sql.connector.write.BatchWrite
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaBatchWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaBatchWrite</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/BlobMetadata.html" title="interface in org.apache.iceberg"><span class="typeNameLink">BlobMetadata</span></a></li>
 <li type="circle">org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Bound.html" title="interface in org.apache.iceberg.expressions"><span class="typeNameLink">Bound</span></a>&lt;T&gt;
 <ul>
@@ -1644,6 +1663,12 @@
 </li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/ClientPool.html" title="interface in org.apache.iceberg"><span class="typeNameLink">ClientPool</span></a>&lt;C,E&gt;</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/ClientPool.Action.html" title="interface in org.apache.iceberg"><span class="typeNameLink">ClientPool.Action</span></a>&lt;R,C,E&gt;</li>
+<li type="circle">java.lang.Cloneable
+<ul>
+<li type="circle">org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">CatalogLoader</span></a> (also extends java.io.Serializable)</li>
+<li type="circle">org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">TableLoader</span></a> (also extends java.io.Closeable, java.io.Serializable)</li>
+</ul>
+</li>
 <li type="circle">org.apache.iceberg.metrics.<a href="org/apache/iceberg/metrics/CommitMetricsResult.html" title="interface in org.apache.iceberg.metrics"><span class="typeNameLink">CommitMetricsResult</span></a></li>
 <li type="circle">org.apache.hadoop.conf.Configurable
 <ul>
@@ -1680,6 +1705,7 @@
 <li type="circle">org.apache.iceberg.util.<a href="org/apache/iceberg/util/ExceptionUtil.FinallyBlock.html" title="interface in org.apache.iceberg.util"><span class="typeNameLink">ExceptionUtil.FinallyBlock</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/ExpireSnapshots.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">ExpireSnapshots.Result</span></a></li>
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileAppenderFactory.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">FileAppenderFactory</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/FileRewriter.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">FileRewriter</span></a>&lt;T,F&gt;</li>
 <li type="circle">org.apache.iceberg.io.<a href="org/apache/iceberg/io/FileWriterFactory.html" title="interface in org.apache.iceberg.io"><span class="typeNameLink">FileWriterFactory</span></a>&lt;T&gt;</li>
 <li type="circle">java.util.function.Function&lt;T,R&gt;
 <ul>
@@ -1710,11 +1736,6 @@
 <li type="circle">org.apache.iceberg.util.<a href="org/apache/iceberg/util/JsonUtil.FromJson.html" title="interface in org.apache.iceberg.util"><span class="typeNameLink">JsonUtil.FromJson</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.iceberg.util.<a href="org/apache/iceberg/util/JsonUtil.ToJson.html" title="interface in org.apache.iceberg.util"><span class="typeNameLink">JsonUtil.ToJson</span></a></li>
 <li type="circle">org.apache.iceberg.events.<a href="org/apache/iceberg/events/Listener.html" title="interface in org.apache.iceberg.events"><span class="typeNameLink">Listener</span></a>&lt;E&gt;</li>
-<li type="circle">org.apache.spark.sql.connector.write.LogicalWriteInfo
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/ExtendedLogicalWriteInfo.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">ExtendedLogicalWriteInfo</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/ManifestFile.html" title="interface in org.apache.iceberg"><span class="typeNameLink">ManifestFile</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/ManifestFile.PartitionFieldSummary.html" title="interface in org.apache.iceberg"><span class="typeNameLink">ManifestFile.PartitionFieldSummary</span></a></li>
 <li type="circle">org.apache.iceberg.metrics.<a href="org/apache/iceberg/metrics/MetricsContext.Counter.html" title="interface in org.apache.iceberg.metrics"><span class="typeNameLink">MetricsContext.Counter</span></a>&lt;T&gt;</li>
@@ -1805,17 +1826,15 @@
 <li type="circle">org.apache.iceberg.aws.s3.signer.<a href="org/apache/iceberg/aws/s3/signer/S3SignResponse.html" title="interface in org.apache.iceberg.aws.s3.signer"><span class="typeNameLink">S3SignResponse</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupFailureResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFiles.FileGroupFailureResult</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFiles.FileGroupInfo</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFiles.FileGroupRewriteResult</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteDataFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteDataFiles.Result</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteManifests.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteManifests.Result</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupInfo.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteFiles.FileGroupInfo</span></a></li>
+<li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.FileGroupRewriteResult.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteFiles.FileGroupRewriteResult</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteFiles.Result.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteFiles.Result</span></a></li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewritePositionDeleteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewritePositionDeleteStrategy</span></a></li>
-<li type="circle">org.apache.spark.sql.connector.write.RowLevelOperation
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/SupportsDelta.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">SupportsDelta</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/Scan.html" title="interface in org.apache.iceberg"><span class="typeNameLink">Scan</span></a>&lt;ThisT,T,G&gt;
 <ul>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/BatchScan.html" title="interface in org.apache.iceberg"><span class="typeNameLink">BatchScan</span></a></li>
@@ -1837,13 +1856,8 @@
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/Accessor.html" title="interface in org.apache.iceberg"><span class="typeNameLink">Accessor</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.iceberg.aliyun.<a href="org/apache/iceberg/aliyun/AliyunClientFactory.html" title="interface in org.apache.iceberg.aliyun"><span class="typeNameLink">AliyunClientFactory</span></a></li>
 <li type="circle">org.apache.iceberg.aws.<a href="org/apache/iceberg/aws/AwsClientFactory.html" title="interface in org.apache.iceberg.aws"><span class="typeNameLink">AwsClientFactory</span></a></li>
-<li type="circle">org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">CatalogLoader</span></a></li>
+<li type="circle">org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/CatalogLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">CatalogLoader</span></a> (also extends java.lang.Cloneable)</li>
 <li type="circle">org.apache.iceberg.flink.source.reader.<a href="org/apache/iceberg/flink/source/reader/DataIteratorBatcher.html" title="interface in org.apache.iceberg.flink.source.reader"><span class="typeNameLink">DataIteratorBatcher</span></a>&lt;T&gt;</li>
-<li type="circle">org.apache.spark.sql.connector.write.DataWriterFactory
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriterFactory.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWriterFactory</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.iceberg.dell.<a href="org/apache/iceberg/dell/DellClientFactory.html" title="interface in org.apache.iceberg.dell"><span class="typeNameLink">DellClientFactory</span></a></li>
 <li type="circle">org.apache.iceberg.encryption.<a href="org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption"><span class="typeNameLink">EncryptionManager</span></a></li>
 <li type="circle">org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Expression.html" title="interface in org.apache.iceberg.expressions"><span class="typeNameLink">Expression</span></a></li>
@@ -1867,6 +1881,7 @@
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/MetricsModes.MetricsMode.html" title="interface in org.apache.iceberg"><span class="typeNameLink">MetricsModes.MetricsMode</span></a></li>
 <li type="circle">org.apache.iceberg.flink.source.reader.<a href="org/apache/iceberg/flink/source/reader/ReaderFunction.html" title="interface in org.apache.iceberg.flink.source.reader"><span class="typeNameLink">ReaderFunction</span></a>&lt;T&gt; (also extends java.util.function.Function&lt;T,R&gt;)</li>
 <li type="circle">org.apache.iceberg.actions.<a href="org/apache/iceberg/actions/RewriteStrategy.html" title="interface in org.apache.iceberg.actions"><span class="typeNameLink">RewriteStrategy</span></a></li>
+<li type="circle">org.apache.iceberg.aws.s3.<a href="org/apache/iceberg/aws/s3/S3FileIOAwsClientFactory.html" title="interface in org.apache.iceberg.aws.s3"><span class="typeNameLink">S3FileIOAwsClientFactory</span></a></li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/ScanTask.html" title="interface in org.apache.iceberg"><span class="typeNameLink">ScanTask</span></a>
 <ul>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/AddedRowsScanTask.html" title="interface in org.apache.iceberg"><span class="typeNameLink">AddedRowsScanTask</span></a> (also extends org.apache.iceberg.<a href="org/apache/iceberg/ChangelogScanTask.html" title="interface in org.apache.iceberg">ChangelogScanTask</a>, org.apache.iceberg.<a href="org/apache/iceberg/ContentScanTask.html" title="interface in org.apache.iceberg">ContentScanTask</a>&lt;F&gt;)</li>
@@ -1951,7 +1966,7 @@
 <li type="circle">org.apache.iceberg.util.<a href="org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util"><span class="typeNameLink">SerializableSupplier</span></a>&lt;T&gt; (also extends java.util.function.Supplier&lt;T&gt;)</li>
 <li type="circle">org.apache.iceberg.<a href="org/apache/iceberg/Snapshot.html" title="interface in org.apache.iceberg"><span class="typeNameLink">Snapshot</span></a></li>
 <li type="circle">org.apache.iceberg.flink.source.assigner.<a href="org/apache/iceberg/flink/source/assigner/SplitAssignerFactory.html" title="interface in org.apache.iceberg.flink.source.assigner"><span class="typeNameLink">SplitAssignerFactory</span></a></li>
-<li type="circle">org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">TableLoader</span></a> (also extends java.io.Closeable)</li>
+<li type="circle">org.apache.iceberg.flink.<a href="org/apache/iceberg/flink/TableLoader.html" title="interface in org.apache.iceberg.flink"><span class="typeNameLink">TableLoader</span></a> (also extends java.lang.Cloneable, java.io.Closeable)</li>
 <li type="circle">org.apache.iceberg.flink.sink.<a href="org/apache/iceberg/flink/sink/TaskWriterFactory.html" title="interface in org.apache.iceberg.flink.sink"><span class="typeNameLink">TaskWriterFactory</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.iceberg.expressions.<a href="org/apache/iceberg/expressions/Term.html" title="interface in org.apache.iceberg.expressions"><span class="typeNameLink">Term</span></a>
 <ul>
@@ -2017,16 +2032,6 @@
 </ul>
 </li>
 <li type="circle">org.apache.iceberg.view.<a href="org/apache/iceberg/view/ViewVersion.html" title="interface in org.apache.iceberg.view"><span class="typeNameLink">ViewVersion</span></a></li>
-<li type="circle">org.apache.spark.sql.connector.write.Write
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWrite.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWrite</span></a></li>
-</ul>
-</li>
-<li type="circle">org.apache.spark.sql.connector.write.WriteBuilder
-<ul>
-<li type="circle">org.apache.spark.sql.connector.iceberg.write.<a href="org/apache/spark/sql/connector/iceberg/write/DeltaWriteBuilder.html" title="interface in org.apache.spark.sql.connector.iceberg.write"><span class="typeNameLink">DeltaWriteBuilder</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.iceberg.mr.hive.serde.objectinspector.<a href="org/apache/iceberg/mr/hive/serde/objectinspector/WriteObjectInspector.html" title="interface in org.apache.iceberg.mr.hive.serde.objectinspector"><span class="typeNameLink">WriteObjectInspector</span></a></li>
 </ul>
 <h2 title="Enum Hierarchy">Enum Hierarchy</h2>
diff --git a/javadoc/package-list b/javadoc/package-list
index 7cc9fd3..7186fe8 100644
--- a/javadoc/package-list
+++ b/javadoc/package-list
@@ -13,6 +13,7 @@
 org.apache.iceberg.aws.lakeformation
 org.apache.iceberg.aws.s3
 org.apache.iceberg.aws.s3.signer
+org.apache.iceberg.aws.util
 org.apache.iceberg.catalog
 org.apache.iceberg.common
 org.apache.iceberg.data
@@ -41,6 +42,7 @@
 org.apache.iceberg.gcp.gcs
 org.apache.iceberg.hadoop
 org.apache.iceberg.hive
+org.apache.iceberg.inmemory
 org.apache.iceberg.io
 org.apache.iceberg.jdbc
 org.apache.iceberg.mapping
@@ -76,4 +78,3 @@
 org.apache.spark.sql.catalyst.analysis
 org.apache.spark.sql.catalyst.parser.extensions
 org.apache.spark.sql.connector.iceberg.catalog
-org.apache.spark.sql.connector.iceberg.write
diff --git a/javadoc/serialized-form.html b/javadoc/serialized-form.html
index a500364..a78801b 100644
--- a/javadoc/serialized-form.html
+++ b/javadoc/serialized-form.html
@@ -1289,10 +1289,14 @@
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
-<li class="blockListLast">
+<li class="blockList">
 <h4>schema</h4>
 <pre><a href="org/apache/iceberg/Schema.html" title="class in org.apache.iceberg">Schema</a> schema</pre>
 </li>
+<li class="blockListLast">
+<h4>unpartitionedTable</h4>
+<pre>boolean unpartitionedTable</pre>
+</li>
 </ul>
 </li>
 </ul>
@@ -1683,30 +1687,37 @@
 <li class="blockList">
 <h4>minInputFiles</h4>
 <pre>int minInputFiles</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>deleteFileThreshold</h4>
 <pre>int deleteFileThreshold</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>minFileSize</h4>
 <pre>long minFileSize</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>maxFileSize</h4>
 <pre>long maxFileSize</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>targetFileSize</h4>
 <pre>long targetFileSize</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>maxGroupSize</h4>
 <pre>long maxGroupSize</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockListLast">
 <h4>rewriteAll</h4>
 <pre>boolean rewriteAll</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -1723,6 +1734,7 @@
 <li class="blockListLast">
 <h4>sortOrder</h4>
 <pre><a href="org/apache/iceberg/SortOrder.html" title="class in org.apache.iceberg">SortOrder</a> sortOrder</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -1819,6 +1831,30 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.iceberg.aws.AwsClientProperties">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/iceberg/aws/AwsClientProperties.html" title="class in org.apache.iceberg.aws">org.apache.iceberg.aws.AwsClientProperties</a> extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>clientRegion</h4>
+<pre>java.lang.String clientRegion</pre>
+</li>
+<li class="blockList">
+<h4>clientCredentialsProvider</h4>
+<pre>java.lang.String clientCredentialsProvider</pre>
+</li>
+<li class="blockListLast">
+<h4>clientCredentialsProviderProperties</h4>
+<pre>java.util.Map&lt;K,V&gt; clientCredentialsProviderProperties</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.iceberg.aws.AwsProperties">
 <!--   -->
 </a>
@@ -2035,6 +2071,26 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.iceberg.aws.HttpClientProperties">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/iceberg/aws/HttpClientProperties.html" title="class in org.apache.iceberg.aws">org.apache.iceberg.aws.HttpClientProperties</a> extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>httpClientType</h4>
+<pre>java.lang.String httpClientType</pre>
+</li>
+<li class="blockListLast">
+<h4>httpClientProperties</h4>
+<pre>java.util.Map&lt;K,V&gt; httpClientProperties</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 <li class="blockList">
@@ -2090,8 +2146,8 @@
 <pre><a href="org/apache/iceberg/util/SerializableSupplier.html" title="interface in org.apache.iceberg.util">SerializableSupplier</a>&lt;<a href="org/apache/iceberg/util/SerializableSupplier.html" title="type parameter in SerializableSupplier">T</a>&gt; s3</pre>
 </li>
 <li class="blockList">
-<h4>awsProperties</h4>
-<pre><a href="org/apache/iceberg/aws/AwsProperties.html" title="class in org.apache.iceberg.aws">AwsProperties</a> awsProperties</pre>
+<h4>s3FileIOProperties</h4>
+<pre><a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">S3FileIOProperties</a> s3FileIOProperties</pre>
 </li>
 <li class="blockList">
 <h4>properties</h4>
@@ -2109,6 +2165,130 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.iceberg.aws.s3.S3FileIOProperties">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/iceberg/aws/s3/S3FileIOProperties.html" title="class in org.apache.iceberg.aws.s3">org.apache.iceberg.aws.s3.S3FileIOProperties</a> extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>sseType</h4>
+<pre>java.lang.String sseType</pre>
+</li>
+<li class="blockList">
+<h4>sseKey</h4>
+<pre>java.lang.String sseKey</pre>
+</li>
+<li class="blockList">
+<h4>sseMd5</h4>
+<pre>java.lang.String sseMd5</pre>
+</li>
+<li class="blockList">
+<h4>accessKeyId</h4>
+<pre>java.lang.String accessKeyId</pre>
+</li>
+<li class="blockList">
+<h4>secretAccessKey</h4>
+<pre>java.lang.String secretAccessKey</pre>
+</li>
+<li class="blockList">
+<h4>sessionToken</h4>
+<pre>java.lang.String sessionToken</pre>
+</li>
+<li class="blockList">
+<h4>multipartUploadThreads</h4>
+<pre>int multipartUploadThreads</pre>
+</li>
+<li class="blockList">
+<h4>multiPartSize</h4>
+<pre>int multiPartSize</pre>
+</li>
+<li class="blockList">
+<h4>deleteBatchSize</h4>
+<pre>int deleteBatchSize</pre>
+</li>
+<li class="blockList">
+<h4>multipartThresholdFactor</h4>
+<pre>double multipartThresholdFactor</pre>
+</li>
+<li class="blockList">
+<h4>stagingDirectory</h4>
+<pre>java.lang.String stagingDirectory</pre>
+</li>
+<li class="blockList">
+<h4>acl</h4>
+<pre>software.amazon.awssdk.services.s3.model.ObjectCannedACL acl</pre>
+</li>
+<li class="blockList">
+<h4>isChecksumEnabled</h4>
+<pre>boolean isChecksumEnabled</pre>
+</li>
+<li class="blockList">
+<h4>writeTags</h4>
+<pre>java.util.Set&lt;E&gt; writeTags</pre>
+</li>
+<li class="blockList">
+<h4>isWriteTableTagEnabled</h4>
+<pre>boolean isWriteTableTagEnabled</pre>
+</li>
+<li class="blockList">
+<h4>isWriteNamespaceTagEnabled</h4>
+<pre>boolean isWriteNamespaceTagEnabled</pre>
+</li>
+<li class="blockList">
+<h4>deleteTags</h4>
+<pre>java.util.Set&lt;E&gt; deleteTags</pre>
+</li>
+<li class="blockList">
+<h4>deleteThreads</h4>
+<pre>int deleteThreads</pre>
+</li>
+<li class="blockList">
+<h4>isDeleteEnabled</h4>
+<pre>boolean isDeleteEnabled</pre>
+</li>
+<li class="blockList">
+<h4>bucketToAccessPointMapping</h4>
+<pre>java.util.Map&lt;K,V&gt; bucketToAccessPointMapping</pre>
+</li>
+<li class="blockList">
+<h4>isPreloadClientEnabled</h4>
+<pre>boolean isPreloadClientEnabled</pre>
+</li>
+<li class="blockList">
+<h4>isDualStackEnabled</h4>
+<pre>boolean isDualStackEnabled</pre>
+</li>
+<li class="blockList">
+<h4>isPathStyleAccess</h4>
+<pre>boolean isPathStyleAccess</pre>
+</li>
+<li class="blockList">
+<h4>isUseArnRegionEnabled</h4>
+<pre>boolean isUseArnRegionEnabled</pre>
+</li>
+<li class="blockList">
+<h4>isAccelerationEnabled</h4>
+<pre>boolean isAccelerationEnabled</pre>
+</li>
+<li class="blockList">
+<h4>endpoint</h4>
+<pre>java.lang.String endpoint</pre>
+</li>
+<li class="blockList">
+<h4>isRemoteSigningEnabled</h4>
+<pre>boolean isRemoteSigningEnabled</pre>
+</li>
+<li class="blockListLast">
+<h4>allProperties</h4>
+<pre>java.util.Map&lt;K,V&gt; allProperties</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 <li class="blockList">
@@ -2840,6 +3020,34 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.iceberg.flink.FlinkSourceFilter">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink">org.apache.iceberg.flink.FlinkSourceFilter</a> extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>rowType</h4>
+<pre>org.apache.flink.table.types.logical.RowType rowType</pre>
+</li>
+<li class="blockList">
+<h4>evaluator</h4>
+<pre><a href="org/apache/iceberg/expressions/Evaluator.html" title="class in org.apache.iceberg.expressions">Evaluator</a> evaluator</pre>
+</li>
+<li class="blockList">
+<h4>struct</h4>
+<pre><a href="org/apache/iceberg/types/Types.StructType.html" title="class in org.apache.iceberg.types">Types.StructType</a> struct</pre>
+</li>
+<li class="blockListLast">
+<h4>wrapper</h4>
+<pre><a href="org/apache/iceberg/flink/RowDataWrapper.html" title="class in org.apache.iceberg.flink">RowDataWrapper</a> wrapper</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.iceberg.flink.TableLoader.CatalogTableLoader">
 <!--   -->
 </a>
@@ -3154,10 +3362,14 @@
 <h4>nameMapping</h4>
 <pre>java.lang.String nameMapping</pre>
 </li>
-<li class="blockListLast">
+<li class="blockList">
 <h4>caseSensitive</h4>
 <pre>boolean caseSensitive</pre>
 </li>
+<li class="blockListLast">
+<h4>rowFilter</h4>
+<pre><a href="org/apache/iceberg/flink/FlinkSourceFilter.html" title="class in org.apache.iceberg.flink">FlinkSourceFilter</a> rowFilter</pre>
+</li>
 </ul>
 </li>
 </ul>
@@ -3318,10 +3530,14 @@
 <h4>planParallelism</h4>
 <pre>java.lang.Integer planParallelism</pre>
 </li>
-<li class="blockListLast">
+<li class="blockList">
 <h4>maxPlanningSnapshotCount</h4>
 <pre>int maxPlanningSnapshotCount</pre>
 </li>
+<li class="blockListLast">
+<h4>maxAllowedPlanningFailures</h4>
+<pre>int maxAllowedPlanningFailures</pre>
+</li>
 </ul>
 </li>
 </ul>
@@ -3518,10 +3734,14 @@
 <h4>io</h4>
 <pre><a href="org/apache/iceberg/io/FileIO.html" title="interface in org.apache.iceberg.io">FileIO</a> io</pre>
 </li>
-<li class="blockListLast">
+<li class="blockList">
 <h4>encryption</h4>
 <pre><a href="org/apache/iceberg/encryption/EncryptionManager.html" title="interface in org.apache.iceberg.encryption">EncryptionManager</a> encryption</pre>
 </li>
+<li class="blockListLast">
+<h4>filters</h4>
+<pre>java.util.List&lt;E&gt; filters</pre>
+</li>
 </ul>
 </li>
 </ul>
@@ -3760,6 +3980,31 @@
 </ul>
 </li>
 <li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.iceberg.inmemory</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.iceberg.inmemory.InMemoryFileIO">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/iceberg/inmemory/InMemoryFileIO.html" title="class in org.apache.iceberg.inmemory">org.apache.iceberg.inmemory.InMemoryFileIO</a> extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>inMemoryFiles</h4>
+<pre>java.util.Map&lt;K,V&gt; inMemoryFiles</pre>
+</li>
+<li class="blockListLast">
+<h4>closed</h4>
+<pre>boolean closed</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
 <h2 title="Package">Package&nbsp;org.apache.iceberg.io</h2>
 <ul class="blockList">
 <li class="blockList"><a name="org.apache.iceberg.io.BulkDeletionFailureException">
@@ -3791,6 +4036,10 @@
 <pre>java.util.Map&lt;K,V&gt; ioInstances</pre>
 </li>
 <li class="blockList">
+<h4>isClosed</h4>
+<pre>java.util.concurrent.atomic.AtomicBoolean isClosed</pre>
+</li>
+<li class="blockList">
 <h4>properties</h4>
 <pre><a href="org/apache/iceberg/util/SerializableMap.html" title="class in org.apache.iceberg.util">SerializableMap</a>&lt;<a href="org/apache/iceberg/util/SerializableMap.html" title="type parameter in SerializableMap">K</a>,<a href="org/apache/iceberg/util/SerializableMap.html" title="type parameter in SerializableMap">V</a>&gt; properties</pre>
 </li>
@@ -3962,98 +4211,6 @@
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.iceberg.spark.actions.SparkBinPackStrategy">
-<!--   -->
-</a>
-<h3>Class <a href="org/apache/iceberg/spark/actions/SparkBinPackStrategy.html" title="class in org.apache.iceberg.spark.actions">org.apache.iceberg.spark.actions.SparkBinPackStrategy</a> extends <a href="org/apache/iceberg/actions/BinPackStrategy.html" title="class in org.apache.iceberg.actions">BinPackStrategy</a> implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>table</h4>
-<pre><a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a> table</pre>
-</li>
-<li class="blockList">
-<h4>spark</h4>
-<pre>org.apache.spark.sql.SparkSession spark</pre>
-</li>
-<li class="blockList">
-<h4>tableCache</h4>
-<pre><a href="org/apache/iceberg/spark/SparkTableCache.html" title="class in org.apache.iceberg.spark">SparkTableCache</a> tableCache</pre>
-</li>
-<li class="blockList">
-<h4>manager</h4>
-<pre><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a> manager</pre>
-</li>
-<li class="blockListLast">
-<h4>rewriteCoordinator</h4>
-<pre><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a> rewriteCoordinator</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList"><a name="org.apache.iceberg.spark.actions.SparkSortStrategy">
-<!--   -->
-</a>
-<h3>Class <a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">org.apache.iceberg.spark.actions.SparkSortStrategy</a> extends <a href="org/apache/iceberg/actions/SortStrategy.html" title="class in org.apache.iceberg.actions">SortStrategy</a> implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>table</h4>
-<pre><a href="org/apache/iceberg/Table.html" title="interface in org.apache.iceberg">Table</a> table</pre>
-</li>
-<li class="blockList">
-<h4>spark</h4>
-<pre>org.apache.spark.sql.SparkSession spark</pre>
-</li>
-<li class="blockList">
-<h4>tableCache</h4>
-<pre><a href="org/apache/iceberg/spark/SparkTableCache.html" title="class in org.apache.iceberg.spark">SparkTableCache</a> tableCache</pre>
-</li>
-<li class="blockList">
-<h4>manager</h4>
-<pre><a href="org/apache/iceberg/spark/FileScanTaskSetManager.html" title="class in org.apache.iceberg.spark">FileScanTaskSetManager</a> manager</pre>
-</li>
-<li class="blockList">
-<h4>rewriteCoordinator</h4>
-<pre><a href="org/apache/iceberg/spark/FileRewriteCoordinator.html" title="class in org.apache.iceberg.spark">FileRewriteCoordinator</a> rewriteCoordinator</pre>
-</li>
-<li class="blockListLast">
-<h4>sizeEstimateMultiple</h4>
-<pre>double sizeEstimateMultiple</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList"><a name="org.apache.iceberg.spark.actions.SparkZOrderStrategy">
-<!--   -->
-</a>
-<h3>Class <a href="org/apache/iceberg/spark/actions/SparkZOrderStrategy.html" title="class in org.apache.iceberg.spark.actions">org.apache.iceberg.spark.actions.SparkZOrderStrategy</a> extends <a href="org/apache/iceberg/spark/actions/SparkSortStrategy.html" title="class in org.apache.iceberg.spark.actions">SparkSortStrategy</a> implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>zOrderColNames</h4>
-<pre>java.util.List&lt;E&gt; zOrderColNames</pre>
-</li>
-<li class="blockList">
-<h4>maxOutputSize</h4>
-<pre>int maxOutputSize</pre>
-</li>
-<li class="blockListLast">
-<h4>varLengthContribution</h4>
-<pre>int varLengthContribution</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
 </ul>
 </li>
 <li class="blockList">
@@ -4145,6 +4302,11 @@
 </a>
 <h3>Class <a href="org/apache/iceberg/spark/functions/DaysFunction.DateToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">org.apache.iceberg.spark.functions.DaysFunction.DateToDaysFunction</a> extends org.apache.iceberg.spark.functions.DaysFunction.BaseToDaysFunction implements Serializable</h3>
 </li>
+<li class="blockList"><a name="org.apache.iceberg.spark.functions.DaysFunction.TimestampNtzToDaysFunction">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/iceberg/spark/functions/DaysFunction.TimestampNtzToDaysFunction.html" title="class in org.apache.iceberg.spark.functions">org.apache.iceberg.spark.functions.DaysFunction.TimestampNtzToDaysFunction</a> extends org.apache.iceberg.spark.functions.DaysFunction.BaseToDaysFunction implements Serializable</h3>
+</li>
 <li class="blockList"><a name="org.apache.iceberg.spark.functions.DaysFunction.TimestampToDaysFunction">
 <!--   -->
 </a>
@@ -4155,6 +4317,11 @@
 </a>
 <h3>Class <a href="org/apache/iceberg/spark/functions/HoursFunction.html" title="class in org.apache.iceberg.spark.functions">org.apache.iceberg.spark.functions.HoursFunction</a> extends org.apache.iceberg.spark.functions.UnaryUnboundFunction implements Serializable</h3>
 </li>
+<li class="blockList"><a name="org.apache.iceberg.spark.functions.HoursFunction.TimestampNtzToHoursFunction">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/iceberg/spark/functions/HoursFunction.TimestampNtzToHoursFunction.html" title="class in org.apache.iceberg.spark.functions">org.apache.iceberg.spark.functions.HoursFunction.TimestampNtzToHoursFunction</a> extends java.lang.Object implements Serializable</h3>
+</li>
 <li class="blockList"><a name="org.apache.iceberg.spark.functions.HoursFunction.TimestampToHoursFunction">
 <!--   -->
 </a>
@@ -4175,6 +4342,11 @@
 </a>
 <h3>Class <a href="org/apache/iceberg/spark/functions/MonthsFunction.DateToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">org.apache.iceberg.spark.functions.MonthsFunction.DateToMonthsFunction</a> extends org.apache.iceberg.spark.functions.MonthsFunction.BaseToMonthsFunction implements Serializable</h3>
 </li>
+<li class="blockList"><a name="org.apache.iceberg.spark.functions.MonthsFunction.TimestampNtzToMonthsFunction">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/iceberg/spark/functions/MonthsFunction.TimestampNtzToMonthsFunction.html" title="class in org.apache.iceberg.spark.functions">org.apache.iceberg.spark.functions.MonthsFunction.TimestampNtzToMonthsFunction</a> extends org.apache.iceberg.spark.functions.MonthsFunction.BaseToMonthsFunction implements Serializable</h3>
+</li>
 <li class="blockList"><a name="org.apache.iceberg.spark.functions.MonthsFunction.TimestampToMonthsFunction">
 <!--   -->
 </a>
@@ -4250,6 +4422,11 @@
 </a>
 <h3>Class <a href="org/apache/iceberg/spark/functions/YearsFunction.DateToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">org.apache.iceberg.spark.functions.YearsFunction.DateToYearsFunction</a> extends org.apache.iceberg.spark.functions.YearsFunction.BaseToYearsFunction implements Serializable</h3>
 </li>
+<li class="blockList"><a name="org.apache.iceberg.spark.functions.YearsFunction.TimestampNtzToYearsFunction">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/iceberg/spark/functions/YearsFunction.TimestampNtzToYearsFunction.html" title="class in org.apache.iceberg.spark.functions">org.apache.iceberg.spark.functions.YearsFunction.TimestampNtzToYearsFunction</a> extends org.apache.iceberg.spark.functions.YearsFunction.BaseToYearsFunction implements Serializable</h3>
+</li>
 <li class="blockList"><a name="org.apache.iceberg.spark.functions.YearsFunction.TimestampToYearsFunction">
 <!--   -->
 </a>
@@ -4270,6 +4447,22 @@
 </a>
 <h3>Class <a href="org/apache/iceberg/spark/source/SerializableTableWithSize.SerializableMetadataTableWithSize.html" title="class in org.apache.iceberg.spark.source">org.apache.iceberg.spark.source.SerializableTableWithSize.SerializableMetadataTableWithSize</a> extends <a href="org/apache/iceberg/SerializableTable.SerializableMetadataTable.html" title="class in org.apache.iceberg">SerializableTable.SerializableMetadataTable</a> implements Serializable</h3>
 </li>
+<li class="blockList"><a name="org.apache.iceberg.spark.source.SparkPositionDeletesRewrite.DeleteTaskCommit">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/iceberg/spark/source/SparkPositionDeletesRewrite.DeleteTaskCommit.html" title="class in org.apache.iceberg.spark.source">org.apache.iceberg.spark.source.SparkPositionDeletesRewrite.DeleteTaskCommit</a> extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>taskFiles</h4>
+<pre><a href="org/apache/iceberg/DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a>[] taskFiles</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.iceberg.spark.source.SparkPositionDeltaWrite.DeltaTaskCommit">
 <!--   -->
 </a>
@@ -4763,51 +4956,40 @@
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.Analyzer.ResolveNamespace">
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.Analyzer.ExtractGenerator:D.AliasedGenerator:D">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.Analyzer.ResolveNamespace extends org.apache.spark.sql.catalyst.rules.Rule&lt;org.apache.spark.sql.catalyst.plans.logical.LogicalPlan&gt; implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.Analyzer.ExtractGenerator$.AliasedGenerator$ extends java.lang.Object implements Serializable</h3>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.Analyzer.ResolveReferences:D.MergeResolvePolicy:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.Analyzer.ResolveReferences$.MergeResolvePolicy$ extends java.lang.Object implements Serializable</h3>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.Analyzer:DResolveReferences:DMergeResolvePolicy:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences$MergeResolvePolicy$ extends scala.Enumeration implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>catalogManager</h4>
-<pre>org.apache.spark.sql.connector.catalog.CatalogManager catalogManager</pre>
+<h4>BOTH</h4>
+<pre>scala.Enumeration.Value BOTH</pre>
 </li>
 <li class="blockList">
-<h4>CatalogAndMultipartIdentifier$module</h4>
-<pre>org.apache.spark.sql.connector.catalog.LookupCatalog.CatalogAndMultipartIdentifier$ CatalogAndMultipartIdentifier$module</pre>
-</li>
-<li class="blockList">
-<h4>SessionCatalogAndIdentifier$module</h4>
-<pre>org.apache.spark.sql.connector.catalog.LookupCatalog.SessionCatalogAndIdentifier$ SessionCatalogAndIdentifier$module</pre>
-</li>
-<li class="blockList">
-<h4>NonSessionCatalogAndIdentifier$module</h4>
-<pre>org.apache.spark.sql.connector.catalog.LookupCatalog.NonSessionCatalogAndIdentifier$ NonSessionCatalogAndIdentifier$module</pre>
-</li>
-<li class="blockList">
-<h4>CatalogAndNamespace$module</h4>
-<pre>org.apache.spark.sql.connector.catalog.LookupCatalog.CatalogAndNamespace$ CatalogAndNamespace$module</pre>
-</li>
-<li class="blockList">
-<h4>CatalogAndIdentifier$module</h4>
-<pre>org.apache.spark.sql.connector.catalog.LookupCatalog.CatalogAndIdentifier$ CatalogAndIdentifier$module</pre>
+<h4>SOURCE</h4>
+<pre>scala.Enumeration.Value SOURCE</pre>
 </li>
 <li class="blockListLast">
-<h4>AsTableIdentifier$module</h4>
-<pre>org.apache.spark.sql.connector.catalog.LookupCatalog.AsTableIdentifier$ AsTableIdentifier$module</pre>
+<h4>TARGET</h4>
+<pre>scala.Enumeration.Value TARGET</pre>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.Analyzer:DResolveNamespace:D">
-<!--   -->
-</a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveNamespace$ extends scala.runtime.AbstractFunction1&lt;org.apache.spark.sql.connector.catalog.CatalogManager,org.apache.spark.sql.catalyst.analysis.Analyzer.ResolveNamespace&gt; implements Serializable</h3>
-</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.AsOfTimestamp">
 <!--   -->
 </a>
@@ -5149,26 +5331,11 @@
 <!--   -->
 </a>
 <h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException extends org.apache.spark.sql.AnalysisException implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>message</h4>
-<pre>java.lang.String message</pre>
-</li>
-<li class="blockListLast">
-<h4>cause</h4>
-<pre>scala.Option&lt;A&gt; cause</pre>
-</li>
-</ul>
-</li>
-</ul>
 </li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException:D">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException$ extends scala.runtime.AbstractFunction2&lt;java.lang.String,scala.Option&lt;java.lang.Throwable&gt;,org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException&gt; implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchFunctionException$ extends java.lang.Object implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialization Methods</h3>
@@ -5206,26 +5373,11 @@
 <!--   -->
 </a>
 <h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchNamespaceException extends org.apache.spark.sql.AnalysisException implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>message</h4>
-<pre>java.lang.String message</pre>
-</li>
-<li class="blockListLast">
-<h4>cause</h4>
-<pre>scala.Option&lt;A&gt; cause</pre>
-</li>
-</ul>
-</li>
-</ul>
 </li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchNamespaceException:D">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchNamespaceException$ extends scala.runtime.AbstractFunction2&lt;java.lang.String,scala.Option&lt;java.lang.Throwable&gt;,org.apache.spark.sql.catalyst.analysis.NoSuchNamespaceException&gt; implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchNamespaceException$ extends java.lang.Object implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialization Methods</h3>
@@ -5243,78 +5395,15 @@
 </a>
 <h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchPartitionException extends org.apache.spark.sql.AnalysisException implements Serializable</h3>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchPartitionException:D">
-<!--   -->
-</a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchPartitionException$ extends scala.runtime.AbstractFunction1&lt;java.lang.String,org.apache.spark.sql.catalyst.analysis.NoSuchPartitionException&gt; implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialization Methods</h3>
-<ul class="blockList">
-<li class="blockListLast">
-<h4>readResolve</h4>
-<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchPartitionsException">
 <!--   -->
 </a>
 <h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchPartitionsException extends org.apache.spark.sql.AnalysisException implements Serializable</h3>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchPartitionsException:D">
-<!--   -->
-</a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchPartitionsException$ extends scala.runtime.AbstractFunction1&lt;java.lang.String,org.apache.spark.sql.catalyst.analysis.NoSuchPartitionsException&gt; implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialization Methods</h3>
-<ul class="blockList">
-<li class="blockListLast">
-<h4>readResolve</h4>
-<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchPermanentFunctionException">
 <!--   -->
 </a>
 <h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchPermanentFunctionException extends org.apache.spark.sql.AnalysisException implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>db</h4>
-<pre>java.lang.String db</pre>
-</li>
-<li class="blockListLast">
-<h4>func</h4>
-<pre>java.lang.String func</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchPermanentFunctionException:D">
-<!--   -->
-</a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchPermanentFunctionException$ extends scala.runtime.AbstractFunction2&lt;java.lang.String,java.lang.String,org.apache.spark.sql.catalyst.analysis.NoSuchPermanentFunctionException&gt; implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialization Methods</h3>
-<ul class="blockList">
-<li class="blockListLast">
-<h4>readResolve</h4>
-<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
-</li>
-</ul>
-</li>
-</ul>
 </li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchProcedureException">
 <!--   -->
@@ -5325,26 +5414,11 @@
 <!--   -->
 </a>
 <h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchTableException extends org.apache.spark.sql.AnalysisException implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>message</h4>
-<pre>java.lang.String message</pre>
-</li>
-<li class="blockListLast">
-<h4>cause</h4>
-<pre>scala.Option&lt;A&gt; cause</pre>
-</li>
-</ul>
-</li>
-</ul>
 </li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchTableException:D">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchTableException$ extends scala.runtime.AbstractFunction2&lt;java.lang.String,scala.Option&lt;java.lang.Throwable&gt;,org.apache.spark.sql.catalyst.analysis.NoSuchTableException&gt; implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchTableException$ extends java.lang.Object implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialization Methods</h3>
@@ -5361,22 +5435,96 @@
 <!--   -->
 </a>
 <h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchTempFunctionException extends org.apache.spark.sql.AnalysisException implements Serializable</h3>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchViewException">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchViewException extends org.apache.spark.sql.AnalysisException implements Serializable</h3>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.Parameter">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.Parameter extends org.apache.spark.sql.catalyst.expressions.LeafExpression implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
+<li class="blockList">
+<h4>resolved</h4>
+<pre>boolean resolved</pre>
+</li>
+<li class="blockList">
+<h4>name</h4>
+<pre>java.lang.String name</pre>
+</li>
+<li class="blockList">
+<h4>nodePatterns</h4>
+<pre>scala.collection.Seq&lt;A&gt; nodePatterns</pre>
+</li>
 <li class="blockListLast">
-<h4>func</h4>
-<pre>java.lang.String func</pre>
+<h4>bitmap$0</h4>
+<pre>boolean bitmap$0</pre>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.NoSuchTempFunctionException:D">
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.Parameter:D">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.NoSuchTempFunctionException$ extends scala.runtime.AbstractFunction1&lt;java.lang.String,org.apache.spark.sql.catalyst.analysis.NoSuchTempFunctionException&gt; implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.Parameter$ extends scala.runtime.AbstractFunction1&lt;java.lang.String,org.apache.spark.sql.catalyst.analysis.Parameter&gt; implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>readResolve</h4>
+<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ParameterizedQuery">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ParameterizedQuery extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>resolved</h4>
+<pre>boolean resolved</pre>
+</li>
+<li class="blockList">
+<h4>child</h4>
+<pre>org.apache.spark.sql.catalyst.plans.logical.LogicalPlan child</pre>
+</li>
+<li class="blockList">
+<h4>args</h4>
+<pre>scala.collection.immutable.Map&lt;K,V&gt; args</pre>
+</li>
+<li class="blockList">
+<h4>nodePatterns</h4>
+<pre>scala.collection.Seq&lt;A&gt; nodePatterns</pre>
+</li>
+<li class="blockList">
+<h4>validConstraints</h4>
+<pre>org.apache.spark.sql.catalyst.expressions.ExpressionSet validConstraints</pre>
+</li>
+<li class="blockListLast">
+<h4>bitmap$0</h4>
+<pre>byte bitmap$0</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ParameterizedQuery:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ParameterizedQuery$ extends scala.runtime.AbstractFunction2&lt;org.apache.spark.sql.catalyst.plans.logical.LogicalPlan,scala.collection.immutable.Map&lt;java.lang.String,org.apache.spark.sql.catalyst.expressions.Expression&gt;,org.apache.spark.sql.catalyst.analysis.ParameterizedQuery&gt; implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialization Methods</h3>
@@ -5487,30 +5635,30 @@
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedDBObjectName">
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolveDefaultColumns">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.ResolvedDBObjectName extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ResolveDefaultColumns extends org.apache.spark.sql.catalyst.rules.Rule&lt;org.apache.spark.sql.catalyst.plans.logical.LogicalPlan&gt; implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
 <li class="blockList">
-<h4>catalog</h4>
-<pre>org.apache.spark.sql.connector.catalog.CatalogPlugin catalog</pre>
+<h4>CommandType$module</h4>
+<pre>org.apache.spark.sql.catalyst.analysis.ResolveDefaultColumns.CommandType$ CommandType$module</pre>
 </li>
 <li class="blockListLast">
-<h4>nameParts</h4>
-<pre>scala.collection.Seq&lt;A&gt; nameParts</pre>
+<h4>catalog</h4>
+<pre>org.apache.spark.sql.catalyst.catalog.SessionCatalog catalog</pre>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedDBObjectName:D">
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolveDefaultColumns:D">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.ResolvedDBObjectName$ extends scala.runtime.AbstractFunction2&lt;org.apache.spark.sql.connector.catalog.CatalogPlugin,scala.collection.Seq&lt;java.lang.String&gt;,org.apache.spark.sql.catalyst.analysis.ResolvedDBObjectName&gt; implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ResolveDefaultColumns$ extends scala.runtime.AbstractFunction1&lt;org.apache.spark.sql.catalyst.catalog.SessionCatalog,org.apache.spark.sql.catalyst.analysis.ResolveDefaultColumns&gt; implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialization Methods</h3>
@@ -5591,6 +5739,42 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedIdentifier">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ResolvedIdentifier extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>catalog</h4>
+<pre>org.apache.spark.sql.connector.catalog.CatalogPlugin catalog</pre>
+</li>
+<li class="blockListLast">
+<h4>identifier</h4>
+<pre>org.apache.spark.sql.connector.catalog.Identifier identifier</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedIdentifier:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ResolvedIdentifier$ extends scala.runtime.AbstractFunction2&lt;org.apache.spark.sql.connector.catalog.CatalogPlugin,org.apache.spark.sql.connector.catalog.Identifier,org.apache.spark.sql.catalyst.analysis.ResolvedIdentifier&gt; implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>readResolve</h4>
+<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedNamespace">
 <!--   -->
 </a>
@@ -5743,6 +5927,46 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedPersistentView">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ResolvedPersistentView extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>catalog</h4>
+<pre>org.apache.spark.sql.connector.catalog.CatalogPlugin catalog</pre>
+</li>
+<li class="blockList">
+<h4>identifier</h4>
+<pre>org.apache.spark.sql.connector.catalog.Identifier identifier</pre>
+</li>
+<li class="blockListLast">
+<h4>viewSchema</h4>
+<pre>org.apache.spark.sql.types.StructType viewSchema</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedPersistentView:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ResolvedPersistentView$ extends scala.runtime.AbstractFunction3&lt;org.apache.spark.sql.connector.catalog.CatalogPlugin,org.apache.spark.sql.connector.catalog.Identifier,org.apache.spark.sql.types.StructType,org.apache.spark.sql.catalyst.analysis.ResolvedPersistentView&gt; implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>readResolve</h4>
+<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedStar">
 <!--   -->
 </a>
@@ -5819,10 +6043,10 @@
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedView">
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedTempView">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.ResolvedView extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ResolvedTempView extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialized Fields</h3>
@@ -5832,17 +6056,53 @@
 <pre>org.apache.spark.sql.connector.catalog.Identifier identifier</pre>
 </li>
 <li class="blockListLast">
-<h4>isTemp</h4>
-<pre>boolean isTemp</pre>
+<h4>viewSchema</h4>
+<pre>org.apache.spark.sql.types.StructType viewSchema</pre>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedView:D">
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolvedTempView:D">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.ResolvedView$ extends scala.runtime.AbstractFunction2&lt;org.apache.spark.sql.connector.catalog.Identifier,java.lang.Object,org.apache.spark.sql.catalyst.analysis.ResolvedView&gt; implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ResolvedTempView$ extends scala.runtime.AbstractFunction2&lt;org.apache.spark.sql.connector.catalog.Identifier,org.apache.spark.sql.types.StructType,org.apache.spark.sql.catalyst.analysis.ResolvedTempView&gt; implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>readResolve</h4>
+<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolveLateralColumnAliasReference.AliasEntry">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ResolveLateralColumnAliasReference.AliasEntry extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>alias</h4>
+<pre>org.apache.spark.sql.catalyst.expressions.Alias alias</pre>
+</li>
+<li class="blockListLast">
+<h4>index</h4>
+<pre>int index</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolveLateralColumnAliasReference.AliasEntry:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ResolveLateralColumnAliasReference.AliasEntry$ extends scala.runtime.AbstractFunction2&lt;org.apache.spark.sql.catalyst.expressions.Alias,java.lang.Object,org.apache.spark.sql.catalyst.analysis.ResolveLateralColumnAliasReference.AliasEntry&gt; implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialization Methods</h3>
@@ -5959,38 +6219,6 @@
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolveTableValuedFunctions">
-<!--   -->
-</a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.ResolveTableValuedFunctions extends org.apache.spark.sql.catalyst.rules.Rule&lt;org.apache.spark.sql.catalyst.plans.logical.LogicalPlan&gt; implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockListLast">
-<h4>catalog</h4>
-<pre>org.apache.spark.sql.catalyst.catalog.SessionCatalog catalog</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ResolveTableValuedFunctions:D">
-<!--   -->
-</a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.ResolveTableValuedFunctions$ extends scala.runtime.AbstractFunction1&lt;org.apache.spark.sql.catalyst.catalog.SessionCatalog,org.apache.spark.sql.catalyst.analysis.ResolveTableValuedFunctions&gt; implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialization Methods</h3>
-<ul class="blockList">
-<li class="blockListLast">
-<h4>readResolve</h4>
-<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TableAlreadyExistsException">
 <!--   -->
 </a>
@@ -6021,6 +6249,10 @@
 <h3>Serialized Fields</h3>
 <ul class="blockList">
 <li class="blockList">
+<h4>resolved</h4>
+<pre>boolean resolved</pre>
+</li>
+<li class="blockList">
 <h4>canonicalized</h4>
 <pre>org.apache.spark.sql.catalyst.expressions.Expression canonicalized</pre>
 </li>
@@ -6032,9 +6264,17 @@
 <h4>nameParts</h4>
 <pre>scala.collection.Seq&lt;A&gt; nameParts</pre>
 </li>
+<li class="blockList">
+<h4>hasTried</h4>
+<pre>boolean hasTried</pre>
+</li>
+<li class="blockList">
+<h4>nodePatterns</h4>
+<pre>scala.collection.Seq&lt;A&gt; nodePatterns</pre>
+</li>
 <li class="blockListLast">
 <h4>bitmap$0</h4>
-<pre>boolean bitmap$0</pre>
+<pre>byte bitmap$0</pre>
 </li>
 </ul>
 </li>
@@ -6043,7 +6283,7 @@
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TempResolvedColumn:D">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.TempResolvedColumn$ extends scala.runtime.AbstractFunction2&lt;org.apache.spark.sql.catalyst.expressions.Expression,scala.collection.Seq&lt;java.lang.String&gt;,org.apache.spark.sql.catalyst.analysis.TempResolvedColumn&gt; implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.TempResolvedColumn$ extends scala.runtime.AbstractFunction3&lt;org.apache.spark.sql.catalyst.expressions.Expression,scala.collection.Seq&lt;java.lang.String&gt;,java.lang.Object,org.apache.spark.sql.catalyst.analysis.TempResolvedColumn&gt; implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialization Methods</h3>
@@ -6059,7 +6299,95 @@
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TempTableAlreadyExistsException">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.TempTableAlreadyExistsException extends org.apache.spark.sql.catalyst.analysis.TableAlreadyExistsException implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.TempTableAlreadyExistsException extends org.apache.spark.sql.AnalysisException implements Serializable</h3>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TempTableAlreadyExistsException:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.TempTableAlreadyExistsException$ extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>readResolve</h4>
+<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TypeCheckResult.DataTypeMismatch">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.TypeCheckResult.DataTypeMismatch extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>errorSubClass</h4>
+<pre>java.lang.String errorSubClass</pre>
+</li>
+<li class="blockListLast">
+<h4>messageParameters</h4>
+<pre>scala.collection.immutable.Map&lt;K,V&gt; messageParameters</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TypeCheckResult.DataTypeMismatch:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.TypeCheckResult.DataTypeMismatch$ extends scala.runtime.AbstractFunction2&lt;java.lang.String,scala.collection.immutable.Map&lt;java.lang.String,java.lang.String&gt;,org.apache.spark.sql.catalyst.analysis.TypeCheckResult.DataTypeMismatch&gt; implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>readResolve</h4>
+<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TypeCheckResult.InvalidFormat">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.TypeCheckResult.InvalidFormat extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>errorSubClass</h4>
+<pre>java.lang.String errorSubClass</pre>
+</li>
+<li class="blockListLast">
+<h4>messageParameters</h4>
+<pre>scala.collection.immutable.Map&lt;K,V&gt; messageParameters</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TypeCheckResult.InvalidFormat:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.TypeCheckResult.InvalidFormat$ extends scala.runtime.AbstractFunction2&lt;java.lang.String,scala.collection.immutable.Map&lt;java.lang.String,java.lang.String&gt;,org.apache.spark.sql.catalyst.analysis.TypeCheckResult.InvalidFormat&gt; implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>readResolve</h4>
+<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
+</li>
+</ul>
+</li>
+</ul>
 </li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TypeCheckResult.TypeCheckFailure">
 <!--   -->
@@ -6077,10 +6405,10 @@
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TypeCheckResult:DTypeCheckFailure:D">
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.TypeCheckResult.TypeCheckFailure:D">
 <!--   -->
 </a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.TypeCheckResult$TypeCheckFailure$ extends scala.runtime.AbstractFunction1&lt;java.lang.String,org.apache.spark.sql.catalyst.analysis.TypeCheckResult.TypeCheckFailure&gt; implements Serializable</h3>
+<h3>Class org.apache.spark.sql.catalyst.analysis.TypeCheckResult.TypeCheckFailure$ extends scala.runtime.AbstractFunction1&lt;java.lang.String,org.apache.spark.sql.catalyst.analysis.TypeCheckResult.TypeCheckFailure&gt; implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialization Methods</h3>
@@ -6185,50 +6513,6 @@
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedDBObjectName">
-<!--   -->
-</a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.UnresolvedDBObjectName extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>resolved</h4>
-<pre>boolean resolved</pre>
-</li>
-<li class="blockList">
-<h4>nameParts</h4>
-<pre>scala.collection.Seq&lt;A&gt; nameParts</pre>
-</li>
-<li class="blockList">
-<h4>isNamespace</h4>
-<pre>boolean isNamespace</pre>
-</li>
-<li class="blockListLast">
-<h4>bitmap$0</h4>
-<pre>boolean bitmap$0</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedDBObjectName:D">
-<!--   -->
-</a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.UnresolvedDBObjectName$ extends scala.runtime.AbstractFunction2&lt;scala.collection.Seq&lt;java.lang.String&gt;,java.lang.Object,org.apache.spark.sql.catalyst.analysis.UnresolvedDBObjectName&gt; implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialization Methods</h3>
-<ul class="blockList">
-<li class="blockListLast">
-<h4>readResolve</h4>
-<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedDeserializer">
 <!--   -->
 </a>
@@ -6406,66 +6690,6 @@
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedFunc">
-<!--   -->
-</a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.UnresolvedFunc extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>resolved</h4>
-<pre>boolean resolved</pre>
-</li>
-<li class="blockList">
-<h4>multipartIdentifier</h4>
-<pre>scala.collection.Seq&lt;A&gt; multipartIdentifier</pre>
-</li>
-<li class="blockList">
-<h4>commandName</h4>
-<pre>java.lang.String commandName</pre>
-</li>
-<li class="blockList">
-<h4>requirePersistent</h4>
-<pre>boolean requirePersistent</pre>
-</li>
-<li class="blockList">
-<h4>funcTypeMismatchHint</h4>
-<pre>scala.Option&lt;A&gt; funcTypeMismatchHint</pre>
-</li>
-<li class="blockList">
-<h4>possibleQualifiedName</h4>
-<pre>scala.Option&lt;A&gt; possibleQualifiedName</pre>
-</li>
-<li class="blockList">
-<h4>nodePatterns</h4>
-<pre>scala.collection.Seq&lt;A&gt; nodePatterns</pre>
-</li>
-<li class="blockListLast">
-<h4>bitmap$0</h4>
-<pre>boolean bitmap$0</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedFunc:D">
-<!--   -->
-</a>
-<h3>Class org.apache.spark.sql.catalyst.analysis.UnresolvedFunc$ extends scala.runtime.AbstractFunction5&lt;scala.collection.Seq&lt;java.lang.String&gt;,java.lang.String,java.lang.Object,scala.Option&lt;java.lang.String&gt;,scala.Option&lt;scala.collection.Seq&lt;java.lang.String&gt;&gt;,org.apache.spark.sql.catalyst.analysis.UnresolvedFunc&gt; implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialization Methods</h3>
-<ul class="blockList">
-<li class="blockListLast">
-<h4>readResolve</h4>
-<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedFunction">
 <!--   -->
 </a>
@@ -6526,6 +6750,66 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedFunctionName">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.UnresolvedFunctionName extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>resolved</h4>
+<pre>boolean resolved</pre>
+</li>
+<li class="blockList">
+<h4>multipartIdentifier</h4>
+<pre>scala.collection.Seq&lt;A&gt; multipartIdentifier</pre>
+</li>
+<li class="blockList">
+<h4>commandName</h4>
+<pre>java.lang.String commandName</pre>
+</li>
+<li class="blockList">
+<h4>requirePersistent</h4>
+<pre>boolean requirePersistent</pre>
+</li>
+<li class="blockList">
+<h4>funcTypeMismatchHint</h4>
+<pre>scala.Option&lt;A&gt; funcTypeMismatchHint</pre>
+</li>
+<li class="blockList">
+<h4>possibleQualifiedName</h4>
+<pre>scala.Option&lt;A&gt; possibleQualifiedName</pre>
+</li>
+<li class="blockList">
+<h4>nodePatterns</h4>
+<pre>scala.collection.Seq&lt;A&gt; nodePatterns</pre>
+</li>
+<li class="blockListLast">
+<h4>bitmap$0</h4>
+<pre>boolean bitmap$0</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedFunctionName:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.UnresolvedFunctionName$ extends scala.runtime.AbstractFunction5&lt;scala.collection.Seq&lt;java.lang.String&gt;,java.lang.String,java.lang.Object,scala.Option&lt;java.lang.String&gt;,scala.Option&lt;scala.collection.Seq&lt;java.lang.String&gt;&gt;,org.apache.spark.sql.catalyst.analysis.UnresolvedFunctionName&gt; implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>readResolve</h4>
+<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedGenerator">
 <!--   -->
 </a>
@@ -6595,6 +6879,10 @@
 <pre>org.apache.spark.sql.catalyst.plans.logical.LogicalPlan child</pre>
 </li>
 <li class="blockList">
+<h4>nodePatterns</h4>
+<pre>scala.collection.Seq&lt;A&gt; nodePatterns</pre>
+</li>
+<li class="blockList">
 <h4>validConstraints</h4>
 <pre>org.apache.spark.sql.catalyst.expressions.ExpressionSet validConstraints</pre>
 </li>
@@ -6622,6 +6910,50 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedIdentifier">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.UnresolvedIdentifier extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>resolved</h4>
+<pre>boolean resolved</pre>
+</li>
+<li class="blockList">
+<h4>nameParts</h4>
+<pre>scala.collection.Seq&lt;A&gt; nameParts</pre>
+</li>
+<li class="blockList">
+<h4>allowTemp</h4>
+<pre>boolean allowTemp</pre>
+</li>
+<li class="blockListLast">
+<h4>bitmap$0</h4>
+<pre>boolean bitmap$0</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedIdentifier:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.UnresolvedIdentifier$ extends scala.runtime.AbstractFunction2&lt;scala.collection.Seq&lt;java.lang.String&gt;,java.lang.Object,org.apache.spark.sql.catalyst.analysis.UnresolvedIdentifier&gt; implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>readResolve</h4>
+<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedInlineTable">
 <!--   -->
 </a>
@@ -7113,15 +7445,15 @@
 </li>
 <li class="blockList">
 <h4>name</h4>
-<pre>org.apache.spark.sql.catalyst.FunctionIdentifier name</pre>
+<pre>scala.collection.Seq&lt;A&gt; name</pre>
 </li>
 <li class="blockList">
 <h4>functionArgs</h4>
 <pre>scala.collection.Seq&lt;A&gt; functionArgs</pre>
 </li>
 <li class="blockList">
-<h4>outputNames</h4>
-<pre>scala.collection.Seq&lt;A&gt; outputNames</pre>
+<h4>nodePatterns</h4>
+<pre>scala.collection.Seq&lt;A&gt; nodePatterns</pre>
 </li>
 <li class="blockListLast">
 <h4>bitmap$0</h4>
@@ -7147,6 +7479,62 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedTVFAliases">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.UnresolvedTVFAliases extends org.apache.spark.sql.catalyst.plans.logical.LogicalPlan implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>resolved</h4>
+<pre>boolean resolved</pre>
+</li>
+<li class="blockList">
+<h4>name</h4>
+<pre>scala.collection.Seq&lt;A&gt; name</pre>
+</li>
+<li class="blockList">
+<h4>child</h4>
+<pre>org.apache.spark.sql.catalyst.plans.logical.LogicalPlan child</pre>
+</li>
+<li class="blockList">
+<h4>outputNames</h4>
+<pre>scala.collection.Seq&lt;A&gt; outputNames</pre>
+</li>
+<li class="blockList">
+<h4>nodePatterns</h4>
+<pre>scala.collection.Seq&lt;A&gt; nodePatterns</pre>
+</li>
+<li class="blockList">
+<h4>validConstraints</h4>
+<pre>org.apache.spark.sql.catalyst.expressions.ExpressionSet validConstraints</pre>
+</li>
+<li class="blockListLast">
+<h4>bitmap$0</h4>
+<pre>byte bitmap$0</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedTVFAliases:D">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.UnresolvedTVFAliases$ extends java.lang.Object implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>readResolve</h4>
+<pre>private&nbsp;java.lang.Object&nbsp;readResolve()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.UnresolvedView">
 <!--   -->
 </a>
@@ -7199,6 +7587,11 @@
 </li>
 </ul>
 </li>
+<li class="blockList"><a name="org.apache.spark.sql.catalyst.analysis.ViewAlreadyExistsException">
+<!--   -->
+</a>
+<h3>Class org.apache.spark.sql.catalyst.analysis.ViewAlreadyExistsException extends org.apache.spark.sql.AnalysisException implements Serializable</h3>
+</li>
 </ul>
 </li>
 <li class="blockList">
@@ -7262,9 +7655,6 @@
 </li>
 </ul>
 </li>
-<li class="blockList">
-<h2 title="Package">Package&nbsp;org.apache.spark.sql.connector.iceberg.write</h2>
-</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->