Version: 0.9.4 Release date: 26-Nov-2008 Description: Another pre-1.0 release: this time significantly improving unit test coverage, fixing bugs uncovered by doing so, and addressing accumulated minor feature requests. Bug fixes: * [JACKSON-16]: JavaDocs regarding whether Jackson is to close underlying streams, readers and writers, were incorrect. Additionally added parser/generator features to allow specifying whether automatic closing is to be done by Jackson: feature is enabled by default, both for backwards compatibility, and because it seems like the right setting. * [JACKSON-18]: ArrayIndexOutOfBounds on IntNode, due to off-by-one problem with comparisons (reported by Michael D) * Fixed a problem with CR (\r) handling; was sometimes skipping characters (problematic if there's no indentation). * Multiple UTF-8 decoding fixes: was specifically not working for names. Improvements: * More complete JavaDoc comments for core public classes. * Internal cleanup of core parsing, to unify handling of Object and Array entries New features: * [JACKSON-9]: Add support for (non-standard) Json comments. (requested by Mike G) * [JACKSON-11]: Implement base64/binary methods for json generator. * [JACKSON-15]: Add copy-through methods to JsonGenerator for pass-through copying of content (copyCurrentEvent, copyCurrentStructure) * [JACKSON-23]: Add OSGi manifest headers for jars (to run on OSGi container). * Added generic "feature" mechanism to parsers, writers; features are togglable (on/off) things with well-defined default values, implemented as Enums. == History: == 0.9.3 [05-Sep-2008]: Bug fixes: * [JACKSON-5]: Symbol table construction was not thread-safe for utf-8 encoded content (new bug with 0.9.2, not present with earlier) (reported by Tudor B) * [JACKSON-8]: Serialization of BigDecimal broken with JavaTypeMapper (reported by Johannes L) * [JACKSON-14]: Problems with generic collections, serializer method signatures (due to lack of covariance wrt collection types) * Implicit conversions for numbers could sometimes lose accuracy, if floating-point number was first accessed as int/long, and then as a BigDecimal. * One Nasty NPE fixed from NameCanonicalizer (which was added in 0.9.2) New features: * [JACKSON-1]: JsonNode now implements Iterable so that it is possible use Java 5 foreach loop over array/object nodes. (suggested by Michael M) * [JACKSON-4] Added JsonParser.skipChildren() method. 0.9.2 [24-Apr-2008]: Bug fixes: * UTF-16/32 handling was not completely correct, was erroneously skipping first 2/4 bytes in some cases (even when no BOM included). Also, related unit tests added/fixed. Changes: * Replace JsonFactory.Encoding enum with JsonEncoding enum (NOTE: this is a backwards-incompatible API change) Improvements: * New higher performing UTF-8 scanner. 0.9.1 [14-Mar-2008]: New features: * JsonGenerator.useDefaultPrettyPrinter()/.setPrettyPrinter() allow for pretty printing (indentation). (thanks to Ziad M for suggestion, sample code) 0.8.0 - 0.9.0 [between 17-Oct-2007 and 14-Feb-2008]: Bug fixes: * Java type mapper had a bug in Collection mapping (mismatched calls between writeStartArray and writeEndObject!) (reported by Mike E) * Java type mapper had a bug which prevented custom mappers (as well as slower interface-based introspection) from working. (reported by Mike E) * Numeric value parsing had some problems * JavaTypeMapper and JsonTypeMapper had a bug which resulted in NullPointerException when stream ends, instead of returning null to indicate it. (reported by Augusto C) * JavaTypeMapper did not implicitly flush generator after mapping objects: it should, and now will (note: JsonTypeMapper not directly affected, flushing still needed) (suggested by Maciej P)