All Versions
20
Latest Version
Avg Release Cycle
125 days
Latest Release
991 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v1.7.4 Changes
July 08, 2020 -
v1.7.3 Changes
June 10, 2020- ๐ Optionally copy annotations from the
@AutoValue.Builder
class to the generated subclass. (b22f969) - โฌ๏ธ Drop unnecessary parentheses in AutoAnnotation
equals
andhashCode
methods. (b9ba06a) - ๐ Fixed a problem when an
@AutoValue
class references types that are generated by other annotation processors. (2797d38)
- ๐ Optionally copy annotations from the
-
v1.7.2 Changes
May 13, 2020๐ Only one change in this release:
- AutoValue is once again "isolating" for Gradle incremental compilation. (8e7515a)
-
v1.7.1 Changes
May 01, 2020๐ New features
- ๐ง SerializableAutoValue extension. This can be used to serialize
@AutoValue
classes with properties of typejava.util.Optional
, even thoughjava.util.Optional
is not serializable, and it can also be configured to serialize other arbitrary types. Thanks to @alvinlao for this contribution! (f91d2fe) - ๐ The logic for determining if we can make a BarBuilder out of a Bar has been generalized. For example, if your
@AutoValue
classFoo
has a propertyIntList ints()
, then your builder can haveIntListBuilder intsBuilder()
. Previously this worked if there was noFoo.toBuilder()
method, or ifIntList
had its owntoBuilder()
method. Now it also works if it is possible to callIntListBuilder.addAll(IntList)
. (6aeb44f) - ๐ Allow boxed @autovalue properties to be set from the corresponding primitive type. (2bbe506)
Behaviour changes
- ๐ AutoValue now gives a warning if the static builder() method is inside the @AutoValue.Builder class instead of directly in the @autovalue class. (fcccded)
- AutoValue doesn't generate code or invoke extensions if it detects a problem, for example a mismatch between getters and setters. (ecb6032)
- AutoOneOf factory methods for void values now have type parameters if the
@AutoOneOf
class does. (4ab1b53) - ๐ It is now a compilation error if a setter method in a builder has a parameter marked @nullable when the corresponding property is not in fact @nullable. This already generated a NullPointerException at runtime. (bd7bed2)
- The @memoized annotation now has class-level retention, rather than source-level. (107694b)
๐ Bug fixes
- ๐ We fixed an issue with type checking of setter parameters in the presence of inheritance and generics. (e97d1f0)
- ๐ We now generate a better
toString()
for arrays in AutoOneOf (0a7c049)
Miscellaneous
- โ We added CompileWithEclipseTest, which checks that AutoValue works with ecj, the Eclipse compiler. (05e983c)
- ๐ง SerializableAutoValue extension. This can be used to serialize
-
v1.7 Changes
October 10, 2019This is the same as
1.7rc1
, with one small addition:- โ Add a way for extensions to retrieve the name of the final AutoValue_Foo class. (4543619)
๐ Thanks to @bryanstern for checking that the API changes for builder introspection do indeed work in a real extension.
-
v1.7.rc1 Changes
October 01, 2019- โ Add an API to allow AutoValue extensions to find out about builders. (86f4563)
- ๐ The generated AutoValue builder class is no longer final if there are extensions generating code. This means that extensions can subclass
Builder
to modify or extend its functionality. (49fbf55) - ๐ Property builders now work correctly when their actual return type is different from the corresponding property type because of type variable substitution. (7646889)
- ๐ Allow
@AutoValue
getters to define properties that are not valid Java identifiers, for exampleget1st()
. (6dfa04e) - โ Add a
propertyTypes()
method toAutoValueExtension.Context
, to allow extensions to see the true type of every property. In preference toproperties().get(p).getReturnType()
, extensions should usepropertyTypes().get(p)
. (99ae134)
-
v1.6.6 Changes
August 19, 2019- ๐ Allow @AutoOneOf properties to be void. An abstract void method means that the associated kind has no value. The factory method has no parameter and calling the implementation of the void method does nothing unless the instance is of another kind. (48d6557)
- Shade org.checkerframework in the auto-value jar. (f89da91)
- Primitive arrays now work in @AutoOneOf classes. (81134b5)
- In AutoValue code, include type annotations in bounds of type-parameter declarations. (ca013a2)
- ๐ Handle inner classes correctly when the outer class has a type parameter. (4259261)
- โ Use the short form of annotations in generated code. For example, instead of
@SuppressWarnings(value = {"mutable"})
, write@SuppressWarnings("mutable")
. (b2eb535) - ๐ Use ImmutableSortedSet.copyOfSorted and .naturalOrder where appropriate. (a0de99b)
- โช Work around an Eclipse compiler bug where static interface methods are incorrectly shown as being inherited. (3854a65)
- ๐ Handle GWT serialization when some of the properties use property builders. (445b9ed)
-
v1.6.5 Changes
April 10, 2019This is identical to 1.6.4 except for the following:
- ๐ Fix an intermittent issue with AutoValue extensions and Gradle. (0cced0d)
-
v1.6.4 Changes
April 05, 2019- ๐ป More detailed exception information if AutoValue extensions cannot be loaded. (67e172e)
- โช Expand the exceptions covered by the workaround for a JDK8 jar bug. (f17d298)
- ๐ Support @CopyAnnotations in classes generated by MemoizeExtension. (bf27cab)
- ๐ Improved type checking for builder setter parameters. (8d6111d, efd48fd)
- โ Added
MoreTypes.asIntersection()
(c16ef66) - It is a compilation error for an @AutoOneOf property to be @nullable since null values are not in fact accepted. (9cf9999)
- ๐ AutoValue extensions can now declare supported options. (175e323)
- In AutoValue, @CopyAnnotations.exclude now affects type annotations. (3ee205b)
-
v1.6.3 Changes
December 11, 2018- ๐ Make AutoValue and AutoService support Gradle incremental build. Thanks to Thomas Broyer for this work. (a5673d0)
- โก๏ธ When
hashCode()
is@Memoized
,equals()
will be optimized to check hash codes first before other properies (34a6a03) - ๐ MemoizeExtension recognises
@Nullable
type annotations, not just method annotations. (66a57ec) - โ Remove unnecessary parentheses from the generated
equals(Object)
method in@AutoValue
classes. (a5387a6) - ๐ Clarify the
AutoValueExtension
documentation to explain how subclassing works in the code generated by extensions. (73e848a) - ๐ GwtSerialization support now works in the presence of AutoValue extensions. (9cc04ec)
- โ Remove the need for the
java.desktop
module on Java 9+. (f878642)