aboutsummaryrefslogtreecommitdiff
path: root/value/CHANGES.md
diff options
context:
space:
mode:
Diffstat (limited to 'value/CHANGES.md')
-rw-r--r--value/CHANGES.md59
1 files changed, 59 insertions, 0 deletions
diff --git a/value/CHANGES.md b/value/CHANGES.md
new file mode 100644
index 00000000..61d3af8f
--- /dev/null
+++ b/value/CHANGES.md
@@ -0,0 +1,59 @@
+# Auto-Value Changes
+
+## 1.1 → 1.2
+
+### Functional changes
+
+ * A **provisional** extension API has been introduced. This **will change**
+ in a later release. If you want to use it regardless, see the
+ [AutoValueExtension] class.
+
+ * Properties of primitive array type (e.g. `byte[]`) are no longer cloned
+ when read. If your @AutoValue class includes an array property, by default
+ it will get a compiler warning, which can be suppressed with
+ `@SuppressWarnings("mutable")`.
+
+ * An AutoValue.Builder type can now define both the setter and builder
+ methods like so:
+
+ ```
+ ...
+ abstract void setStrings(ImmutableList<String>);
+ abstract ImmutableList.Builder<String> stringsBuilder();
+ ...
+ ```
+ At runtime, if `stringsBuilder()...` is called then it is an error to call
+ `setStrings(...)` afterwards.
+
+ * The classes in the autovalue jar are now shaded with a `$` so they never
+ appear in IDE autocompletion.
+
+ * AutoValue now uses its own implementation of a subset of Apache Velocity,
+ so there will no longer be problems with interference between the Velocity
+ that was bundled with AutoValue and other versions that might be present.
+
+### Bugs fixed
+
+ * Explicit check for nested @AutoValue classes being private, or not being
+ static. Otherwise the compiler errors could be hard to understand,
+ especially in IDEs.
+
+ * An Eclipse bug that could occasionally lead to exceptions in the IDE has
+ been fixed (GitHub issue #200).
+
+ * Fixed a bug where AutoValue generated incorrect code if a method with a
+ type parameter was inherited by a class that supplies a concrete type for
+ that parameter. For example `StringIterator implements Iterator<String>`,
+ where the type of `next()` is String, not `T`.
+
+ * In AutoValueProcessor, fixed an exception that happened if the same abstract
+ method was inherited from more than one parent (Github Issue #267).
+
+ * AutoValue now works correctly in an environment where
+ `@javax.annotation.Generated` does not exist.
+
+ * Properties marked `@Nullable` now get `@Nullable` on the corresponding
+ constructor parameters in the generated class.
+
+[AutoValueExtension]: src/main/java/com/google/auto/value/extension/AutoValueExtension.java
+