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<T>::delete(T)"
      justification: "Removing deprecated method"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.deletes.EqualityDeleteWriter<T>::deleteAll(java.lang.Iterable<T>)"
      justification: "Removing deprecated method"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.deletes.PositionDeleteWriter<T>::delete(java.lang.CharSequence,\
        \ long)"
      justification: "Removing deprecated method"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.deletes.PositionDeleteWriter<T>::delete(java.lang.CharSequence,\
        \ long, T)"
      justification: "Removing deprecated method"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.io.DataWriter<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::deserialize(com.fasterxml.jackson.core.JsonParser,\
        \ com.fasterxml.jackson.databind.DeserializationContext, T) throws java.io.IOException\
        \ @ org.apache.iceberg.rest.RESTSerializers.ReportMetricsRequestDeserializer<T\
        \ extends org.apache.iceberg.rest.requests.ReportMetricsRequest>"
      new: "method T com.fasterxml.jackson.databind.JsonDeserializer<T>::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<T\
        \ extends org.apache.iceberg.rest.requests.ReportMetricsRequest>"
      justification: "False positive - JacksonException is a subclass of IOException"
    - code: "java.method.exception.checkedAdded"
      old: "method T com.fasterxml.jackson.databind.JsonDeserializer<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T\
        \ extends org.apache.iceberg.rest.requests.ReportMetricsRequest>"
      new: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer<T>::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<T\
        \ extends org.apache.iceberg.rest.requests.ReportMetricsRequest>"
      justification: "False positive - JacksonException is a subclass of IOException"
    - code: "java.method.exception.checkedAdded"
      old: "method java.lang.Object com.fasterxml.jackson.databind.JsonDeserializer<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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<T>::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 <T> org.apache.iceberg.io.CloseableIterable<T> org.apache.iceberg.deletes.Deletes::filterDeleted(org.apache.iceberg.io.CloseableIterable<T>,\
        \ java.util.function.Predicate<T>)"
      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.ManifestFile> 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.ManifestFile> 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.ManifestFile> org.apache.iceberg.MergingSnapshotProducer<ThisT>::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.ManifestFile> org.apache.iceberg.MergingSnapshotProducer<ThisT>::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<java.lang.Integer, ?> 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<java.lang.Integer, ?> org.apache.iceberg.util.PartitionUtil::constantsMap(org.apache.iceberg.FileScanTask,\
        \ java.util.function.BiFunction<org.apache.iceberg.types.Type, java.lang.Object,\
        \ java.lang.Object>)"
      justification: "Removing deprecations for 1.2.0"
    - code: "java.method.removed"
      old: "method java.util.Map<java.lang.Integer, ?> org.apache.iceberg.util.PartitionUtil::constantsMap(org.apache.iceberg.FileScanTask,\
        \ org.apache.iceberg.types.Types.StructType, java.util.function.BiFunction<org.apache.iceberg.types.Type,\
        \ java.lang.Object, java.lang.Object>)"
      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<F extends org.apache.iceberg.ContentFile<F\
        \ extends org.apache.iceberg.ContentFile<F>>>::<init>(org.apache.iceberg.io.InputFile,\
        \ java.util.Map<java.lang.Integer, org.apache.iceberg.PartitionSpec>, 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<F extends org.apache.iceberg.ContentFile<F\
        \ extends org.apache.iceberg.ContentFile<F>>>::delete(F)"
      justification: "Removing deprecations for 1.2.0"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.ManifestWriter<F extends org.apache.iceberg.ContentFile<F\
        \ extends org.apache.iceberg.ContentFile<F>>>::existing(F, long, long)"
      justification: "Removing deprecations for 1.2.0"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.SnapshotProducer<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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.FileGroupRewriteResult>\
        \ 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.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<T>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::newRefinedScan(org.apache.iceberg.TableOperations,\
        \ org.apache.iceberg.Table, org.apache.iceberg.Schema, org.apache.iceberg.TableScanContext)\
        \ @ org.apache.iceberg.SnapshotScan<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>"
      justification: "Removing deprecations for 1.3.0"
    - code: "java.method.removed"
      old: "method org.apache.iceberg.DeleteFileIndex org.apache.iceberg.MergingSnapshotProducer<ThisT>::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<ThisT>::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<ThisT>::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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::tableOps() @ org.apache.iceberg.SnapshotScan<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>"
      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<org.apache.iceberg.PartitionSpec>)"
      justification: "Removing deprecations for 1.3.0"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.BaseMetadataTable::<init>(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::<init>(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::<init>(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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::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<ThisT>::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\
        \ java.lang.Long, java.lang.Iterable<org.apache.iceberg.DataFile>) @ org.apache.iceberg.BaseOverwriteFiles"
      justification: "Removing deprecations for 1.3.0"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.MergingSnapshotProducer<ThisT>::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\
        \ java.lang.Long, java.lang.Iterable<org.apache.iceberg.DataFile>) @ org.apache.iceberg.BaseReplacePartitions"
      justification: "Removing deprecations for 1.3.0"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.MergingSnapshotProducer<ThisT>::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\
        \ java.lang.Long, java.lang.Iterable<org.apache.iceberg.DataFile>) @ org.apache.iceberg.StreamingDelete"
      justification: "Removing deprecations for 1.3.0"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.MergingSnapshotProducer<ThisT>::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\
        \ java.lang.Long, org.apache.iceberg.expressions.Expression, java.lang.Iterable<org.apache.iceberg.DataFile>)\
        \ @ org.apache.iceberg.BaseOverwriteFiles"
      justification: "Removing deprecations for 1.3.0"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.MergingSnapshotProducer<ThisT>::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\
        \ java.lang.Long, org.apache.iceberg.expressions.Expression, java.lang.Iterable<org.apache.iceberg.DataFile>)\
        \ @ org.apache.iceberg.BaseReplacePartitions"
      justification: "Removing deprecations for 1.3.0"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.MergingSnapshotProducer<ThisT>::validateNoNewDeletesForDataFiles(org.apache.iceberg.TableMetadata,\
        \ java.lang.Long, org.apache.iceberg.expressions.Expression, java.lang.Iterable<org.apache.iceberg.DataFile>)\
        \ @ org.apache.iceberg.StreamingDelete"
      justification: "Removing deprecations for 1.3.0"
    - code: "java.method.removed"
      old: "method void org.apache.iceberg.actions.BaseFileGroupRewriteResult::<init>(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::<init>(java.util.Map<java.lang.String,\
        \ java.lang.String>, java.lang.String, java.lang.String)"
      justification: "Removing deprecations for 1.3.0"
  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<T>::name()"
      justification: "All subclasses implement name"
    - code: "java.method.addedToInterface"
      new: "method java.util.List<org.apache.iceberg.StatisticsFile> org.apache.iceberg.Table::statisticsFiles()"
      justification: "new API method"
    - code: "java.method.removed"
      old: "method java.lang.Iterable<org.apache.iceberg.DataFile> org.apache.iceberg.Snapshot::addedFiles()"
      justification: "Deprecations for 1.0 release"
    - code: "java.method.removed"
      old: "method java.lang.Iterable<org.apache.iceberg.DataFile> org.apache.iceberg.Snapshot::deletedFiles()"
      justification: "Deprecations for 1.0 release"
    - code: "java.method.removed"
      old: "method java.util.List<org.apache.iceberg.ManifestFile> org.apache.iceberg.Snapshot::allManifests()"
      justification: "Deprecations for 1.0 release"
    - code: "java.method.removed"
      old: "method java.util.List<org.apache.iceberg.ManifestFile> org.apache.iceberg.Snapshot::dataManifests()"
      justification: "Deprecations for 1.0 release"
    - code: "java.method.removed"
      old: "method java.util.List<org.apache.iceberg.ManifestFile> 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<T extends org.apache.iceberg.Scan<T extends\
        \ org.apache.iceberg.Scan<T>>>::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<ThisT>::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<ThisT>::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<ThisT, T extends org.apache.iceberg.ScanTask,\
        \ G extends org.apache.iceberg.ScanTaskGroup<T extends org.apache.iceberg.ScanTask>>::isCaseSensitive()"
      justification: "Move a method to the parent interface"
    - code: "java.method.addedToInterface"
      new: "method boolean org.apache.iceberg.expressions.BoundTerm<T>::isEquivalentTo(org.apache.iceberg.expressions.BoundTerm<?>)"
      justification: "new API method"
    - code: "java.method.addedToInterface"
      new: "method java.lang.Iterable<org.apache.iceberg.DataFile> 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.DataFile> 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.ManifestFile> 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.ManifestFile> 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.ManifestFile> 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<java.lang.String, org.apache.iceberg.SnapshotRef>\
        \ 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<ThisT,\
        \ T extends org.apache.iceberg.ScanTask, G extends org.apache.iceberg.ScanTaskGroup<T\
        \ extends org.apache.iceberg.ScanTask>>::filter()"
      justification: "Move a method to the parent interface"
    - code: "java.method.numberOfParametersChanged"
      old: "method void org.apache.iceberg.events.IncrementalScanEvent::<init>(java.lang.String,\
        \ long, long, org.apache.iceberg.expressions.Expression, org.apache.iceberg.Schema)"
      new: "method void org.apache.iceberg.events.IncrementalScanEvent::<init>(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"
