Skip to content

AutoValue 1.11.0

Latest
Compare
Choose a tag to compare
@eamonnmcmanus 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 or org.jetbrains.kotlin:kotlin-metadata-jvm:2.0.0 to client code that uses AutoBuilder to build Kotlin classes. The metadata API has changed from kotlinx.metadata to kotlin.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 be null, 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 says new AutoValue_Foo.Builder(this) rather than just new Builder(this), to do the right thing if an extension generates its own subclass of Builder. (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