eamonnmcmanus
released this
31 May 19:27
·
76 commits
to main
since this release
What's Changed
- AutoValue (including AutoBuilder) no longer bundles the Kotlin metadata API. This may require adding an explicit dependency on
org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.9.0
ororg.jetbrains.kotlin:kotlin-metadata-jvm:2.0.0
to client code that uses AutoBuilder to build Kotlin classes. The metadata API has changed fromkotlinx.metadata
tokotlin.metadata
, but AutoBuilder uses reflection to function with either. (260b61e) - Support for generating Java 7 code has been removed from AutoValue, AutoAnnotation, and AutoBuilder. You must be on at least Java 8, or an Android version with desugaring that allows it to pass for Java 8. 1.10.4 is the last AutoValue version with support for Java 7. (b9142b7)
- AutoBuilder now reports an error if it encounters a
@Nullable
primitive parameter. Primitive types cannot benull
, and should not be annotated for nullness. (7cbdeb4) - Annotations on type parameters, like
abstract @Nullable T foo()
, are now better propagated to fields and constructor parameters. (92d881e) - The generated
toBuilder()
method now saysnew AutoValue_Foo.Builder(this)
rather than justnew Builder(this)
, to do the right thing if an extension generates its own subclass ofBuilder
. (324470b) - The "copy constructor" in a generated
Builder
is no longer private. (6730615) - Added support for extending AutoValue.Builder with abstract methods. (7d4b020)
- The annotation processors now support all kinds of resource URLs when loading template resources. This change only affects the case where the AutoValue (etc) processors are being invoked in an unusual environment, for example from a GraalVM app. It does not affect code that is merely being compiled for such an environment. (80b0ada)
Full Changelog: auto-value-1.10.4...auto-value-1.11.0