1Change Log 2========== 3 4The change log for versions newer than 2.10 is available only on the [GitHub Releases page](https://github.com/google/gson/releases). 5 6## Version 2.10 7 8* Support for serializing and deserializing Java records, on Java ≥ 16. (https://github.com/google/gson/pull/2201) 9* Add `JsonArray.asList` and `JsonObject.asMap` view methods (https://github.com/google/gson/pull/2225) 10* Fix `TypeAdapterRuntimeTypeWrapper` not detecting reflective `TreeTypeAdapter` and `FutureTypeAdapter` (https://github.com/google/gson/pull/1787) 11* Improve `JsonReader.skipValue()` (https://github.com/google/gson/pull/2062) 12* Perform numeric conversion for primitive numeric type adapters (https://github.com/google/gson/pull/2158) 13* Add `Gson.fromJson(..., TypeToken)` overloads (https://github.com/google/gson/pull/1700) 14* Fix changes to `GsonBuilder` affecting existing `Gson` instances (https://github.com/google/gson/pull/1815) 15* Make `JsonElement` conversion methods more consistent and fix javadoc (https://github.com/google/gson/pull/2178) 16* Throw `UnsupportedOperationException` when `JsonWriter.jsonValue` is not supported (https://github.com/google/gson/pull/1651) 17* Disallow `JsonObject` `Entry.setValue(null)` (https://github.com/google/gson/pull/2167) 18* Fix `TypeAdapter.toJson` throwing AssertionError for custom IOException (https://github.com/google/gson/pull/2172) 19* Convert null to JsonNull for `JsonArray.set` (https://github.com/google/gson/pull/2170) 20* Fixed nullSafe usage. (https://github.com/google/gson/pull/1555) 21* Validate `TypeToken.getParameterized` arguments (https://github.com/google/gson/pull/2166) 22* Fix #1702: Gson.toJson creates CharSequence which does not implement toString (https://github.com/google/gson/pull/1703) 23* Prefer existing adapter for concurrent `Gson.getAdapter` calls (https://github.com/google/gson/pull/2153) 24* Improve `ArrayTypeAdapter` for `Object[]` (https://github.com/google/gson/pull/1716) 25* Improve `AppendableWriter` performance (https://github.com/google/gson/pull/1706) 26 27## Version 2.9.1 28 29* Make `Object` and `JsonElement` deserialization iterative rather than 30 recursive (https://github.com/google/gson/pull/1912) 31* Added parsing support for enum that has overridden toString() method (https://github.com/google/gson/pull/1950) 32* Removed support for building Gson with Gradle (https://github.com/google/gson/pull/2081) 33* Removed obsolete `codegen` hierarchy (https://github.com/google/gson/pull/2099) 34* Add support for reflection access filter (https://github.com/google/gson/pull/1905) 35* Improve `TypeToken` creation validation (https://github.com/google/gson/pull/2072) 36* Add explicit support for `float` in `JsonWriter` (https://github.com/google/gson/pull/2130, https://github.com/google/gson/pull/2132) 37* Fail when parsing invalid local date (https://github.com/google/gson/pull/2134) 38 39Also many small improvements to javadoc. 40 41## Version 2.9.0 42 43**The minimum supported Java version changes from 6 to 7.** 44 45* Change target Java version to 7 (https://github.com/google/gson/pull/2043) 46* Put `module-info.class` into Multi-Release JAR folder (https://github.com/google/gson/pull/2013) 47* Improve error message when abstract class cannot be constructed (https://github.com/google/gson/pull/1814) 48* Support EnumMap deserialization (https://github.com/google/gson/pull/2071) 49* Add LazilyParsedNumber default adapter (https://github.com/google/gson/pull/2060) 50* Fix JsonReader.hasNext() returning true at end of document (https://github.com/google/gson/pull/2061) 51* Remove Gradle build support. Build script was outdated and not actively 52 maintained anymore (https://github.com/google/gson/pull/2063) 53* Add `GsonBuilder.disableJdkUnsafe()` (https://github.com/google/gson/pull/1904) 54* Add `UPPER_CASE_WITH_UNDERSCORES` in FieldNamingPolicy (https://github.com/google/gson/pull/2024) 55* Fix failing to serialize Collection or Map with inaccessible constructor (https://github.com/google/gson/pull/1902) 56* Improve TreeTypeAdapter thread-safety (https://github.com/google/gson/pull/1976) 57* Fix `Gson.newJsonWriter` ignoring lenient and HTML-safe setting (https://github.com/google/gson/pull/1989) 58* Delete unused LinkedHashTreeMap (https://github.com/google/gson/pull/1992) 59* Make default adapters stricter; improve exception messages (https://github.com/google/gson/pull/2000) 60* Fix `FieldNamingPolicy.upperCaseFirstLetter` uppercasing non-letter (https://github.com/google/gson/pull/2004) 61 62## Version 2.8.9 63 64* Make OSGi bundle's dependency on `sun.misc` optional (https://github.com/google/gson/pull/1993). 65* Deprecate `Gson.excluder()` exposing internal `Excluder` class (https://github.com/google/gson/pull/1986). 66* Prevent Java deserialization of internal classes (https://github.com/google/gson/pull/1991). 67* Improve number strategy implementation (https://github.com/google/gson/pull/1987). 68* Fix LongSerializationPolicy null handling being inconsistent with Gson (https://github.com/google/gson/pull/1990). 69* Support arbitrary Number implementation for Object and Number deserialization (https://github.com/google/gson/pull/1290). 70* Bump proguard-maven-plugin from 2.4.0 to 2.5.1 (https://github.com/google/gson/pull/1980). 71* Don't exclude static local classes (https://github.com/google/gson/pull/1969). 72* Fix `RuntimeTypeAdapterFactory` depending on internal `Streams` class (https://github.com/google/gson/pull/1959). 73* Improve Maven build (https://github.com/google/gson/pull/1964). 74* Make dependency on `java.sql` optional (https://github.com/google/gson/pull/1707). 75 76## Version 2.8.8 77 78* Fixed issue with recursive types (https://github.com/google/gson/issues/1390). 79* Better behaviour with Java 9+ and `Unsafe` if there is a security manager (https://github.com/google/gson/pull/1712). 80* `EnumTypeAdapter` now works better when ProGuard has obfuscated enum fields (https://github.com/google/gson/pull/1495). 81 82## Version 2.8.7 83 84* Fixed `ISO8601UtilsTest` failing on systems with UTC+X. 85* Improved javadoc for `JsonStreamParser`. 86* Updated proguard.cfg (https://github.com/google/gson/pull/1693). 87* Fixed `IllegalStateException` in `JsonTreeWriter` (https://github.com/google/gson/issues/1592). 88* Added `JsonArray.isEmpty()` (https://github.com/google/gson/pull/1640). 89* Added new test cases (https://github.com/google/gson/pull/1638). 90* Fixed OSGi metadata generation to work on JavaSE < 9 (https://github.com/google/gson/pull/1603). 91 92## Version 2.8.6 93_2019-10-04_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.8.5...gson-parent-2.8.6) 94 * Added static methods `JsonParser.parseString` and `JsonParser.parseReader` and deprecated instance method `JsonParser.parse` 95 * Java 9 module-info support 96 97## Version 2.8.5 98_2018-05-21_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.8.4...gson-parent-2.8.5) 99 * Print Gson version while throwing AssertionError and IllegalArgumentException 100 * Moved `utils.VersionUtils` class to `internal.JavaVersion`. This is a potential backward incompatible change from 2.8.4 101 * Fixed issue https://github.com/google/gson/issues/1310 by supporting Debian Java 9 102 103## Version 2.8.4 104_2018-05-01_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.8.3...gson-parent-2.8.4) 105 * Added a new FieldNamingPolicy, `LOWER_CASE_WITH_DOTS` that mapps JSON name `someFieldName` to `some.field.name` 106 * Fixed issue https://github.com/google/gson/issues/1305 by removing compile/runtime dependency on `sun.misc.Unsafe` 107 108## Version 2.8.3 109_2018-04-27_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.8.2...gson-parent-2.8.3) 110 * Added a new API, `GsonBuilder.newBuilder()` that clones the current builder 111 * Preserving DateFormatter behavior on JDK 9 112 * Numerous other bugfixes 113 114## Version 2.8.2 115_2017-09-19_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.8.1...gson-parent-2.8.2) 116 * Introduced a new API, `JsonElement.deepCopy()` 117 * Numerous other bugfixes 118 119## Version 2.8.1 120_2017-05-30_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.8.0...gson-parent-2.8.1) 121 * New: `JsonObject.keySet()` 122 * `@JsonAdapter` annotation can now use `JsonSerializer` and `JsonDeserializer` as well. 123 124## Version 2.8 125_2016-10-26_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.7...gson-parent-2.8.0) 126 * New: `TypeToken.getParameterized()` and `TypeToken.getArray()` make it easier to 127 register or look up a `TypeAdapter`. 128 * New: `@JsonAdapter(nullSafe=true)` to specify that a custom type adapter handles null. 129 130## Version 2.7 131_2016-06-14_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.6.2...gson-parent-2.7) 132 * Added support for JsonSerializer/JsonDeserializer in @JsonAdapter annotation 133 * Exposing Gson properties excluder(), fieldNamingStrategy(), serializeNulls(), htmlSafe() 134 * Added JsonObject.size() method 135 * Added JsonWriter.value(Boolean value) method 136 * Using ArrayDeque, ConcurrentHashMap, and other JDK 1.6 features 137 * Better error reporting 138 * Plenty of other bug fixes 139 140## Version 2.6.2 141_2016-02-26_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.6.1...gson-parent-2.6.2) 142 * Fixed an NPE bug with @JsonAdapter annotation 143 * Added back OSGI manifest 144 * Some documentation typo fixes 145 146## Version 2.6.1 147 148_2016-02-11_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.6...gson-parent-2.6.1) 149 150 * Fix: The 2.6 release targeted Java 1.7, but we intend to target Java 1.6. The 151 2.6.1 release is identical to 2.6, but it targets Java 1.6. 152 153 154## Version 2.6 155 156_2016-02-11_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.5...gson-parent-2.6) 157 158 * Permit timezones without minutes in the default date adapter. 159 * Update reader and writer for RFC 7159. This means that strings, numbers, 160 booleans and null may be top-level values in JSON documents, even if the 161 reader is strict. 162 * New `setLenient()` method on `GsonBuilder`. This setting impacts the new 163 factory method `Gson.newJsonReader()`. 164 * Adapters discovered with `@JsonAdapter` are now null safe by default. 165 166 167## Version 2.5 168 169_2015-11-24_ [GitHub Diff](https://github.com/google/gson/compare/gson-parent-2.4...gson-parent-2.5) 170 171 * Updated minimum JDK version to 1.6 172 * Improved Date Deserialization by accepting many date formats 173 * Added support for `java.util.Currency`, `AtomicLong`, `AtomicLongArray`, `AtomicInteger`, `AtomicIntegerArray`, `AtomicBoolean`. This change is backward-incompatible because the earlier version of Gson used the default serialization which wasn't intuitive. We hope that these classes are not used enough to actually cause problems in the field. 174 * Improved debugging information when some exceptions are thrown 175 176 177## Version 2.4 178 179_2015-10-04_ 180 181 * **Drop `IOException` from `TypeAdapter.toJson()`.** This is a binary-compatible change, but may 182 cause compiler errors where `IOExceptions` are being caught but no longer thrown. The correct fix 183 for this problem is to remove the unnecessary `catch` clause. 184 * New: `Gson.newJsonWriter` method returns configured `JsonWriter` instances. 185 * New: `@SerializedName` now works with [AutoValue’s][autovalue] abstract property methods. 186 * New: `@SerializedName` permits alternate names when deserializing. 187 * New: `JsonWriter#jsonValue` writes raw JSON values. 188 * New: APIs to add primitives directly to `JsonArray` instances. 189 * New: ISO 8601 date type adapter. Find this in _extras_. 190 * Fix: `FieldNamingPolicy` now works properly when running on a device with a Turkish locale. 191 [autovalue]: https://github.com/google/auto/tree/master/value 192 193 194## Version 2.3.1 195 196_2014-11-20_ 197 198 * Added support to serialize objects with self-referential fields. The self-referential field is set to null in JSON. Previous version of Gson threw a StackOverflowException on encountering any self-referential fields. 199 * The most visible impact of this is that Gson can now serialize Throwable (Exception and Error) 200 * Added support for @JsonAdapter annotation on enums which are user defined types 201 * Fixed bug in getPath() with array of objects and arrays of arrays 202 * Other smaller bug fixes 203 204 205## Version 2.3 206 207_2014-08-11_ 208 209 * The new @JsonAdapter annotation to specify a Json TypeAdapter for a class field 210 * JsonPath support: JsonReader.getPath() method returns the JsonPath expression 211 * New public methods in JsonArray (similar to the java.util.List): `contains(JsonElement), remove(JsonElement), remove(int index), set(int index, JsonElement element)` 212 * Many other smaller bug fixes 213 214 215## Version 2.2.4 216 217_2013-05-13_ 218 219 * Fix internal map (LinkedHashTreeMap) hashing bug. 220 * Bug fix (Issue 511) 221 222 223## Version 2.2.3 224 225_2013-04-12_ 226 227 * Fixes for possible DoS attack due to poor String hashing 228 229 230## Version 2.2.2 231 232_2012-07-02_ 233 234 * Gson now allows a user to override default type adapters for Primitives and Strings. This behavior was allowed in earlier versions of Gson but was prohibited started Gson 2.0. We decided to allow it again: This enables a user to parse 1/0 as boolean values for compatibility with iOS JSON libraries. 235 * (Incompatible behavior change in `JsonParser`): In the past, if `JsonParser` encountered a stream that terminated prematurely, it returned `JsonNull`. This behavior wasn't correct because the stream had invalid JSON, not a null. `JsonParser` is now changed to throw `JsonSyntaxException` in this case. Note that if JsonParser (or Gson) encounter an empty stream, they still return `JsonNull`. 236 237 238## Version 2.2.1 239 240_2012-05-05_ 241 242 * Very minor fixes 243 244 245## Version 2.2 246 247_2012-05-05_ 248 249 * Added getDelegateAdapter in Gson class 250 * Fixed a security bug related to denial of service attack with Java HashMap String collisions. 251 252 253## Version 2.1 254 255_2011-12-30_ (Targeted Dec 31, 2011) 256 257 * Support for user-defined streaming type adapters 258 * continued performance enhancements 259 * Dropped support for type hierarchy instance creators. We don't expect this to be a problem. We'll also detect fewer errors where multiple type adapters can serialize the same type. With APIs like getNextTypeAdapter, this might actually be an improvement! 260 261 262## Version 2.0 263 264_2011-11-13_ 265 266#### Faster 267 268 * Previous versions first parsed complete document into a DOM-style model (JsonObject or JsonArray) and then bound data against that. Gson 2 does data binding directly from the stream parser. 269 270#### More Predictable 271 272 * Objects are serialized and deserialized in the same way, regardless of where they occur in the object graph. 273 274#### Changes to watch out for 275 276 * Gson 1.7 would serialize top-level nulls as "". 2.0 serializes them as "null". 277 ``` 278 String json = gson.toJson(null, Foo.class); 279 1.7: json == "" 280 2.0: json == "null" 281 ``` 282 283 * Gson 1.7 permitted duplicate map keys. 2.0 forbids them. 284 ``` 285 String json = "{'a':1,'a':2}"; 286 Map<String, Integer> map = gson.fromJson(json, mapType); 287 1.7: map == {a=2} 288 2.0: JsonSyntaxException thrown 289 ``` 290 291 * Gson 1.7 won’t serialize subclass fields in collection elements. 2.0 adds this extra information. 292 ``` 293 List<Point2d> points = new ArrayList<Point2d>(); 294 points.add(new Point3d(1, 2, 3)); 295 String json = gson.toJson(points, 296 new TypeToken<List<Point2d>>() {}.getType()); 297 1.7: json == "[{'x':1,'y':2}]" 298 2.0: json == "[{'x':1,'y':2,'z':3}]" 299 ``` 300 301 * Gson 1.7 binds single-element arrays as their contents. 2.0 doesn’t. 302 ``` 303 Integer i = gson.fromJson("[42]", Integer.class); 304 1.7: i == 42 305 2.0: JsonSyntaxException thrown 306 ``` 307 308#### Other changes to be aware of 309 * Gson 2.0 doesn’t support type adapters for primitive types. 310 * Gson 1.7 uses arbitrary precision for primitive type conversion (so -122.08e-2132 != 0). Gson 2.0 uses double precision (so -122.08e-2132 == 0). 311 * Gson 1.7 sets subclass fields when an InstanceCreator returns a subclass when the value is a field of another object. Gson 2.0 sets fields of the requested type only. 312 * Gson 1.7 versioning never skips the top-level object. Gson 2.0 versioning applies to all objects. 313 * Gson 1.7 truncates oversized large integers. Gson 2.0 fails on them. 314 * Gson 2.0 permits integers to have .0 fractions like "1.0". 315 * Gson 1.7 throws IllegalStateException on circular references. Gson 2.0 lets the runtime throw a StackOverflowError. 316 317 318## Version 1.7.2 319 320_2011-09-30_ (Unplanned release) 321 * Fixed a threading issue in FieldAttributes (Issue 354) 322 323 324## Version 1.7.1 325 326_2011-04-13_ (Unplanned release) 327 328 * Fixed Gson jars in Maven Central repository 329 * Removed assembly-descriptor.xml and maven pom.xml/pom.properties files from Gson binary jar. This also ensures that jarjar can be run correctly on Gson. 330 331 332## Version 1.7 333 334_2011-04-12_ (Targeted: Jan 2011) 335 336 * No need to define no-args constructors for classes serialized with Gson 337 * Ability to register a hierarchical type adapter 338 * Support for serialization and deserialization of maps with complex keys 339 * Serialization and deserialization specific exclusion strategies 340 * Allow concrete data structure fields without type adapters 341 * Fixes "type" management (i.e. Wildcards, etc.) 342 * Major performance enhancements by reducing the need for Java reflection 343See detailed announcement at this thread in the Gson Google Group. 344 345 346## Version 1.6 347 348_2010-11-24_ (Targeted: Oct, 2010) 349 350 * New stream parser APIs 351 * New parser that improves parsing performance significantly 352 353 354## Version 1.5 355 356_2010-08-19_ (Target Date: Aug 18, 2010) 357 358 * Added `UPPER_CAMEL_CASE_WITH_SPACES` naming policy 359 * Added SQL date and time support 360 * A number of performance improvements: Using caching of field annotations for speeding up reflection, replacing recursive calls in the parser with a for loop. 361 362 363## Version 1.4 BETA 364 365_2009_10_09_ 366 367 * JsonStreamParser: A streaming parser API class to deserialize multiple JSON objects on a stream (such as a pipelined HTTP response) 368 * Raised the deserialization limit for byte and object arrays and collection to over 11MB from 80KB. See issue 96. 369 * While serializing, Gson now uses the actual type of a field. This allows serialization of base-class references holding sub-classes to the JSON for the sub-class. It also allows serialization of raw collections. See Issue 155, 156. 370 * Added a `Gson.toJsonTree()` method that serializes a Java object to a tree of JsonElements. See issue 110. 371 * Added a `Gson.fromJson(JsonElement)` method that deserializes from a Json parse tree. 372 * Updated `Expose` annotation to contain parameters serialize and deserialize to control whether a field gets serialized or deserialized. See issue 146. 373 * Added a new naming policy `LOWER_CASE_WITH_DASHES` 374 * Default date type adapter is now thread-safe. See Issue 162. 375 * `JsonElement.toString()` now outputs valid JSON after escaping characters properly. See issue 154. 376 * `JsonPrimitive.equals()` now returns true for two numbers if their values are equal. All integral types (long, int, short, byte, BigDecimal, Long, Integer, Short, Byte) are treated equivalent for comparison. Similarly, floating point types (double, float, BigDecimal, Double, Float) are treated equivalent as well. See issue 147. 377 * Fixed bugs in pretty printing. See issue 153. 378 * If a field causes circular reference error, Gson lists the field name instead of the object value. See issue 118. 379 * Gson now serializes a list with null elements correctly. See issue 117. 380 * Fixed issue 121, 123, 126. 381 * Support user defined exclusion strategies (Feature Request 138). 382 383 384## Version 1.3 385 386_2009-04-01_ 387 388 * Fix security token to remove the `<data>` element. 389 * Changed JsonParser.parse method to be non-static 390 * Throw JsonParseExceptions instead of ClassCastExceptions and UnsupportedOperationExceptions 391 392 393## Version 1.3 beta3 394 395_2009-03-17_ 396 397 * Supported custom mapping of field names by making `FieldNamingStrategy` public and allowing `FieldNamingStrategy` to be set in GsonBuilder. See issue 104. 398 * Added a new GsonBuilder setting `generateNonExecutableJson()` that prefixes the generated JSON with some text to make the output non-executable Javascript. Gson now recognizes this text from input while deserializing and filters it out. This feature is meant to prevent script sourcing attacks. See Issue 42. 399 * Supported deserialization of sets with elements that do not implement Comparable. See Issue 100 400 * Supported deserialization of floating point numbers without a sign after E. See Issue 94 401 402 403## Version 1.3 beta2 404 405_2009-02-05_ 406 407 * Added a new Parser API. See issue 65 408 * Supported deserialization of java.util.Properties. See Issue 87 409 * Fixed the pretty printing of maps. See Issue 93 410 * Supported automatic conversion of strings into numeric and boolean types if possible. See Issue 89 411 * Supported deserialization of longs into strings. See Issue 82 412 413 414## Version 1.3 beta1 415 416_2009_01_ (Target Date Friday, Dec 15, 2008) 417 418 * Made JSON parser lenient by allowing unquoted member names while parsing. See Issue 41 419 * Better precision handling for floating points. See Issue 71, 72 420 * Support for deserialization of special double values: NaN, infinity and negative infinity. See Issue 81 421 * Backward compatibility issue found with serialization of `Collection<Object>` type. See Issue 73 and 83. 422 * Able to serialize null keys and/or values within a Map. See Issue 77 423 * Deserializing non-String value keys for Maps. See Issue 85. 424 425 * Support for clashing field name. See Issue 76. 426 * Removed the need to invoke instance creator if a deserializer is registered. See issues 37 and 69. 427 * Added default support for java.util.UUID. See Issue 79 428 * Changed `Gson.toJson()` methods to use `Appendable` instead of `Writer`. Issue 52. This requires that clients recompile their source code that uses Gson. 429 430 431## Version 1.2.3 432 433_2008-11-15_ (Target Date Friday, Oct 31, 2008) 434 435 * Added support to serialize raw maps. See issue 45 436 * Made Gson thread-safe by fixing Issue 63 437 * Fixed Issue 68 to allow default type adapters for primitive types to be replaced by custom type adapters. 438 * Relaxed the JSON parser to accept escaped slash (\/) as a valid character in the string. See Issue 66 439 440 441## Version 1.2.2 442 443_2008-10-14_ (Target Date: None, Unplanned) 444 445 * This version was released to fix Issue 58 which caused a regression bug in version 1.2.1. It includes the contents from the release 1.2.1 446 447 448## Version 1.2.1 449 450_2008-10-13_ (Target Date Friday, Oct 7, 2008) 451 452**Note:** This release was abandoned since it caused a regression (Issue 58) bug. 453 454 * Includes updated parser for JSON that supports much larger strings. For example, Gson 1.2 failed at parsing a 100k string, Gson 1.2.1 has successfully parsed strings of size 15-20MB. The parser also is faster and consumes less memory since it uses a token match instead of a recursion-based Grammar production match. See Issue 47. 455 * Gson now supports field names with single quotes ' in addition to double quotes ". See Issue 55. 456 * Includes bug fixes for issue 46, 49, 51, 53, 54, and 56. 457 458 459## Version 1.2 460 461_2008-08-29_ (Target Date Tuesday Aug 26, 2008) 462 463 * Includes support for feature requests 21, 24, 29 464 * Includes bug fixes for Issue 22, Issue 23, Issue 25, Issue 26, Issue 32 , Issue 34, Issue 35, Issue 36, Issue 37, Issue 38, Issue 39 465 * Performance enhancements (see r137) 466 * Documentation updates 467 468 469## Version 1.1.1 470 471_2008-07-18_ (Target Date Friday, Aug 1, 2008) 472 473 * Includes fixes for Issue 19, Partial fix for Issue 20 474 475 476## Version 1.1 477 478_2008-07-01_ (Target Date Thursday, July 3, 2008) 479 480 * Includes fixes for Issue 9, Issue 16, Issue 18 481 482 483## Version 1.0.1 484 485_2008-06-17_ (Target Date Friday, Jun 13, 2008) 486 487 * Includes fixes for Issue 15, Issue 14, Issue 3, Issue 8 488 * Javadoc improvements 489