aboutsummaryrefslogtreecommitdiff
path: root/value/CHANGES.md
diff options
context:
space:
mode:
authoremcmanus <emcmanus@google.com>2017-08-15 10:11:34 -0700
committerRon Shapiro <shapiro.rd@gmail.com>2017-08-22 10:15:20 -0400
commitff52be4bb927e01136aa51493811a2301d193b68 (patch)
tree72ce848b9f8d21b8f7e1e94617476777079c1d06 /value/CHANGES.md
parent4016d8dbbe4de668a1849e95223d1f2447b647bc (diff)
downloadauto-ff52be4bb927e01136aa51493811a2301d193b68.tar.gz
Update AutoValue changelog with 1.5 changes.
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=165322602
Diffstat (limited to 'value/CHANGES.md')
-rw-r--r--value/CHANGES.md35
1 files changed, 35 insertions, 0 deletions
diff --git a/value/CHANGES.md b/value/CHANGES.md
index be365c33..464632b4 100644
--- a/value/CHANGES.md
+++ b/value/CHANGES.md
@@ -1,5 +1,40 @@
# AutoValue Changes
+## 1.4 → 1.5
+
+### Functional changes
+
+* A workaround for older Eclipse versions has been removed. If you need to use
+ an Eclipse version older than 4.5, you will need to stay on AutoValue 1.4.
+
+* The [retention](https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html)
+ of the `@AutoValue` annotation has changed from `SOURCE` to `CLASS`. This
+ means that it is possible for code-analysis tools to tell whether a class is
+ an `@AutoValue`. AutoValue itself uses this to enforce the check that one
+ `@AutoValue` class cannot extend another, even if the classes are compiled
+ separately.
+
+* It is now an error if `@Memoized` is applied to a method not inside an
+ `@AutoValue` class.
+
+* Type annotations are now handled more consistently. If `@Nullable` is a type
+ annotation, a property of type `@Nullable Integer` will have that type used
+ everywhere in the generated code. Associated bugs with nested type
+ annotations, like `Outer.@Inner`, have been fixed.
+
+### Bugs fixed since 1.4.1
+
+* `@Memoized` methods can now throw checked exceptions. Previously this failed
+ because the exceptions were not copied into the `throws` clause of the
+ generated override, so the call to `super.foo()` did not compile.
+
+* The generated `hashCode()` method uses `h = (int) (h ^ longProperty)` rather
+ than `h ^= longProperty` to avoid warnings about loss of precision.
+
+* Annotations are not copied from an abstract method to its implementation if
+ they are not visible from the latter. This can happen if the `@AutoValue`
+ inherits the abstract method from a class or interface in a different package.
+
## 1.3 → 1.4
*This is the last AutoValue version that compiles and runs on Java 6.* Future