From aa8e8c018bd95797e520360c8c0a9b0786705527 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?JB=20Onofr=C3=A9?= Date: Tue, 14 May 2024 18:17:31 +0200 Subject: [PATCH] [Build] Add a script to execute revapi without gradle plugin --- .palantir/revapi.yml | 1207 ------------------------------------------ build.gradle | 40 +- dev/revapi | 81 +++ 3 files changed, 90 insertions(+), 1238 deletions(-) delete mode 100644 .palantir/revapi.yml create mode 100755 dev/revapi diff --git a/.palantir/revapi.yml b/.palantir/revapi.yml deleted file mode 100644 index a41d3ddfb8df..000000000000 --- a/.palantir/revapi.yml +++ /dev/null @@ -1,1207 +0,0 @@ -acceptedBreaks: - "1.0.0": - org.apache.iceberg:iceberg-core: - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.BaseMetadataTable" - new: "class org.apache.iceberg.BaseMetadataTable" - justification: "Serialization changed" - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.BaseTable" - new: "class org.apache.iceberg.BaseTable" - justification: "Serialization changed" - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.BaseTransaction.TransactionTable" - new: "class org.apache.iceberg.BaseTransaction.TransactionTable" - justification: "Serialization changed" - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.MetricsConfig" - new: "class org.apache.iceberg.MetricsConfig" - justification: "Serialization changed" - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.SerializableTable" - new: "class org.apache.iceberg.SerializableTable" - justification: "Serialization changed" - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.TableMetadata" - new: "class org.apache.iceberg.TableMetadata" - justification: "Serialization changed" - - code: "java.field.noLongerConstant" - old: "field org.apache.iceberg.TableProperties.DELETE_MODE_DEFAULT" - new: "field org.apache.iceberg.TableProperties.DELETE_MODE_DEFAULT" - justification: "Refactorings" - - code: "java.field.noLongerConstant" - old: "field org.apache.iceberg.TableProperties.MERGE_MODE_DEFAULT" - new: "field org.apache.iceberg.TableProperties.MERGE_MODE_DEFAULT" - justification: "Refactorings" - - code: "java.field.noLongerConstant" - old: "field org.apache.iceberg.TableProperties.UPDATE_MODE_DEFAULT" - new: "field org.apache.iceberg.TableProperties.UPDATE_MODE_DEFAULT" - justification: "Refactorings" - - code: "java.method.addedToInterface" - new: "method org.apache.hadoop.conf.Configuration org.apache.hadoop.conf.Configurable::getConf()\ - \ @ org.apache.iceberg.hadoop.HadoopConfigurable" - justification: "New method was added to org.apache.hadoop.conf.Configurable" - - code: "java.method.addedToInterface" - new: "method void org.apache.hadoop.conf.Configurable::setConf(org.apache.hadoop.conf.Configuration)\ - \ @ org.apache.iceberg.hadoop.HadoopConfigurable" - justification: "New method was added to org.apache.hadoop.conf.Configurable" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableMetadata.Builder org.apache.iceberg.TableMetadata.Builder::removeBranch(java.lang.String)" - justification: "Removing deprecated method" - - code: "java.method.removed" - old: "method void org.apache.iceberg.deletes.EqualityDeleteWriter::delete(T)" - justification: "Removing deprecated method" - - code: "java.method.removed" - old: "method void org.apache.iceberg.deletes.EqualityDeleteWriter::deleteAll(java.lang.Iterable)" - justification: "Removing deprecated method" - - code: "java.method.removed" - old: "method void org.apache.iceberg.deletes.PositionDeleteWriter::delete(java.lang.CharSequence,\ - \ long)" - justification: "Removing deprecated method" - - code: "java.method.removed" - old: "method void org.apache.iceberg.deletes.PositionDeleteWriter::delete(java.lang.CharSequence,\ - \ long, T)" - justification: "Removing deprecated method" - - code: "java.method.removed" - old: "method void org.apache.iceberg.io.DataWriter::add(T)" - justification: "Removing deprecated method" - "1.1.0": - org.apache.iceberg:iceberg-core: - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.jdbc.JdbcCatalog" - new: "class org.apache.iceberg.jdbc.JdbcCatalog" - justification: "Generally safe due to type erasure" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.rest.RESTCatalog" - new: "class org.apache.iceberg.rest.RESTCatalog" - justification: "Generally safe due to type erasure" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.rest.RESTSessionCatalog" - new: "class org.apache.iceberg.rest.RESTSessionCatalog" - justification: "Generally safe due to type erasure" - - code: "java.class.nowImplementsInterface" - old: "class org.apache.iceberg.jdbc.JdbcCatalog" - new: "class org.apache.iceberg.jdbc.JdbcCatalog" - justification: "Generally safe due to type erasure" - - code: "java.class.nowImplementsInterface" - old: "class org.apache.iceberg.rest.RESTCatalog" - new: "class org.apache.iceberg.rest.RESTCatalog" - justification: "Generally safe due to type erasure" - - code: "java.class.nowImplementsInterface" - old: "class org.apache.iceberg.rest.RESTSessionCatalog" - new: "class org.apache.iceberg.rest.RESTSessionCatalog" - justification: "Generally safe due to type erasure" - - code: "java.class.removed" - old: "class org.apache.iceberg.rest.HTTPClientFactory" - justification: "Removing deprecations for 1.2.0" - - code: "java.class.superTypeTypeParametersChanged" - old: "class org.apache.iceberg.jdbc.JdbcCatalog" - new: "class org.apache.iceberg.jdbc.JdbcCatalog" - justification: "Generally safe due to type erasure" - - code: "java.class.superTypeTypeParametersChanged" - old: "class org.apache.iceberg.rest.RESTCatalog" - new: "class org.apache.iceberg.rest.RESTCatalog" - justification: "Generally safe due to type erasure" - - code: "java.class.superTypeTypeParametersChanged" - old: "class org.apache.iceberg.rest.RESTSessionCatalog" - new: "class org.apache.iceberg.rest.RESTSessionCatalog" - justification: "Generally safe due to type erasure" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.ErrorResponseDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.ErrorResponseDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.MetadataUpdateDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.MetadataUpdateDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.NamespaceDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.NamespaceDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.OAuthTokenResponseDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.OAuthTokenResponseDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.ReportMetricsRequestDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.ReportMetricsRequestDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.SchemaDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.SchemaDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.TableIdentifierDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.TableIdentifierDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.TableMetadataDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.TableMetadataDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.UnboundPartitionSpecDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.UnboundPartitionSpecDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.UnboundSortOrderDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.UnboundSortOrderDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\ - \ @ org.apache.iceberg.rest.RESTSerializers.UpdateRequirementDeserializer" - new: "method T com.fasterxml.jackson.databind.JsonDeserializer::deserialize(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException,\ - \ com.fasterxml.jackson.core.JacksonException @ org.apache.iceberg.rest.RESTSerializers.UpdateRequirementDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.ErrorResponseDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.ErrorResponseDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.MetadataUpdateDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.MetadataUpdateDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.NamespaceDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.NamespaceDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.OAuthTokenResponseDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.OAuthTokenResponseDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.ReportMetricsRequestDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.ReportMetricsRequestDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.SchemaDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.SchemaDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.TableIdentifierDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.TableIdentifierDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.TableMetadataDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.TableMetadataDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.UnboundPartitionSpecDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.UnboundPartitionSpecDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.UnboundSortOrderDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.UnboundSortOrderDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.exception.checkedAdded" - old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException @ org.apache.iceberg.rest.RESTSerializers.UpdateRequirementDeserializer" - new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer::deserializeWithType(com.fasterxml.jackson.core.JsonParser,\ - \ com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.jsontype.TypeDeserializer,\ - \ T) throws java.io.IOException, com.fasterxml.jackson.core.JacksonException\ - \ @ org.apache.iceberg.rest.RESTSerializers.UpdateRequirementDeserializer" - justification: "False positive - JacksonException is a subclass of IOException" - - code: "java.method.removed" - old: "method org.apache.iceberg.io.CloseableIterable org.apache.iceberg.deletes.Deletes::filterDeleted(org.apache.iceberg.io.CloseableIterable,\ - \ java.util.function.Predicate)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method boolean org.apache.iceberg.BaseTableScan::colStats() @ org.apache.iceberg.AllDataFilesTable.AllDataFilesTableScan" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method boolean org.apache.iceberg.BaseTableScan::colStats() @ org.apache.iceberg.AllDeleteFilesTable.AllDeleteFilesTableScan" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method boolean org.apache.iceberg.BaseTableScan::colStats() @ org.apache.iceberg.AllFilesTable.AllFilesTableScan" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method boolean org.apache.iceberg.BaseTableScan::colStats() @ org.apache.iceberg.AllManifestsTable.AllManifestsTableScan" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method boolean org.apache.iceberg.BaseTableScan::colStats() @ org.apache.iceberg.DataFilesTable.DataFilesTableScan" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method boolean org.apache.iceberg.BaseTableScan::colStats() @ org.apache.iceberg.DataTableScan" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method boolean org.apache.iceberg.BaseTableScan::colStats() @ org.apache.iceberg.DeleteFilesTable.DeleteFilesTableScan" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method boolean org.apache.iceberg.BaseTableScan::colStats() @ org.apache.iceberg.FilesTable.FilesTableScan" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method java.lang.String[] org.apache.iceberg.hadoop.Util::blockLocations(org.apache.iceberg.io.FileIO,\ - \ org.apache.iceberg.CombinedScanTask)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method java.util.List org.apache.iceberg.BaseReplacePartitions::apply(org.apache.iceberg.TableMetadata)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method java.util.List org.apache.iceberg.BaseRewriteManifests::apply(org.apache.iceberg.TableMetadata)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method java.util.List org.apache.iceberg.MergingSnapshotProducer::apply(org.apache.iceberg.TableMetadata)\ - \ @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method java.util.List org.apache.iceberg.MergingSnapshotProducer::apply(org.apache.iceberg.TableMetadata)\ - \ @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method java.util.Map org.apache.iceberg.util.PartitionUtil::constantsMap(org.apache.iceberg.FileScanTask)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method java.util.Map org.apache.iceberg.util.PartitionUtil::constantsMap(org.apache.iceberg.FileScanTask,\ - \ java.util.function.BiFunction)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method java.util.Map org.apache.iceberg.util.PartitionUtil::constantsMap(org.apache.iceberg.FileScanTask,\ - \ org.apache.iceberg.types.Types.StructType, java.util.function.BiFunction)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.BaseReplacePartitions::validate(org.apache.iceberg.TableMetadata)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.ManifestReader>>::(org.apache.iceberg.io.InputFile,\ - \ java.util.Map, org.apache.iceberg.InheritableMetadata,\ - \ org.apache.iceberg.ManifestReader.FileType)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.ManifestWriter>>::delete(F)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.ManifestWriter>>::existing(F, long, long)" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.SnapshotProducer::validate(org.apache.iceberg.TableMetadata)\ - \ @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.SnapshotProducer::validate(org.apache.iceberg.TableMetadata)\ - \ @ org.apache.iceberg.BaseRewriteManifests" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.SnapshotProducer::validate(org.apache.iceberg.TableMetadata)\ - \ @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.2.0" - - code: "java.method.returnTypeChangedCovariantly" - old: "method ThisT org.apache.iceberg.SnapshotUpdate::toBranch(java.lang.String)\ - \ @ org.apache.iceberg.BaseOverwriteFiles" - new: "method org.apache.iceberg.BaseOverwriteFiles org.apache.iceberg.BaseOverwriteFiles::toBranch(java.lang.String)" - justification: "Introducing branch snapshot operations on BaseOverwrite" - - code: "java.method.returnTypeChangedCovariantly" - old: "method ThisT org.apache.iceberg.SnapshotUpdate::toBranch(java.lang.String)\ - \ @ org.apache.iceberg.BaseReplacePartitions" - new: "method org.apache.iceberg.BaseReplacePartitions org.apache.iceberg.BaseReplacePartitions::toBranch(java.lang.String)" - justification: "Introducing branch snapshot operations for BaseReplacePartitions" - - code: "java.method.returnTypeChangedCovariantly" - old: "method org.apache.iceberg.Table org.apache.iceberg.BaseMetadataTable::table()" - new: "method org.apache.iceberg.BaseTable org.apache.iceberg.BaseMetadataTable::table()" - justification: "Returning more specific subclass" - org.apache.iceberg:iceberg-orc: - - code: "java.method.removed" - old: "method org.apache.iceberg.orc.ORC.WriteBuilder org.apache.iceberg.orc.ORC.WriteBuilder::config(java.lang.String,\ - \ java.lang.String)" - justification: "Removing deprecations for 1.2.0" - "1.2.0": - org.apache.iceberg:iceberg-api: - - code: "java.field.constantValueChanged" - old: "field org.apache.iceberg.actions.RewriteDataFiles.MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT" - new: "field org.apache.iceberg.actions.RewriteDataFiles.MAX_CONCURRENT_FILE_GROUP_REWRITES_DEFAULT" - justification: "Update default to align with recommendation and allow more parallelism" - - code: "java.method.addedToInterface" - new: "method int org.apache.iceberg.view.ViewVersion::schemaId()" - justification: "Moving SchemaID to ViewVersion. View Spec implementation has\ - \ not been voted on yet so this break is acceptable" - - code: "java.method.addedToInterface" - new: "method java.lang.String org.apache.iceberg.view.ViewVersion::operation()" - justification: "Add operation API to view version" - - code: "java.method.addedToInterface" - new: "method java.util.List\ - \ org.apache.iceberg.actions.RewritePositionDeleteFiles.Result::rewriteResults()" - justification: "New method added to un-implemented interface" - - code: "java.method.removed" - old: "method java.lang.Integer org.apache.iceberg.view.ImmutableSQLViewRepresentation::schemaId()" - justification: "Moving SchemaID to ViewVersion. View Spec implementation has\ - \ not been voted on yet so this break is acceptable" - - code: "java.method.removed" - old: "method java.lang.Integer org.apache.iceberg.view.SQLViewRepresentation::schemaId()" - justification: "Moving SchemaID to ViewVersion. View Spec implementation has\ - \ not been voted on yet so this break is acceptable" - - code: "java.method.removed" - old: "method org.apache.iceberg.view.ImmutableSQLViewRepresentation org.apache.iceberg.view.ImmutableSQLViewRepresentation::withSchemaId(java.lang.Integer)" - justification: "Moving SchemaID to ViewVersion. View Spec implementation has\ - \ not been voted on yet so this break is acceptable" - - code: "java.method.removed" - old: "method org.apache.iceberg.view.ImmutableSQLViewRepresentation.Builder\ - \ org.apache.iceberg.view.ImmutableSQLViewRepresentation.Builder::schemaId(java.lang.Integer)" - justification: "Moving SchemaID to ViewVersion. View Spec implementation has\ - \ not been voted on yet so this break is acceptable" - org.apache.iceberg:iceberg-core: - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.BaseExpireSnapshotsActionResult" - justification: "Removing deprecations for 1.3.0" - - code: "java.field.noLongerConstant" - old: "field org.apache.iceberg.util.ThreadPools.WORKER_THREAD_POOL_SIZE_PROP" - new: "field org.apache.iceberg.util.ThreadPools.WORKER_THREAD_POOL_SIZE_PROP" - justification: "{Not break, they are same}" - - code: "java.field.removedWithConstant" - old: "field org.apache.iceberg.CatalogProperties.AUTH_DEFAULT_REFRESH_ENABLED" - justification: "Removing deprecations for 1.3.0" - - code: "java.field.removedWithConstant" - old: "field org.apache.iceberg.CatalogProperties.AUTH_DEFAULT_REFRESH_ENABLED_DEFAULT" - justification: "Removing deprecations for 1.3.0" - - code: "java.field.removedWithConstant" - old: "field org.apache.iceberg.TableProperties.HMS_TABLE_OWNER" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.parameterTypeChanged" - old: "parameter void org.apache.iceberg.actions.RewriteDataFilesCommitManager.CommitService::offer(===org.apache.iceberg.actions.RewriteFileGroup===)" - new: "parameter void org.apache.iceberg.actions.BaseCommitService::offer(===T===)\ - \ @ org.apache.iceberg.actions.RewriteDataFilesCommitManager.CommitService" - justification: "Backwards compatible parameterization of argument" - - code: "java.method.removed" - old: "method ThisT org.apache.iceberg.BaseScan>::newRefinedScan(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\ - \ @ org.apache.iceberg.AllDataFilesTable.AllDataFilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method ThisT org.apache.iceberg.BaseScan>::newRefinedScan(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\ - \ @ org.apache.iceberg.AllDeleteFilesTable.AllDeleteFilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method ThisT org.apache.iceberg.BaseScan>::newRefinedScan(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\ - \ @ org.apache.iceberg.AllFilesTable.AllFilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method ThisT org.apache.iceberg.BaseScan>::newRefinedScan(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\ - \ @ org.apache.iceberg.AllManifestsTable.AllManifestsTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method ThisT org.apache.iceberg.BaseScan>::newRefinedScan(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\ - \ @ org.apache.iceberg.DataFilesTable.DataFilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method ThisT org.apache.iceberg.BaseScan>::newRefinedScan(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\ - \ @ org.apache.iceberg.DataTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method ThisT org.apache.iceberg.BaseScan>::newRefinedScan(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\ - \ @ org.apache.iceberg.DeleteFilesTable.DeleteFilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method ThisT org.apache.iceberg.BaseScan>::newRefinedScan(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\ - \ @ org.apache.iceberg.FilesTable.FilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method ThisT org.apache.iceberg.BaseScan>::newRefinedScan(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\ - \ @ org.apache.iceberg.PositionDeletesTable.PositionDeletesBatchScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method ThisT org.apache.iceberg.BaseScan>::newRefinedScan(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\ - \ @ org.apache.iceberg.SnapshotScan>" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.DeleteFileIndex org.apache.iceberg.MergingSnapshotProducer::addedDeleteFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression, org.apache.iceberg.util.PartitionSet)\ - \ @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.DeleteFileIndex org.apache.iceberg.MergingSnapshotProducer::addedDeleteFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression, org.apache.iceberg.util.PartitionSet)\ - \ @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.DeleteFileIndex org.apache.iceberg.MergingSnapshotProducer::addedDeleteFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression, org.apache.iceberg.util.PartitionSet)\ - \ @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseScan>::tableOps() @ org.apache.iceberg.AllDataFilesTable.AllDataFilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseScan>::tableOps() @ org.apache.iceberg.AllDeleteFilesTable.AllDeleteFilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseScan>::tableOps() @ org.apache.iceberg.AllFilesTable.AllFilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseScan>::tableOps() @ org.apache.iceberg.AllManifestsTable.AllManifestsTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseScan>::tableOps() @ org.apache.iceberg.DataFilesTable.DataFilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseScan>::tableOps() @ org.apache.iceberg.DataTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseScan>::tableOps() @ org.apache.iceberg.DeleteFilesTable.DeleteFilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseScan>::tableOps() @ org.apache.iceberg.FilesTable.FilesTableScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseScan>::tableOps() @ org.apache.iceberg.PositionDeletesTable.PositionDeletesBatchScan" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseScan>::tableOps() @ org.apache.iceberg.SnapshotScan>" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.rest.HTTPClient.Builder org.apache.iceberg.rest.HTTPClient::builder()" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method org.apache.iceberg.types.Types.StructType org.apache.iceberg.Partitioning::groupingKeyType(java.util.Collection)" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.BaseMetadataTable::(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, java.lang.String)" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.DataTableScan::(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table)" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.DataTableScan::(org.apache.iceberg.TableOperations,\ - \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateAddedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression) @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateAddedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression) @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateAddedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression) @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateAddedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.PartitionSet) @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateAddedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.PartitionSet) @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateAddedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.PartitionSet) @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateDataFilesExist(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.CharSequenceSet, boolean, org.apache.iceberg.expressions.Expression)\ - \ @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateDataFilesExist(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.CharSequenceSet, boolean, org.apache.iceberg.expressions.Expression)\ - \ @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateDataFilesExist(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.CharSequenceSet, boolean, org.apache.iceberg.expressions.Expression)\ - \ @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateDeletedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression) @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateDeletedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression) @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateDeletedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression) @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateDeletedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.PartitionSet) @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateDeletedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.PartitionSet) @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateDeletedDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.PartitionSet) @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression) @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression) @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression) @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.PartitionSet) @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.PartitionSet) @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeleteFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.util.PartitionSet) @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, java.lang.Iterable) @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, java.lang.Iterable) @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, java.lang.Iterable) @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression, java.lang.Iterable)\ - \ @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression, java.lang.Iterable)\ - \ @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\ - \ java.lang.Long, org.apache.iceberg.expressions.Expression, java.lang.Iterable)\ - \ @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.actions.BaseFileGroupRewriteResult::(org.apache.iceberg.actions.RewriteDataFiles.FileGroupInfo,\ - \ int, int)" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.jdbc.JdbcCatalog::setConf(org.apache.hadoop.conf.Configuration)" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.rest.RESTCatalog::setConf(org.apache.hadoop.conf.Configuration)" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.rest.RESTSessionCatalog::setConf(org.apache.hadoop.conf.Configuration)" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.removed" - old: "method void org.apache.iceberg.rest.auth.OAuth2Util.AuthSession::(java.util.Map, java.lang.String, java.lang.String)" - justification: "Removing deprecations for 1.3.0" - - code: "java.method.returnTypeTypeParametersChanged" - old: "method java.util.List\ - \ org.apache.iceberg.rest.requests.UpdateTableRequest::requirements()" - new: "method java.util.List org.apache.iceberg.rest.requests.UpdateTableRequest::requirements()" - justification: "Signature changed to an interface, but this is safe because\ - \ of type erasure and the original type is always returned" - "1.3.0": - org.apache.iceberg:iceberg-api: - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.ImmutableDeleteOrphanFiles" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.ImmutableDeleteReachableFiles" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.ImmutableExpireSnapshots" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.ImmutableMigrateTable" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.ImmutableRewriteDataFiles" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.ImmutableRewriteManifests" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.ImmutableRewritePositionDeleteFiles" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.ImmutableSnapshotTable" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "class org.apache.iceberg.view.ImmutableSQLViewRepresentation" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "class org.apache.iceberg.view.ImmutableViewHistoryEntry" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "class org.apache.iceberg.view.ImmutableViewVersion" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.class.removed" - old: "interface org.apache.iceberg.view.SQLViewRepresentation" - justification: "Moving from iceberg-api to iceberg-core" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.catalog.Namespace org.apache.iceberg.view.ViewVersion::defaultNamespace()" - justification: "Acceptable break due to updating View APIs and the View Spec" - - code: "java.method.numberOfParametersChanged" - old: "method org.apache.iceberg.view.ViewBuilder org.apache.iceberg.view.ViewBuilder::withQuery(java.lang.String)" - new: "method T org.apache.iceberg.view.VersionBuilder::withQuery(java.lang.String,\ - \ java.lang.String) @ org.apache.iceberg.view.ViewBuilder" - justification: "Acceptable break due to updating View APIs and the View Spec" - - code: "java.method.removed" - old: "method org.apache.iceberg.view.ViewBuilder org.apache.iceberg.view.ViewBuilder::withDialect(java.lang.String)" - justification: "Acceptable break due to updating View APIs and the View Spec" - - code: "java.method.removed" - old: "method org.apache.iceberg.view.ViewBuilder org.apache.iceberg.view.ViewBuilder::withFieldAliases(java.util.List)" - justification: "Acceptable break due to updating View APIs and the View Spec" - - code: "java.method.removed" - old: "method org.apache.iceberg.view.ViewBuilder org.apache.iceberg.view.ViewBuilder::withFieldComments(java.util.List)" - justification: "Acceptable break due to updating View APIs and the View Spec" - - code: "java.method.removed" - old: "method org.apache.iceberg.view.ViewBuilder org.apache.iceberg.view.ViewBuilder::withQueryColumnNames(java.util.List)" - justification: "Acceptable break due to updating View APIs and the View Spec" - - code: "java.method.removed" - old: "method void org.apache.iceberg.view.ViewVersion::check()" - justification: "Acceptable break due to updating View APIs" - org.apache.iceberg:iceberg-core: - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.BaseDeleteOrphanFilesActionResult" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.BaseDeleteReachableFilesActionResult" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.BaseFileGroupRewriteResult" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.BaseMigrateTableActionResult" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.BaseRewriteDataFilesFileGroupInfo" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.BaseRewriteDataFilesResult" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.BaseRewriteManifestsActionResult" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.BaseSnapshotTableActionResult" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "interface org.apache.iceberg.actions.RewritePositionDeleteStrategy" - justification: "Removing deprecated code" - - code: "java.field.removedWithConstant" - old: "field org.apache.iceberg.TableProperties.MERGE_CARDINALITY_CHECK_ENABLED" - justification: "Spark 3.1 has been dropped" - - code: "java.field.removedWithConstant" - old: "field org.apache.iceberg.TableProperties.MERGE_CARDINALITY_CHECK_ENABLED_DEFAULT" - justification: "Spark 3.1 has been dropped" - - code: "java.method.removed" - old: "method java.util.List org.apache.iceberg.MergingSnapshotProducer::addedFiles()\ - \ @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method java.util.List org.apache.iceberg.MergingSnapshotProducer::addedFiles()\ - \ @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method java.util.List org.apache.iceberg.MergingSnapshotProducer::addedFiles()\ - \ @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::setNewFilesSequenceNumber(long)\ - \ @ org.apache.iceberg.BaseOverwriteFiles" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::setNewFilesSequenceNumber(long)\ - \ @ org.apache.iceberg.BaseReplacePartitions" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method void org.apache.iceberg.MergingSnapshotProducer::setNewFilesSequenceNumber(long)\ - \ @ org.apache.iceberg.StreamingDelete" - justification: "Removing deprecated code" - - code: "java.method.returnTypeTypeParametersChanged" - old: "method org.apache.avro.generic.GenericEnumSymbol org.apache.avro.Conversion::toEnumSymbol(T,\ - \ org.apache.avro.Schema, org.apache.avro.LogicalType) @ org.apache.iceberg.avro.UUIDConversion" - new: "method org.apache.avro.generic.GenericEnumSymbol org.apache.avro.Conversion::toEnumSymbol(T,\ - \ org.apache.avro.Schema, org.apache.avro.LogicalType) @ org.apache.iceberg.avro.UUIDConversion" - justification: "Generic has been added" - - code: "java.method.visibilityReduced" - old: "method void org.apache.iceberg.encryption.Ciphers::()" - new: "method void org.apache.iceberg.encryption.Ciphers::()" - justification: "Static utility class - should not have public constructor" - "1.4.0": - org.apache.iceberg:iceberg-core: - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.PartitionData" - new: "class org.apache.iceberg.PartitionData" - justification: "Serialization across versions is not supported" - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.mapping.NameMapping" - new: "class org.apache.iceberg.mapping.NameMapping" - justification: "Serialization across versions is not guaranteed" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.AllDataFilesTable" - new: "class org.apache.iceberg.AllDataFilesTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.AllDeleteFilesTable" - new: "class org.apache.iceberg.AllDeleteFilesTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.AllEntriesTable" - new: "class org.apache.iceberg.AllEntriesTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.AllFilesTable" - new: "class org.apache.iceberg.AllFilesTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.AllManifestsTable" - new: "class org.apache.iceberg.AllManifestsTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.BaseMetadataTable" - new: "class org.apache.iceberg.BaseMetadataTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.DataFilesTable" - new: "class org.apache.iceberg.DataFilesTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.DeleteFilesTable" - new: "class org.apache.iceberg.DeleteFilesTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.FilesTable" - new: "class org.apache.iceberg.FilesTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.HistoryTable" - new: "class org.apache.iceberg.HistoryTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.ManifestEntriesTable" - new: "class org.apache.iceberg.ManifestEntriesTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.ManifestsTable" - new: "class org.apache.iceberg.ManifestsTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.MetadataLogEntriesTable" - new: "class org.apache.iceberg.MetadataLogEntriesTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.PartitionsTable" - new: "class org.apache.iceberg.PartitionsTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.PositionDeletesTable" - new: "class org.apache.iceberg.PositionDeletesTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.RefsTable" - new: "class org.apache.iceberg.RefsTable" - justification: "Removing deprecated code" - - code: "java.class.noLongerImplementsInterface" - old: "class org.apache.iceberg.SnapshotsTable" - new: "class org.apache.iceberg.SnapshotsTable" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.BinPackStrategy" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.actions.SortStrategy" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.rest.RESTSerializers.UpdateRequirementDeserializer" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.rest.RESTSerializers.UpdateRequirementSerializer" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.rest.requests.UpdateRequirementParser" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "class org.apache.iceberg.rest.requests.UpdateTableRequest.Builder" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "interface org.apache.iceberg.actions.RewriteStrategy" - justification: "Removing deprecated code" - - code: "java.class.removed" - old: "interface org.apache.iceberg.rest.requests.UpdateTableRequest.UpdateRequirement" - justification: "Removing deprecated code" - - code: "java.field.serialVersionUIDChanged" - new: "field org.apache.iceberg.util.SerializableMap.serialVersionUID" - justification: "Serialization is not be used" - - code: "java.method.removed" - old: "method org.apache.iceberg.TableOperations org.apache.iceberg.BaseMetadataTable::operations()" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method org.apache.iceberg.encryption.EncryptedOutputFile org.apache.iceberg.io.ClusteredWriter::newOutputFile(org.apache.iceberg.io.OutputFileFactory, org.apache.iceberg.PartitionSpec,\ - \ org.apache.iceberg.StructLike) @ org.apache.iceberg.io.ClusteredDataWriter" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method org.apache.iceberg.encryption.EncryptedOutputFile org.apache.iceberg.io.ClusteredWriter::newOutputFile(org.apache.iceberg.io.OutputFileFactory, org.apache.iceberg.PartitionSpec,\ - \ org.apache.iceberg.StructLike) @ org.apache.iceberg.io.ClusteredEqualityDeleteWriter" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method org.apache.iceberg.encryption.EncryptedOutputFile org.apache.iceberg.io.ClusteredWriter::newOutputFile(org.apache.iceberg.io.OutputFileFactory, org.apache.iceberg.PartitionSpec,\ - \ org.apache.iceberg.StructLike) @ org.apache.iceberg.io.ClusteredPositionDeleteWriter" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method org.apache.iceberg.encryption.EncryptedOutputFile org.apache.iceberg.io.FanoutWriter::newOutputFile(org.apache.iceberg.io.OutputFileFactory, org.apache.iceberg.PartitionSpec,\ - \ org.apache.iceberg.StructLike) @ org.apache.iceberg.io.FanoutDataWriter" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method org.apache.iceberg.encryption.EncryptedOutputFile org.apache.iceberg.io.FanoutWriter::newOutputFile(org.apache.iceberg.io.OutputFileFactory, org.apache.iceberg.PartitionSpec,\ - \ org.apache.iceberg.StructLike) @ org.apache.iceberg.io.FanoutPositionOnlyDeleteWriter" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method org.apache.iceberg.rest.requests.UpdateTableRequest.Builder org.apache.iceberg.rest.requests.UpdateTableRequest::builderFor(org.apache.iceberg.TableMetadata)" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method org.apache.iceberg.rest.requests.UpdateTableRequest.Builder org.apache.iceberg.rest.requests.UpdateTableRequest::builderForCreate()" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method org.apache.iceberg.rest.requests.UpdateTableRequest.Builder org.apache.iceberg.rest.requests.UpdateTableRequest::builderForReplace(org.apache.iceberg.TableMetadata)" - justification: "Removing deprecated code" - - code: "java.method.removed" - old: "method void org.apache.iceberg.PositionDeletesTable.PositionDeletesBatchScan::(org.apache.iceberg.Table,\ - \ org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)" - justification: "Removing deprecated code" - apache-iceberg-0.14.0: - org.apache.iceberg:iceberg-api: - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.PartitionKey" - new: "class org.apache.iceberg.PartitionKey" - justification: "Serialization across versions is not supported" - - code: "java.class.removed" - old: "interface org.apache.iceberg.Rollback" - justification: "Deprecations for 1.0 release" - - code: "java.method.addedToInterface" - new: "method java.lang.String org.apache.iceberg.expressions.Reference::name()" - justification: "All subclasses implement name" - - code: "java.method.addedToInterface" - new: "method java.util.List org.apache.iceberg.Table::statisticsFiles()" - justification: "new API method" - - code: "java.method.removed" - old: "method java.lang.Iterable org.apache.iceberg.Snapshot::addedFiles()" - justification: "Deprecations for 1.0 release" - - code: "java.method.removed" - old: "method java.lang.Iterable org.apache.iceberg.Snapshot::deletedFiles()" - justification: "Deprecations for 1.0 release" - - code: "java.method.removed" - old: "method java.util.List org.apache.iceberg.Snapshot::allManifests()" - justification: "Deprecations for 1.0 release" - - code: "java.method.removed" - old: "method java.util.List org.apache.iceberg.Snapshot::dataManifests()" - justification: "Deprecations for 1.0 release" - - code: "java.method.removed" - old: "method java.util.List org.apache.iceberg.Snapshot::deleteManifests()" - justification: "Deprecations for 1.0 release" - - code: "java.method.removed" - old: "method org.apache.iceberg.OverwriteFiles org.apache.iceberg.OverwriteFiles::validateNoConflictingAppends(org.apache.iceberg.expressions.Expression)" - justification: "Deprecations for 1.0 release" - - code: "java.method.removed" - old: "method org.apache.iceberg.Rollback org.apache.iceberg.Table::rollback()" - justification: "Deprecations for 1.0 release" - - code: "java.method.removed" - old: "method org.apache.iceberg.RowDelta org.apache.iceberg.RowDelta::validateNoConflictingAppends(org.apache.iceberg.expressions.Expression)" - justification: "Deprecations for 1.0 release" - release-base-0.13.0: - org.apache.iceberg:iceberg-api: - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.PartitionSpec" - new: "class org.apache.iceberg.PartitionSpec" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.Schema" - new: "class org.apache.iceberg.Schema" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.SortOrder" - new: "class org.apache.iceberg.SortOrder" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.class.defaultSerializationChanged" - old: "class org.apache.iceberg.util.CharSequenceSet" - new: "class org.apache.iceberg.util.CharSequenceSet" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method T org.apache.iceberg.Scan>>::planWith(java.util.concurrent.ExecutorService)\ - \ @ org.apache.iceberg.TableScan" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method ThisT org.apache.iceberg.SnapshotUpdate::scanManifestsWith(java.util.concurrent.ExecutorService)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method ThisT org.apache.iceberg.SnapshotUpdate::toBranch(java.lang.String)" - justification: "Adding toBranch API for supporting committing to a branch" - - code: "java.method.addedToInterface" - new: "method boolean org.apache.iceberg.Scan>::isCaseSensitive()" - justification: "Move a method to the parent interface" - - code: "java.method.addedToInterface" - new: "method boolean org.apache.iceberg.expressions.BoundTerm::isEquivalentTo(org.apache.iceberg.expressions.BoundTerm)" - justification: "new API method" - - code: "java.method.addedToInterface" - new: "method java.lang.Iterable org.apache.iceberg.Snapshot::addedDataFiles(org.apache.iceberg.io.FileIO)" - justification: "Allow adding a new method to the interface - old method is deprecated" - - code: "java.method.addedToInterface" - new: "method java.lang.Iterable org.apache.iceberg.Snapshot::removedDataFiles(org.apache.iceberg.io.FileIO)" - justification: "Allow adding a new method to the interface - old method is deprecated" - - code: "java.method.addedToInterface" - new: "method java.util.List org.apache.iceberg.Snapshot::allManifests(org.apache.iceberg.io.FileIO)" - justification: "Allow adding a new method to the interface - old method is deprecated" - - code: "java.method.addedToInterface" - new: "method java.util.List org.apache.iceberg.Snapshot::dataManifests(org.apache.iceberg.io.FileIO)" - justification: "Allow adding a new method to the interface - old method is deprecated" - - code: "java.method.addedToInterface" - new: "method java.util.List org.apache.iceberg.Snapshot::deleteManifests(org.apache.iceberg.io.FileIO)" - justification: "Allow adding a new method to the interface - old method is deprecated" - - code: "java.method.addedToInterface" - new: "method java.util.Map\ - \ org.apache.iceberg.Table::refs()" - justification: "Adding new refs method to Table API for easier access" - - code: "java.method.addedToInterface" - new: "method long org.apache.iceberg.actions.DeleteReachableFiles.Result::deletedEqualityDeleteFilesCount()" - justification: "Interface is backward compatible, very unlikely anyone implements\ - \ this Result bean interface" - - code: "java.method.addedToInterface" - new: "method long org.apache.iceberg.actions.DeleteReachableFiles.Result::deletedPositionDeleteFilesCount()" - justification: "Interface is backward compatible, very unlikely anyone implements\ - \ this Result bean interface" - - code: "java.method.addedToInterface" - new: "method long org.apache.iceberg.actions.ExpireSnapshots.Result::deletedEqualityDeleteFilesCount()" - justification: "Interface is backward compatible, very unlikely anyone implements\ - \ this Result bean interface" - - code: "java.method.addedToInterface" - new: "method long org.apache.iceberg.actions.ExpireSnapshots.Result::deletedPositionDeleteFilesCount()" - justification: "Interface is backward compatible, very unlikely anyone implements\ - \ this Result bean interface" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ExpireSnapshots org.apache.iceberg.ExpireSnapshots::planWith(java.util.concurrent.ExecutorService)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::createBranch(java.lang.String,\ - \ long)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::createTag(java.lang.String,\ - \ long)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::fastForwardBranch(java.lang.String,\ - \ java.lang.String)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::removeBranch(java.lang.String)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::removeTag(java.lang.String)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::renameBranch(java.lang.String,\ - \ java.lang.String)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::replaceBranch(java.lang.String,\ - \ java.lang.String)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::replaceBranch(java.lang.String,\ - \ long)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::replaceTag(java.lang.String,\ - \ long)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::setMaxRefAgeMs(java.lang.String,\ - \ long)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::setMaxSnapshotAgeMs(java.lang.String,\ - \ long)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ManageSnapshots org.apache.iceberg.ManageSnapshots::setMinSnapshotsToKeep(java.lang.String,\ - \ int)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ReplacePartitions org.apache.iceberg.ReplacePartitions::validateFromSnapshot(long)" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ReplacePartitions org.apache.iceberg.ReplacePartitions::validateNoConflictingData()" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.ReplacePartitions org.apache.iceberg.ReplacePartitions::validateNoConflictingDeletes()" - justification: "Accept all changes prior to introducing API compatibility checks" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.UpdateStatistics org.apache.iceberg.Table::updateStatistics()" - justification: "new API method" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.UpdateStatistics org.apache.iceberg.Transaction::updateStatistics()" - justification: "new API method" - - code: "java.method.addedToInterface" - new: "method org.apache.iceberg.expressions.Expression org.apache.iceberg.Scan>::filter()" - justification: "Move a method to the parent interface" - - code: "java.method.numberOfParametersChanged" - old: "method void org.apache.iceberg.events.IncrementalScanEvent::(java.lang.String,\ - \ long, long, org.apache.iceberg.expressions.Expression, org.apache.iceberg.Schema)" - new: "method void org.apache.iceberg.events.IncrementalScanEvent::(java.lang.String,\ - \ long, long, org.apache.iceberg.expressions.Expression, org.apache.iceberg.Schema,\ - \ boolean)" - justification: "IncrementalScanEvent should only be constructed by Iceberg code.\ - \ Hence the change of constructor params shouldn't affect users" diff --git a/build.gradle b/build.gradle index 2b95fe291790..4e551fdfc11e 100644 --- a/build.gradle +++ b/build.gradle @@ -38,7 +38,6 @@ buildscript { classpath 'me.champeau.jmh:jmh-gradle-plugin:0.7.2' classpath 'gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.6' classpath "com.github.alisiikh:gradle-scalastyle-plugin:3.5.0" - classpath 'com.palantir.gradle.revapi:gradle-revapi:1.7.0' classpath 'com.gorylenko.gradle-git-properties:gradle-git-properties:2.4.2' classpath 'com.palantir.gradle.gitversion:gradle-git-version:3.0.0' classpath 'org.openapitools:openapi-generator-gradle-plugin:6.6.0' @@ -120,7 +119,6 @@ if (file("${rootDir}/iceberg-build.properties").exists()) { } def projectVersion = getProjectVersion() -final REVAPI_PROJECTS = ["iceberg-api", "iceberg-core", "iceberg-parquet", "iceberg-orc", "iceberg-common", "iceberg-data"] allprojects { group = "org.apache.iceberg" @@ -139,35 +137,6 @@ subprojects { apply plugin: 'java-library' - if (project.name in REVAPI_PROJECTS) { - apply plugin: 'com.palantir.revapi' - revapi { - oldGroup = project.group - oldName = project.name - oldVersion = "1.5.0" - } - - tasks.register('showDeprecationRulesOnRevApiFailure') { - doLast { - throw new RuntimeException("==================================================================================" + - "\nAPI/ABI breaks detected.\n" + - "Adding RevAPI breaks should only be done after going through a deprecation cycle." + - "\nPlease make sure to follow the deprecation rules defined in\n" + - "https://github.com/apache/iceberg/blob/main/CONTRIBUTING.md#semantic-versioning.\n" + - "==================================================================================") - } - onlyIf { - tasks.revapi.state.failure != null - } - } - - tasks.configureEach { rootTask -> - if (rootTask.name == 'revapi') { - rootTask.finalizedBy showDeprecationRulesOnRevApiFailure - } - } - } - configurations { testImplementation.extendsFrom compileOnly @@ -1070,3 +1039,12 @@ project(':iceberg-bom') { // Needed to get the "faked" Scala artifacts into the bom javaPlatform { allowDependencies() } } + +task revapi { + doLast { + exec { + workingDir '.' + commandLine 'dev/revapi' + } + } +} \ No newline at end of file diff --git a/dev/revapi b/dev/revapi new file mode 100755 index 000000000000..535323d3d88e --- /dev/null +++ b/dev/revapi @@ -0,0 +1,81 @@ +#!/usr/bin/env bash + +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +export REVAPI_VERSION=0.12.0 +export OLD_VERSION=1.5.2 + +# Go to the root directory +ROOT_DIR="$(cd "`dirname "$0"`"/..; pwd)" +cd "$ROOT_DIR" + +REVAPI_WORKING_DIR="$ROOT_DIR/lib/temp/revapi" + +mkdir -p $REVAPI_WORKING_DIR + +export REVAPI_ZIP="$ROOT_DIR"/lib/revapi-standalone-${REVAPI_VERSION}-standalone.zip + +if test -x "$JAVA_HOME/bin/java"; then + declare java_cmd="$JAVA_HOME/bin/java" +else + declare java_cmd=java +fi + +REVAPI_URL=https://repo1.maven.org/maven2/org/revapi/revapi-standalone/${REVAPI_VERSION}/revapi-standalone-${REVAPI_VERSION}-standalone.zip + +if [ ! -f "$REVAPI_ZIP" ]; then + printf "Downloading revapi\n" + REVAPI_ZIP_DL="${REVAPI_ZIP}.part" + if [ $(command -v curl) ]; then + curl -L --silent "${REVAPI_URL}" > "$REVAPI_ZIP_DL" && mv "$REVAPI_ZIP_DL" "$REVAPI_ZIP" + elif [ $(command -v wget) ]; then + wget --quiet ${REVAPI_URL} -O "$REVAPI_ZIP_DL" && mv "$REVAPI_ZIP_DL" "$REVAPI_ZIP" + else + printf "You do not have curl or wget installed, please install revapi manually.\n" + exit 1 + fi +fi + +unzip -q -o "$REVAPI_ZIP" -d "$ROOT_DIR/lib" + +export REVAPI_HOME="$ROOT_DIR/lib/revapi-$REVAPI_VERSION" + +REVAPI_PROJECTS="api core parquet orc common data" + +REVAPI_OUT=lib/revapi.out +rm "$REVAPI_OUT" +for REVAPI_PROJECT in $REVAPI_PROJECTS; do + echo "========================" + echo "Checking iceberg-$REVAPI_PROJECT" + echo "Downloading iceberg-$REVAPI_PROJECT $OLD_VERSION" + if [ $(command -v curl) ]; then + curl -L --silent "https://repo1.maven.org/maven2/org/apache/iceberg/iceberg-$REVAPI_PROJECT/$OLD_VERSION/iceberg-$REVAPI_PROJECT-$OLD_VERSION.jar" > "$REVAPI_WORKING_DIR/iceberg-$REVAPI_PROJECT-$OLD_VERSION.jar" + elif [ $(command -v wget) ]; then + wget --quiet "https://repo1.maven.org/maven2/org/apache/iceberg/iceberg-$REVAPI_PROJECT/$OLD_VERSION/iceberg-$REVAPI_PROJECT-$OLD_VERSION.jar" -O "$REVAPI_REVAPI_WORKING_DIR/iceberg-$REVAPI_PROJECT-$OLD_VERSION.jar" + else + printf "You do not have curl or wget installed, please download artifact manually.\n" + exit 1 + fi + $REVAPI_HOME/revapi.sh --extensions=org.revapi:revapi-java:0.28.1,org.revapi:revapi-reporter-text:0.15.0 --old "$REVAPI_WORKING_DIR/iceberg-$REVAPI_PROJECT-$OLD_VERSION.jar" --new $REVAPI_PROJECT/build/libs/iceberg-$REVAPI_PROJECT*SNAPSHOT.jar -Drevapi.java.missing-classes.behavior=ignore -Drevapi.reporter.text.minCriticality=error -Drevapi.reporter.text.append=true -Drevapi.reporter.text.output=$REVAPI_OUT -Drevapi.reporter.text.minSeverity=BREAKING + if [[ $(grep "SOURCE: BREAKING" $REVAPI_OUT) ]]; then + echo "revapi detected a breaking change in iceberg-$REVAPI_PROJECT, check in $REVAPI_OUT" + exit 2 + fi +done + +echo "revapi check passed" \ No newline at end of file