trino-spi
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.trino</groupId>
<artifactId>trino-spi</artifactId>
<version>480</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.trino</groupId>
<artifactId>trino-root</artifactId>
<version>480</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>trino-spi</artifactId>
<name>${project.artifactId}</name>
<description>Trino - Service Provider Interface (SPI)</description>
<properties>
<released-artifacts.dir>${project.build.directory}/released-artifacts</released-artifacts.dir>
<trino.check.skip-revapi>${air.check.skip-basic}</trino.check.skip-revapi>
</properties>
<!-- the SPI should have only minimal dependencies -->
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>slice</artifactId>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api-incubator</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-common</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-context</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<classifier>classes</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>json</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>junit-extensions</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>testing</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.trino</groupId>
<artifactId>trino-testing-services</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>it.unimi.dsi</groupId>
<artifactId>fastutil</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<includes>
<include>io/trino/spi/trino-spi-version.txt</include>
</includes>
</resource>
<resource>
<filtering>false</filtering>
<directory>src/main/resources</directory>
<excludes>
<exclude>io/trino/spi/trino-spi-version.txt</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId>
<version>0.15.1</version>
<configuration>
<skip>${trino.check.skip-revapi}</skip>
<ignoreSuggestionsFormat>xml</ignoreSuggestionsFormat>
<analysisConfiguration>
<revapi.differences>
<ignore>true</ignore>
<differences>
<!-- Allow adding new annotations (such as @Nullable) -->
<item>
<code>java.annotation.added</code>
</item>
<!-- Allow changing enum constant order (e.g., StandardErrorCode) -->
<item>
<code>java.field.enumConstantOrderChanged</code>
</item>
<!-- Allow arbitrary changes to unstable APIs -->
<item>
<regex>true</regex>
<code>java.method.numberOfParametersChanged</code>
<old>
<matcher>java</matcher>
<match>@io.trino.spi.Unstable *;</match>
</old>
</item>
<!-- Allow removing things that were previously deprecated -->
<item>
<regex>true</regex>
<code>java\.(class|method|field)\.removed</code>
<old>
<matcher>java</matcher>
<match>@java.lang.Deprecated(*) ^*;</match>
</old>
</item>
<!-- Backwards incompatible changes since the previous release -->
<!-- Any exclusions below can be deleted after each release -->
<item>
<ignore>true</ignore>
<code>java.method.varargOverloadsOnlyDifferInVarargParameter</code>
<old>method io.opentelemetry.api.common.AttributesBuilder io.opentelemetry.api.common.AttributesBuilder::put(java.lang.String, boolean[])</old>
<new>method io.opentelemetry.api.common.AttributesBuilder io.opentelemetry.api.common.AttributesBuilder::put(java.lang.String, boolean[])</new>
<justification>Revapi now detects new API changes to vararg args</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.varargOverloadsOnlyDifferInVarargParameter</code>
<old>method io.opentelemetry.api.common.AttributesBuilder io.opentelemetry.api.common.AttributesBuilder::put(java.lang.String, double[])</old>
<new>method io.opentelemetry.api.common.AttributesBuilder io.opentelemetry.api.common.AttributesBuilder::put(java.lang.String, double[])</new>
<justification>Revapi now detects new API changes to vararg args</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.varargOverloadsOnlyDifferInVarargParameter</code>
<old>method io.opentelemetry.api.common.AttributesBuilder io.opentelemetry.api.common.AttributesBuilder::put(java.lang.String, java.lang.String[])</old>
<new>method io.opentelemetry.api.common.AttributesBuilder io.opentelemetry.api.common.AttributesBuilder::put(java.lang.String, java.lang.String[])</new>
<justification>Revapi now detects new API changes to vararg args</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.varargOverloadsOnlyDifferInVarargParameter</code>
<old>method io.opentelemetry.api.common.AttributesBuilder io.opentelemetry.api.common.AttributesBuilder::put(java.lang.String, long[])</old>
<new>method io.opentelemetry.api.common.AttributesBuilder io.opentelemetry.api.common.AttributesBuilder::put(java.lang.String, long[])</new>
<justification>Revapi now detects new API changes to vararg args</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.varargOverloadsOnlyDifferInVarargParameter</code>
<old>method io.opentelemetry.api.common.Value<java.util.List<io.opentelemetry.api.common.KeyValue>> io.opentelemetry.api.common.Value<T>::of(io.opentelemetry.api.common.KeyValue[])</old>
<new>method io.opentelemetry.api.common.Value<java.util.List<io.opentelemetry.api.common.KeyValue>> io.opentelemetry.api.common.Value<T>::of(io.opentelemetry.api.common.KeyValue[])</new>
<justification>Revapi now detects new API changes to vararg args</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.varargOverloadsOnlyDifferInVarargParameter</code>
<old>method io.opentelemetry.api.common.Value<java.util.List<io.opentelemetry.api.common.Value<?>>> io.opentelemetry.api.common.Value<T>::of(io.opentelemetry.api.common.Value<?>[])</old>
<new>method io.opentelemetry.api.common.Value<java.util.List<io.opentelemetry.api.common.Value<?>>> io.opentelemetry.api.common.Value<T>::of(io.opentelemetry.api.common.Value<?>[])</new>
<justification>Revapi now detects new API changes to vararg args</justification>
</item>
<item>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.eventlistener.QueryStatistics::<init>(java.time.Duration, java.time.Duration, java.time.Duration, java.time.Duration, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, long, long, long, long, long, long, long, long, long, long, long, long, long, long, double, double, java.util.List<io.trino.spi.eventlistener.StageGcStatistics>, int, boolean, java.util.List<io.trino.spi.eventlistener.StageCpuDistribution>, java.util.List<io.trino.spi.eventlistener.StageOutputBufferUtilization>, java.util.List<io.trino.spi.eventlistener.StageOutputBufferMetrics>, java.util.List<io.trino.spi.eventlistener.StageTaskStatistics>, java.util.List<io.trino.spi.eventlistener.DynamicFilterDomainStatistics>, java.util.function.Supplier<java.util.List<java.lang.String>>, java.util.List<io.trino.spi.eventlistener.QueryPlanOptimizerStatistics>, java.util.Map<java.lang.String, io.trino.spi.metrics.Metrics>, java.util.Optional<java.lang.String>)</old>
<new>method void io.trino.spi.eventlistener.QueryStatistics::<init>(java.time.Duration, java.time.Duration, java.time.Duration, java.time.Duration, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, long, long, long, long, long, long, long, long, long, long, long, long, long, long, double, double, java.util.List<io.trino.spi.eventlistener.StageGcStatistics>, int, boolean, java.util.List<io.trino.spi.eventlistener.StageCpuDistribution>, java.util.List<io.trino.spi.eventlistener.StageOutputBufferUtilization>, java.util.List<io.trino.spi.eventlistener.StageOutputBufferMetrics>, java.util.List<io.trino.spi.eventlistener.StageTaskStatistics>, java.util.List<io.trino.spi.eventlistener.DynamicFilterDomainStatistics>, java.util.function.Supplier<java.util.List<java.lang.String>>, java.util.List<io.trino.spi.eventlistener.QueryPlanOptimizerStatistics>, java.util.Map<java.lang.String, io.trino.spi.metrics.Metrics>, java.util.Optional<java.lang.String>)</new>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.block.ArrayBlockEncoding::<init>()</old>
<new>method void io.trino.spi.block.ArrayBlockEncoding::<init>(boolean)</new>
<justification>ArrayBlockEncoding needs to accept a parameter to enable SIMD support</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.block.ByteArrayBlockEncoding::<init>(boolean)</old>
<new>method void io.trino.spi.block.ByteArrayBlockEncoding::<init>(boolean, boolean, boolean)</new>
<justification>ByteArrayBlockEncoding needs to accept parameters to enable SIMD support</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.block.Fixed12BlockEncoding::<init>()</old>
<new>method void io.trino.spi.block.Fixed12BlockEncoding::<init>(boolean)</new>
<justification>Fixed12BlockEncoding needs to accept a parameter to enable SIMD support</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.block.Int128ArrayBlockEncoding::<init>()</old>
<new>method void io.trino.spi.block.Int128ArrayBlockEncoding::<init>(boolean)</new>
<justification>Int128ArrayBlockEncoding needs to accept a parameter to enable SIMD support</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.block.IntArrayBlockEncoding::<init>(boolean)</old>
<new>method void io.trino.spi.block.IntArrayBlockEncoding::<init>(boolean, boolean, boolean)</new>
<justification>IntArrayBlockEncoding needs to accept parameters to enable SIMD support</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.block.LongArrayBlockEncoding::<init>(boolean)</old>
<new>method void io.trino.spi.block.LongArrayBlockEncoding::<init>(boolean, boolean, boolean)</new>
<justification>LongArrayBlockEncoding needs to accept parameters to to enable SIMD support</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.block.MapBlockEncoding::<init>()</old>
<new>method void io.trino.spi.block.MapBlockEncoding::<init>(boolean)</new>
<justification>MapBlockEncoding needs to accept a parameter to enable SIMD support</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.block.RowBlockEncoding::<init>()</old>
<new>method void io.trino.spi.block.RowBlockEncoding::<init>(boolean)</new>
<justification>RowBlockEncoding needs to accept a parameter to enable SIMD support</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.block.ShortArrayBlockEncoding::<init>(boolean)</old>
<new>method void io.trino.spi.block.ShortArrayBlockEncoding::<init>(boolean, boolean, boolean)</new>
<justification>ShortArrayBlockEncoding needs to accept parameters to enable SIMD support</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.block.VariableWidthBlockEncoding::<init>()</old>
<new>method void io.trino.spi.block.VariableWidthBlockEncoding::<init>(boolean)</new>
<justification>VariableWidthBlockEncoding needs to accept a parameter to enable SIMD support</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method void io.trino.spi.block.PageBuilderStatus::<init>()</old>
<justification>Method is unnecessary</justification>
</item>
<item>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.connector.ConnectorMaterializedViewDefinition::<init>(java.lang.String, java.util.Optional<io.trino.spi.connector.CatalogSchemaTableName>, java.util.Optional<java.lang.String>, java.util.Optional<java.lang.String>, java.util.List<io.trino.spi.connector.ConnectorMaterializedViewDefinition.Column>, java.util.Optional<java.time.Duration>, java.util.Optional<java.lang.String>, java.util.Optional<java.lang.String>, java.util.List<io.trino.spi.connector.CatalogSchemaName>)</old>
<new>method void io.trino.spi.connector.ConnectorMaterializedViewDefinition::<init>(java.lang.String, java.util.Optional<io.trino.spi.connector.CatalogSchemaTableName>, java.util.Optional<java.lang.String>, java.util.Optional<java.lang.String>, java.util.List<io.trino.spi.connector.ConnectorMaterializedViewDefinition.Column>, java.util.Optional<java.time.Duration>, java.util.Optional<io.trino.spi.connector.ConnectorMaterializedViewDefinition.WhenStaleBehavior>, java.util.Optional<java.lang.String>, java.util.Optional<java.lang.String>, java.util.List<io.trino.spi.connector.CatalogSchemaName>)</new>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.resourcegroups.SelectionCriteria::<init>(boolean, java.lang.String, java.util.Set<java.lang.String>, java.lang.String, java.util.Optional<java.lang.String>, java.util.Optional<java.lang.String>, java.util.Set<java.lang.String>, io.trino.spi.session.ResourceEstimates, java.util.Optional<java.lang.String>)</old>
<new>method void io.trino.spi.resourcegroups.SelectionCriteria::<init>(boolean, java.lang.String, java.util.Set<java.lang.String>, java.lang.String, java.util.Optional<java.lang.String>, java.util.Optional<java.lang.String>, java.util.Set<java.lang.String>, io.trino.spi.session.ResourceEstimates, java.lang.String, java.util.Optional<java.lang.String>)</new>
<justification>Added queryText before queryType parameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method void io.trino.spi.resourcegroups.SelectionCriteria::<init>(boolean, java.lang.String, java.util.Set<java.lang.String>, java.lang.String, java.util.Optional<java.lang.String>, java.util.Optional<java.lang.String>, java.util.Set<java.lang.String>, io.trino.spi.session.ResourceEstimates, java.util.Optional<java.lang.String>)</old>
<justification>Added queryText before queryType parameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.type.RowType io.trino.spi.type.RowType::createWithTypeSignature(io.trino.spi.type.TypeSignature, java.util.List<io.trino.spi.type.RowType.Field>)</old>
<justification>TypeParameter not needed</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeParameterChanged</code>
<old>parameter io.trino.spi.type.Type io.trino.spi.type.ParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeParameter>===)</old>
<new>parameter io.trino.spi.type.Type io.trino.spi.type.ParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeSignatureParameter>===)</new>
<parameterIndex>1</parameterIndex>
<justification>TypeParameter not needed</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeParameterChanged</code>
<old>parameter io.trino.spi.type.Type io.trino.spi.type.QuantileDigestParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeParameter>===)</old>
<new>parameter io.trino.spi.type.Type io.trino.spi.type.QuantileDigestParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeSignatureParameter>===)</new>
<parameterIndex>1</parameterIndex>
<justification>TypeParameter not needed</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeParameterChanged</code>
<old>parameter io.trino.spi.type.Type io.trino.spi.type.TimeParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeParameter>===)</old>
<new>parameter io.trino.spi.type.Type io.trino.spi.type.TimeParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeSignatureParameter>===)</new>
<parameterIndex>1</parameterIndex>
<justification>TypeParameter not needed</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeParameterChanged</code>
<old>parameter io.trino.spi.type.Type io.trino.spi.type.TimeWithTimeZoneParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeParameter>===)</old>
<new>parameter io.trino.spi.type.Type io.trino.spi.type.TimeWithTimeZoneParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeSignatureParameter>===)</new>
<parameterIndex>1</parameterIndex>
<justification>TypeParameter not needed</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeParameterChanged</code>
<old>parameter io.trino.spi.type.Type io.trino.spi.type.TimestampParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeParameter>===)</old>
<new>parameter io.trino.spi.type.Type io.trino.spi.type.TimestampParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeSignatureParameter>===)</new>
<parameterIndex>1</parameterIndex>
<justification>TypeParameter not needed</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeParameterChanged</code>
<old>parameter io.trino.spi.type.Type io.trino.spi.type.TimestampWithTimeZoneParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeParameter>===)</old>
<new>parameter io.trino.spi.type.Type io.trino.spi.type.TimestampWithTimeZoneParametricType::createType(io.trino.spi.type.TypeManager, ===java.util.List<io.trino.spi.type.TypeSignatureParameter>===)</new>
<parameterIndex>1</parameterIndex>
<justification>TypeParameter not needed</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.removed</code>
<old>class io.trino.spi.type.TypeParameter</old>
<justification>TypeParameter not needed</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeParameterChanged</code>
<old>parameter io.trino.spi.type.Type io.trino.spi.type.TypeManager::getParameterizedType(java.lang.String, ===java.util.List<io.trino.spi.type.TypeSignatureParameter>===)</old>
<new>parameter io.trino.spi.type.Type io.trino.spi.type.TypeManager::getParameterizedType(java.lang.String, ===java.util.List<io.trino.spi.type.TypeParameter>===)</new>
<parameterIndex>1</parameterIndex>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.type.NamedType io.trino.spi.type.TypeParameter::getNamedType()</old>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.type.Type io.trino.spi.type.TypeParameter::getType()</old>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.visibilityReduced</code>
<old>method <A> A io.trino.spi.type.TypeParameter::getValue(io.trino.spi.type.ParameterKind, java.lang.Class<A>)</old>
<new>method <A> A io.trino.spi.type.TypeParameter::getValue(io.trino.spi.type.ParameterKind, java.lang.Class<A>)</new>
<oldVisibility>public</oldVisibility>
<newVisibility>private</newVisibility>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.type.TypeParameter io.trino.spi.type.TypeParameter::of(io.trino.spi.type.NamedType)</old>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.type.TypeParameter io.trino.spi.type.TypeParameter::of(io.trino.spi.type.Type)</old>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.type.TypeParameter io.trino.spi.type.TypeParameter::of(io.trino.spi.type.TypeSignatureParameter, io.trino.spi.type.TypeManager)</old>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.type.TypeParameter io.trino.spi.type.TypeParameter::of(java.lang.String)</old>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.type.TypeParameter io.trino.spi.type.TypeParameter::of(long)</old>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.nowFinal</code>
<old>class io.trino.spi.type.TypeParameter</old>
<new>class io.trino.spi.type.TypeParameter</new>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeParameterChanged</code>
<old>parameter void io.trino.spi.type.TypeSignature::<init>(java.lang.String, ===java.util.List<io.trino.spi.type.TypeSignatureParameter>===)</old>
<new>parameter void io.trino.spi.type.TypeSignature::<init>(java.lang.String, ===java.util.List<io.trino.spi.type.TypeParameter>===)</new>
<parameterIndex>1</parameterIndex>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeChanged</code>
<old>parameter void io.trino.spi.type.TypeSignature::<init>(java.lang.String, ===io.trino.spi.type.TypeSignatureParameter[]===)</old>
<new>parameter void io.trino.spi.type.TypeSignature::<init>(java.lang.String, ===io.trino.spi.type.TypeParameter[]===)</new>
<parameterIndex>1</parameterIndex>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeChanged</code>
<old>parameter io.trino.spi.type.TypeSignature io.trino.spi.type.TypeSignature::arrayType(===io.trino.spi.type.TypeSignatureParameter===)</old>
<new>parameter io.trino.spi.type.TypeSignature io.trino.spi.type.TypeSignature::arrayType(===io.trino.spi.type.TypeParameter===)</new>
<parameterIndex>0</parameterIndex>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.returnTypeTypeParametersChanged</code>
<old>method java.util.List<io.trino.spi.type.TypeSignatureParameter> io.trino.spi.type.TypeSignature::getParameters()</old>
<new>method java.util.List<io.trino.spi.type.TypeParameter> io.trino.spi.type.TypeSignature::getParameters()</new>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeParameterChanged</code>
<old>parameter io.trino.spi.type.TypeSignature io.trino.spi.type.TypeSignature::rowType(===java.util.List<io.trino.spi.type.TypeSignatureParameter>===)</old>
<new>parameter io.trino.spi.type.TypeSignature io.trino.spi.type.TypeSignature::rowType(===java.util.List<io.trino.spi.type.TypeParameter>===)</new>
<parameterIndex>0</parameterIndex>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeChanged</code>
<old>parameter io.trino.spi.type.TypeSignature io.trino.spi.type.TypeSignature::rowType(===io.trino.spi.type.TypeSignatureParameter[]===)</old>
<new>parameter io.trino.spi.type.TypeSignature io.trino.spi.type.TypeSignature::rowType(===io.trino.spi.type.TypeParameter[]===)</new>
<parameterIndex>0</parameterIndex>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.removed</code>
<old>class io.trino.spi.type.TypeSignatureParameter</old>
<justification>Rename TypeSignatureParameter to TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.removed</code>
<old>class io.trino.spi.type.NamedType</old>
<justification>Removing NamedType and NamedTypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.removed</code>
<old>class io.trino.spi.type.NamedTypeSignature</old>
<justification>Removing NamedType and NamedTypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.field.removed</code>
<old>field io.trino.spi.type.ParameterKind.NAMED_TYPE</old>
<justification>Removing NamedType and NamedTypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.removed</code>
<old>class io.trino.spi.type.RowFieldName</old>
<justification>Removing NamedType and NamedTypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.type.ParameterKind io.trino.spi.type.TypeParameter::getKind()</old>
<justification>Improve type-safety of TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.lang.Long io.trino.spi.type.TypeParameter::getLongLiteral()</old>
<justification>Improve type-safety of TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method <A> A io.trino.spi.type.TypeParameter::getValue(io.trino.spi.type.ParameterKind, java.lang.Class<A>)</old>
<justification>Improve type-safety of TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.lang.String io.trino.spi.type.TypeParameter::getVariable()</old>
<justification>Improve type-safety of TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method boolean io.trino.spi.type.TypeParameter::isLongLiteral()</old>
<justification>Improve type-safety of TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.addedToInterface</code>
<new>method boolean io.trino.spi.type.TypeParameter::isCalculated()</new>
<justification>Improve type-safety of TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.addedToInterface</code>
<new>method java.lang.String io.trino.spi.type.TypeParameter::jsonValue()</new>
<justification>Improve type-safety of TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.kindChanged</code>
<old>class io.trino.spi.type.TypeParameter</old>
<new>interface io.trino.spi.type.TypeParameter</new>
<justification>Improve type-safety of TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.nowAbstract</code>
<old>class io.trino.spi.type.TypeParameter</old>
<new>interface io.trino.spi.type.TypeParameter</new>
<justification>Improve type-safety of TypeParameter</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.nowAbstract</code>
<old>method java.lang.String io.trino.spi.type.AbstractType::getDisplayName()</old>
<new>method java.lang.String io.trino.spi.type.Type::getDisplayName() @ io.trino.spi.type.AbstractType</new>
<justification>Don't rely on TypeSignature for deriving the display name</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.util.List<io.trino.spi.type.TypeSignature> io.trino.spi.type.TypeSignature::getTypeParametersAsTypeSignatures()</old>
<justification>Not needed. Use getParameters() instead.</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.type.TypeSignature io.trino.spi.type.TypeSignature::rowType(io.trino.spi.type.TypeSignatureParameter[])</old>
<justification>Method unused</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.function.Signature.Builder io.trino.spi.function.Signature.Builder::variadicTypeParameter(java.lang.String, java.lang.String)</old>
<justification>Remove support for arbitrary variadic bounds</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.function.TypeVariableConstraint.TypeVariableConstraintBuilder io.trino.spi.function.TypeVariableConstraint.TypeVariableConstraintBuilder::variadicBound(java.lang.String)</old>
<justification>Remove support for arbitrary variadic bounds</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeChanged</code>
<old>parameter io.trino.spi.function.TypeVariableConstraint io.trino.spi.function.TypeVariableConstraint::fromJson(java.lang.String, boolean, boolean, ===java.util.Optional<java.lang.String>===, java.util.Set<io.trino.spi.type.TypeSignature>, java.util.Set<io.trino.spi.type.TypeSignature>)</old>
<new>parameter io.trino.spi.function.TypeVariableConstraint io.trino.spi.function.TypeVariableConstraint::fromJson(java.lang.String, boolean, boolean, ===boolean===, java.util.Set<io.trino.spi.type.TypeSignature>, java.util.Set<io.trino.spi.type.TypeSignature>)</new>
<parameterIndex>3</parameterIndex>
<justification>Remove support for arbitrary variadic bounds</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.util.Optional<java.lang.String> io.trino.spi.function.TypeVariableConstraint::getVariadicBound()</old>
<justification>Remove support for arbitrary variadic bounds</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.attributeValueChanged</code>
<old>parameter io.trino.spi.function.TypeVariableConstraint io.trino.spi.function.TypeVariableConstraint::fromJson(java.lang.String, boolean, boolean, ===java.util.Optional<java.lang.String>===, java.util.Set<io.trino.spi.type.TypeSignature>, java.util.Set<io.trino.spi.type.TypeSignature>)</old>
<new>parameter io.trino.spi.function.TypeVariableConstraint io.trino.spi.function.TypeVariableConstraint::fromJson(java.lang.String, boolean, boolean, ===boolean===, java.util.Set<io.trino.spi.type.TypeSignature>, java.util.Set<io.trino.spi.type.TypeSignature>)</new>
<annotationType>com.fasterxml.jackson.annotation.JsonProperty</annotationType>
<attribute>value</attribute>
<oldValue>"variadicBound"</oldValue>
<newValue>"rowType"</newValue>
<justification>Remove support for arbitrary variadic bounds</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.parameterTypeChanged</code>
<old>parameter void io.trino.spi.type.TypeNotFoundException::<init>(===io.trino.spi.type.TypeSignature===)</old>
<new>parameter void io.trino.spi.type.TypeNotFoundException::<init>(===java.lang.String===)</new>
<parameterIndex>0</parameterIndex>
<justification>Remove TypeSignature dependency from</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method void io.trino.spi.type.TypeNotFoundException::<init>(io.trino.spi.type.TypeSignature, java.lang.Throwable)</old>
<justification>Remove TypeSignature dependency from</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.attributeValueChanged</code>
<old>parameter void io.trino.spi.memory.MemoryPoolInfo::<init>(long, long, long, java.util.Map<io.trino.spi.QueryId, java.lang.Long>, java.util.Map<io.trino.spi.QueryId, java.util.List<io.trino.spi.memory.MemoryAllocation>>, ===java.util.Map<io.trino.spi.QueryId, java.lang.Long>===, java.util.Map<java.lang.String, java.lang.Long>, java.util.Map<java.lang.String, java.lang.Long>)</old>
<new>parameter void io.trino.spi.memory.MemoryPoolInfo::<init>(long, long, long, java.util.Map<io.trino.spi.QueryId, java.lang.Long>, java.util.Map<io.trino.spi.QueryId, java.util.List<io.trino.spi.memory.MemoryAllocation>>, ===java.util.Map<java.lang.String, java.lang.Long>===, java.util.Map<java.lang.String, java.lang.Long>)</new>
<annotationType>com.fasterxml.jackson.annotation.JsonProperty</annotationType>
<attribute>value</attribute>
<oldValue>"queryMemoryRevocableReservations"</oldValue>
<newValue>"taskMemoryReservations"</newValue>
<justification>Removal of unused field</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.attributeValueChanged</code>
<old>parameter void io.trino.spi.memory.MemoryPoolInfo::<init>(long, long, long, java.util.Map<io.trino.spi.QueryId, java.lang.Long>, java.util.Map<io.trino.spi.QueryId, java.util.List<io.trino.spi.memory.MemoryAllocation>>, java.util.Map<io.trino.spi.QueryId, java.lang.Long>, ===java.util.Map<java.lang.String, java.lang.Long>===, java.util.Map<java.lang.String, java.lang.Long>)</old>
<new>parameter void io.trino.spi.memory.MemoryPoolInfo::<init>(long, long, long, java.util.Map<io.trino.spi.QueryId, java.lang.Long>, java.util.Map<io.trino.spi.QueryId, java.util.List<io.trino.spi.memory.MemoryAllocation>>, java.util.Map<java.lang.String, java.lang.Long>, ===java.util.Map<java.lang.String, java.lang.Long>===)</new>
<annotationType>com.fasterxml.jackson.annotation.JsonProperty</annotationType>
<attribute>value</attribute>
<oldValue>"taskMemoryReservations"</oldValue>
<newValue>"taskMemoryRevocableReservations"</newValue>
<justification>Removal of unused field</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.memory.MemoryPoolInfo::<init>(long, long, long, java.util.Map<io.trino.spi.QueryId, java.lang.Long>, java.util.Map<io.trino.spi.QueryId, java.util.List<io.trino.spi.memory.MemoryAllocation>>, java.util.Map<io.trino.spi.QueryId, java.lang.Long>, java.util.Map<java.lang.String, java.lang.Long>, java.util.Map<java.lang.String, java.lang.Long>)</old>
<new>method void io.trino.spi.memory.MemoryPoolInfo::<init>(long, long, long, java.util.Map<io.trino.spi.QueryId, java.lang.Long>, java.util.Map<io.trino.spi.QueryId, java.util.List<io.trino.spi.memory.MemoryAllocation>>, java.util.Map<java.lang.String, java.lang.Long>, java.util.Map<java.lang.String, java.lang.Long>)</new>
<justification>Removal of unused field</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.util.Map<io.trino.spi.QueryId, java.lang.Long> io.trino.spi.memory.MemoryPoolInfo::getQueryMemoryRevocableReservations()</old>
<justification>Removal of unused field</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.removed</code>
<old>parameter void io.trino.spi.memory.MemoryAllocation::<init>(===java.lang.String===, long)</old>
<new>parameter void io.trino.spi.memory.MemoryAllocation::<init>(===java.lang.String===, long)</new>
<annotation>@com.fasterxml.jackson.annotation.JsonProperty("tag")</annotation>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.removed</code>
<old>parameter void io.trino.spi.memory.MemoryAllocation::<init>(java.lang.String, ===long===)</old>
<new>parameter void io.trino.spi.memory.MemoryAllocation::<init>(java.lang.String, ===long===)</new>
<annotation>@com.fasterxml.jackson.annotation.JsonProperty("allocation")</annotation>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.removed</code>
<old>method void io.trino.spi.memory.MemoryAllocation::<init>(java.lang.String, long)</old>
<new>method void io.trino.spi.memory.MemoryAllocation::<init>(java.lang.String, long)</new>
<annotation>@com.fasterxml.jackson.annotation.JsonCreator</annotation>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method long io.trino.spi.memory.MemoryAllocation::getAllocation()</old>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.lang.String io.trino.spi.memory.MemoryAllocation::getTag()</old>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.kindChanged</code>
<old>class io.trino.spi.memory.MemoryAllocation</old>
<new>class io.trino.spi.memory.MemoryAllocation</new>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.kindChanged</code>
<old>class io.trino.spi.NodeVersion</old>
<new>class io.trino.spi.NodeVersion</new>
<justification>Class converted to Record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.numberOfParametersChanged</code>
<old>method void io.trino.spi.eventlistener.QueryStatistics::<init>(java.time.Duration, java.time.Duration, java.time.Duration, java.time.Duration, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, long, long, long, long, long, long, long, long, long, long, long, long, long, long, double, double, java.util.List<io.trino.spi.eventlistener.StageGcStatistics>, int, boolean, java.util.List<io.trino.spi.eventlistener.StageCpuDistribution>, java.util.List<io.trino.spi.eventlistener.StageOutputBufferUtilization>, java.util.List<io.trino.spi.eventlistener.StageOutputBufferMetrics>, java.util.List<io.trino.spi.eventlistener.StageTaskStatistics>, java.util.List<io.trino.spi.eventlistener.DynamicFilterDomainStatistics>, java.util.function.Supplier<java.util.List<java.lang.String>>, java.util.List<io.trino.spi.eventlistener.QueryPlanOptimizerStatistics>, java.util.Map<java.lang.String, io.trino.spi.metrics.Metrics>, java.util.Optional<java.lang.String>)</old>
<new>method void io.trino.spi.eventlistener.QueryStatistics::<init>(java.time.Duration, java.time.Duration, java.time.Duration, java.time.Duration, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, java.util.Optional<java.time.Duration>, long, long, long, long, long, long, long, long, long, long, long, long, long, long, double, double, java.util.List<io.trino.spi.eventlistener.StageGcStatistics>, int, boolean, java.util.List<io.trino.spi.eventlistener.StageCpuDistribution>, java.util.List<io.trino.spi.eventlistener.StageOutputBufferUtilization>, java.util.List<io.trino.spi.eventlistener.StageOutputBufferMetrics>, java.util.List<io.trino.spi.eventlistener.StageTaskStatistics>, java.util.List<io.trino.spi.eventlistener.DynamicFilterDomainStatistics>, java.util.function.Supplier<java.util.List<java.lang.String>>, java.util.List<io.trino.spi.eventlistener.QueryPlanOptimizerStatistics>, java.util.Map<java.lang.String, io.trino.spi.metrics.Metrics>, java.util.Map<java.lang.String, io.trino.spi.metrics.Metrics>, java.util.Optional<java.lang.String>)</new>
<justification>Expose exchange performance metrics via event listener SPI</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.returnTypeChanged</code>
<old>method java.lang.String io.trino.spi.connector.ColumnMetadata::getComment()</old>
<new>method java.util.Optional<java.lang.String> io.trino.spi.connector.ColumnMetadata::getComment()</new>
<justification>Make field optional</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.removed</code>
<old>method java.lang.String io.trino.spi.connector.ColumnMetadata::getComment()</old>
<new>method java.util.Optional<java.lang.String> io.trino.spi.connector.ColumnMetadata::getComment()</new>
<annotation>@jakarta.annotation.Nullable</annotation>
<justification>Make field optional</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.returnTypeChanged</code>
<old>method java.lang.String io.trino.spi.connector.ColumnMetadata::getExtraInfo()</old>
<new>method java.util.Optional<java.lang.String> io.trino.spi.connector.ColumnMetadata::getExtraInfo()</new>
<justification>Make field optional</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.removed</code>
<old>method java.lang.String io.trino.spi.connector.ColumnMetadata::getExtraInfo()</old>
<new>method java.util.Optional<java.lang.String> io.trino.spi.connector.ColumnMetadata::getExtraInfo()</new>
<annotation>@jakarta.annotation.Nullable</annotation>
<justification>Make field optional</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.externalClassExposedInAPI</code>
<new>class io.opentelemetry.api.common.Empty</new>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.lang.String io.trino.spi.function.CatalogSchemaFunctionName::getCatalogName()</old>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method io.trino.spi.function.SchemaFunctionName io.trino.spi.function.CatalogSchemaFunctionName::getSchemaFunctionName()</old>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.kindChanged</code>
<old>class io.trino.spi.function.CatalogSchemaFunctionName</old>
<new>class io.trino.spi.function.CatalogSchemaFunctionName</new>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.removed</code>
<old>parameter void io.trino.spi.function.SchemaFunctionName::<init>(===java.lang.String===, java.lang.String)</old>
<new>parameter void io.trino.spi.function.SchemaFunctionName::<init>(===java.lang.String===, java.lang.String)</new>
<annotation>@com.fasterxml.jackson.annotation.JsonProperty("schemaName")</annotation>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.removed</code>
<old>parameter void io.trino.spi.function.SchemaFunctionName::<init>(java.lang.String, ===java.lang.String===)</old>
<new>parameter void io.trino.spi.function.SchemaFunctionName::<init>(java.lang.String, ===java.lang.String===)</new>
<annotation>@com.fasterxml.jackson.annotation.JsonProperty("functionName")</annotation>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.removed</code>
<old>method void io.trino.spi.function.SchemaFunctionName::<init>(java.lang.String, java.lang.String)</old>
<new>method void io.trino.spi.function.SchemaFunctionName::<init>(java.lang.String, java.lang.String)</new>
<annotation>@com.fasterxml.jackson.annotation.JsonCreator</annotation>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.lang.String io.trino.spi.function.SchemaFunctionName::getFunctionName()</old>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.lang.String io.trino.spi.function.SchemaFunctionName::getSchemaName()</old>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.kindChanged</code>
<old>class io.trino.spi.function.SchemaFunctionName</old>
<new>class io.trino.spi.function.SchemaFunctionName</new>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.lang.String io.trino.spi.function.CatalogSchemaFunctionName::getFunctionName()</old>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method java.lang.String io.trino.spi.function.CatalogSchemaFunctionName::getSchemaName()</old>
<justification>Class converted to a record</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method int io.trino.spi.Location::getColumnNumber()</old>
<justification>Location converted to a record class</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.method.removed</code>
<old>method int io.trino.spi.Location::getLineNumber()</old>
<justification>Location converted to a record class</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.kindChanged</code>
<old>class io.trino.spi.Location</old>
<new>class io.trino.spi.Location</new>
<justification>Location converted to a record class</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.annotation.removed</code>
<old>class io.trino.spi.Location</old>
<new>class io.trino.spi.Location</new>
<annotation>@com.google.errorprone.annotations.Immutable</annotation>
<justification>Location converted to a record class</justification>
</item>
<item>
<code>java.method.numberOfParametersChanged</code>
<old>method io.trino.spi.function.FunctionMetadata io.trino.spi.function.FunctionMetadata::fromJson(io.trino.spi.function.FunctionId, io.trino.spi.function.Signature, java.lang.String, java.util.Set<java.lang.String>, io.trino.spi.function.FunctionNullability, boolean, boolean, java.lang.String, io.trino.spi.function.FunctionKind, boolean)</old>
<new>method io.trino.spi.function.FunctionMetadata io.trino.spi.function.FunctionMetadata::fromJson(io.trino.spi.function.FunctionId, io.trino.spi.function.Signature, java.lang.String, java.util.Set<java.lang.String>, io.trino.spi.function.FunctionNullability, boolean, boolean, boolean, java.lang.String, io.trino.spi.function.FunctionKind, boolean)</new>
<justification>Function declares whether it never fails</justification>
</item>
<item>
<ignore>true</ignore>
<code>java.class.externalClassExposedInAPI</code>
<new>interface io.opentelemetry.api.trace.TraceFlagsBuilder</new>
<justification>New OpenTelemetry API version</justification>
</item>
</differences>
</revapi.differences>
</analysisConfiguration>
</configuration>
<dependencies>
<dependency>
<groupId>org.revapi</groupId>
<artifactId>revapi-java</artifactId>
<version>0.28.4</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>