Release History

Version Date Description
2.4 2010-12-14
2.3 2009-07-11
2.2.3 2008-12-08
2.2.2 2008-06-07
2.2.1 2008-02-08
2.2 2007-12-20
2.1 2007-10-08
2.0 2007-07-20
2.0a3 2007-07-10
2.0a2 2007-06-07
2.0a1 2007-05-22
1.1 2007-03-31
1.0.1 2007-02-27
1.0 2007-02-11
1.0b2 2007-01-20
1.0b1 2006-12-18
0.9 2006-10-12
0.8 2006-08-29
0.7.1 2006-08-09
0.7 2006-08-07
0.6 2006-07-24
0.4 2006-07-11
0.2 2006-07-01

Release 2.4 - 2010-12-14

Type Changes By
fix JSONObject.toBean does not process Lists Fixes 2843623. Andres Almiray
fix Groovy script JsonGroovyBuilder not working Fixes 2652213. Andres Almiray
fix JsonGroovyBuilder does not work from Groovy script Fixes 3022109. Andres Almiray
fix GJson.enhanceClasses() not working Fixes 3030517. Andres Almiray
fix Permgen memory leak with ThreadLocal Fixes 2991816. Andres Almiray
fix JSONSerializer.toJSON().toString() -> result != source Fixes 2692698. Andres Almiray
fix String start with "[" and end with "]" parsed error. Fixes 3047519. Andres Almiray
fix Source is not passed to the NewBeanInstanceStrategy Fixes 2616780. Andres Almiray
fix Binaries and source files desynchronized Fixes 3096454. Andres Almiray
fix Sources jar not match json-lib-2.3-jdk15.jar Fixes 3052887. Andres Almiray
fix Allow bean processors to use json-lib's default processor. Thanks to Scott Bronson(provided patch) Fixes 2131185. Andres Almiray
fix Morphing elements in JSONArray.toCollection. Thanks to Arnout Engelen (provided patch) Fixes 2929940. Andres Almiray
fix A string starting and ending with quotes is badly parsed. Thanks to Sascha Theves (provided patch) Fixes 2893329. Andres Almiray
fix JsonGroovyBuilder does not work from Groovy script. Thanks to Sergey Bondarenko (provided patch) Fixes 3022114. Andres Almiray
fix Better support for parsing numbers. Thanks to Chirag Shah (provided patch) Fixes 3123950. Andres Almiray

Release 2.3 - 2009-07-11

Type Changes By
fix Maps with non-String keys throw ClassCastException Fixes 2795511. Andres Almiray
fix Incorrect event firing on cycles Fixes 2799533. Andres Almiray
fix JSONObject Map.size() implementation is incorrect. Thanks to Earl Nolan (provided testcase) Fixes 2807279. Andres Almiray
fix Annotation filter Fixes 2818666. Andres Almiray
fix net.sf.json.util.JSONUtils.isFunction() locks. Thanks to Ian Wolfcat Atha (provided patch) Fixes 2817570. Andres Almiray
fix Inconsistent license between the source file and project Fixes 2779977. Andres Almiray
fix Support for reading both properties and public fields Fixes 2513691. Andres Almiray
fix undefined not an acceptable parser token Fixes 2776558. Andres Almiray
fix Allow JSONArray/JSONObject to be Serializable Fixes 2431487. Andres Almiray
fix JsonValueProcessor not processing primitive arrays (breaking change!) Fixes 2682840. Andres Almiray
fix Memory Leak in Cycle Detection Fixes 2665846. Andres Almiray
fix Problems detecting an unreadable property Fixes 2565295. Andres Almiray
fix Log level: warn vs. info for skipped properties Fixes 2792844. Andres Almiray
fix Improve exception message on NewBeanInstanceStrategy. Thanks to Henrik Johansson (provided patch) Fixes 2790052. Andres Almiray

Release 2.2.3 - 2008-12-08

Type Changes By
fix JSONUtils not thread safe Fixes 2270596. Andres Almiray
fix Array of Maps with null key causes exception Fixes 2383773. Andres Almiray
fix JsonSlurper.parse(Reader) does not work correctly. Thanks to Tom Nichols (provided testcase) Fixes 2408679. Andres Almiray
fix JavaScript functions as quoted strings in values Fixes 2140653. Andres Almiray
fix Infinite loop in JSONArray._fromJSONTokener Fixes 2063201. Andres Almiray
fix Performance improvement for JSONUtils.quote Thanks to Peter Schubert (provided a patch) Fixes 2020482. Andres Almiray
add Excludes should allow for exclusions based on class Fixes 1969942. Andres Almiray
fix JSONArray and ListIterator Fixes 1996038. Andres Almiray
add Define reverse PropertyNameProcessor Fixes 1996152. Andres Almiray
add Add class name to skipped properties messages Fixes 2005661. Andres Almiray

Release 2.2.2 - 2008-06-07

Type Changes By
fix Inner beans not deserialized when using PropertySetStrategy Fixes 1974904. Andres Almiray
fix JsonVerifier does not account for Short values Fixes 1984546. Andres Almiray
fix Propagation of JsonConfig in JSONObject methods. Thanks to Ales Novy (provided a patch) Fixes 1976920. Andres Almiray
fix Performace patch in JSONUtil. Thanks to Ales Novy (provided a patch) Fixes 1976839. Andres Almiray
fix Json-lib cannot parse functions with more than one argument Fixes 1955163. Andres Almiray
fix Parsing error with line break after "function()" Fixes 1952095. Andres Almiray
fix XML/JSON roundtrip looses types Fixes 1942571. Andres Almiray
fix Does not support xml-json rules properly Fixes 1919005. Andres Almiray
add Add a strategy for mutating a bean's property name Fixes 1942504. Andres Almiray
add Interface Fields Support Fixes 1913932. Andres Almiray
add Added JsonSlurper Andres Almiray

Release 2.2.1 - 2008-02-08

Type Changes By
add Force top JSONObject while reading from XML Fixes 1889982. Andres Almiray
add Add a CycleDetectionStrategy that skips the property Fixes 1889973. Andres Almiray
fix Json-lib 2.1 jar contains groovy metaclass Fixes 1843114. Andres Almiray
add Need configurable JsonValueProcessorMatcher Fixes 1873231. Andres Almiray
add Use order-preserving map in JSONObject Fixes 1858073. Andres Almiray
add Add a skipWhitespace flag to XMLSerializer Fixes 1875695. Andres Almiray

Release 2.2 - 2007-12-20

Type Changes By
add JSONUtils.mayBeJSON is broken Fixes 1855019. Andres Almiray
add Add support of Sets in JSONObject.toBean Fixes 1847116. Andres Almiray
add Add a chained version of remove to JSONObject. Andres Almiray
add Initial generics support. Many thanks to Matt Small (and WaveMaker) (provided patch and tests). (rolled-back) Andres Almiray
add Don't require the user to register Enum morphs by hand Fixes 1832146. Andres Almiray
fix Ignore getters annotated with @Transient. Thanks to Dan Fabulich (provided workaround) Fixes 1832041. Andres Almiray
fix Use private no-arg constructors when available. Thanks to Dan Fabulich (provided workaround) Fixes 1832047. Andres Almiray
fix Enums should be serialized by name(), not by String.valueOf. Thanks to Dan Fabulich (provided workaround) Fixes 1832139. Andres Almiray
fix NewBeanInstanceStrategy ignored when you pass a root obj Fixes 1832055. Andres Almiray
add Extra quotes on string values with {} and [] Andres Almiray
add JSONArray.toArray can't transform from String[] to int[] Fixes 1828093. Andres Almiray
add Encoding problem of XMLSerializer#writeDocument. Thanks to Masato Nagai (provided a patch) Fixes 1819159. Andres Almiray
add Allow direct property acces when transforming JSON to Java. Thanks to Gino Miceli (provided a patch) Fixes 1815457. Andres Almiray
add Allow default value to be changed when a reference is null Fixes 1815456. Andres Almiray
add Allow 'type' to be parsed from XML to JSON Fixes 1813520. Andres Almiray
fix JSONObject.toBean throws NPE with JSONArray values. Thanks to Mino Togna (provided a testcase) Fixes 1813301. Andres Almiray
fix Byte and Short arrays throw an IllegalArgumentException Fixes 1812682. Andres Almiray

Release 2.1 - 2007-10-08

Type Changes By
fix Customize bean instantiation in JSONObject.toBean() Fixes 1808430. Andres Almiray
fix Enable custom selection of JsonBeanProcessors. Fixes 1806171. Andres Almiray
fix JSONObject/JSONArray are not thread safe. Thanks to Yee_Keat Phuah (provided a patch). Fixes 1798641. Andres Almiray
fix Allow attribute filters on method fromObject Fixes 1789704. Andres Almiray
fix Add support for java.sql.Date in JsDate*Processors Fixes 1785314. Andres Almiray
fix Move JSONSerializer's configuration to JsonConfig Fixes 1784862. Andres Almiray
fix JsonConfig should not be singleton Fixes 1784859. Andres Almiray
fix Setter always passes in Object[]. Thanks to jcue786[at]users[dot]sourceforge[dot]net Fixes 1769578. Andres Almiray
fix JSONArray.toArray always returns array of type Object[]. Thanks to sebthom[at]users[dot]sourceforge[dot]net Fixes 1769559. Andres Almiray
fix JSONObject.toBean() empty string error [jettison integration]. Thanks to jcue786[at]users[dot]sourceforge[dot]net Fixes 1764768. Andres Almiray
fix JSONObject.toBean() Error with nested bean arrays Fixes 1763699. Andres Almiray
fix JSONObject.get() doesn't follow java.util.Map contract Fixes 1760194. Andres Almiray

Release 2.0 - 2007-07-20

Type Changes By
fix Bean property of type String is transformed to JSONArray. Thanks to sckimos[at]gmail[dot]com Fixes 1753528. Andres Almiray
add Make exceptions thrown by toBean() more explicit. Thanks to Oliver Zyngier Fixes 1751973. Andres Almiray

Release 2.0a3 - 2007-07-10

Type Changes By
add Add JRuby support Fixes 1748029. Andres Almiray
add Support cycle detection in static builders Fixes 1747394. Andres Almiray
fix JDK 1.4 compatibility. Thanks to Marcelo Liberato (provided a patch) Fixes 1746838. Andres Almiray
fix JSONArray.put(long) not behaving properly for longs > 1L<<62. Thanks to Mathias Herberst (provided a patch) Fixes 1746272. Andres Almiray
fix Error in Attributes conversion from xml to json in 2.0a2 Fixes 1739066. Andres Almiray
add Add readFromFile to XMLSerializer Fixes 1739247. Andres Almiray

Release 2.0a2 - 2007-06-07

Type Changes By
add Added StringMetaClass for type conversion Andres Almiray
add Added ArrayListMetaClass for type conversion Andres Almiray
add Added HashMapMetaClass for type conversion Andres Almiray
add Add a JSONBuilder (like Grails) Fixes 1656301. Andres Almiray
add Add leftShift (Groovy) operator support Fixes 1728997. Andres Almiray
add Make JSONObject/JSONArray Comparable Fixes 1728993. Andres Almiray
add Support for preventing JavaScript Hijacking in web env Fixes 1693562. Andres Almiray
add Add SAX-like event support Fixes 1681775. Andres Almiray
add Added primitive support for JSONObject.accumulate() Andres Almiray
update JSONObject.element() will not call accumulate() as it previously did Andres Almiray
update Removed duplicated code on JSONObject and JSONArray Andres Almiray

Release 2.0a1 - 2007-05-22

Type Changes By
update Renamed JSONObject.putOpt to JSONObject.elementOpt Andres Almiray
update Renamed JSONObject.put to JSONObject.element Andres Almiray
update Renamed JSONArray.put to JSONArray.element Andres Almiray
update Added assertNull and assertNotNull to JSONAssert Andres Almiray
fix Skip transient field in a class Fixes 1715483. Andres Almiray
fix Make JSONArray an implementation of java.util.List Fixes 1656299. Andres Almiray
fix Make JSONObject an implementation of java.util.Map Fixes 1656297. Andres Almiray
fix Add type handler support Fixes 1636658. Andres Almiray
fix Add POGO support Fixes 1656300. Andres Almiray
fix option to remove the double-quote around the property name Fixes 1694877. Andres Almiray
fix JSONAssert accepts unequal JSONArrays, JSONObjects. Thanks to dcrosta[at]users[dot]sourceforge[dot]net (provided a patch) Fixes 1713184. Andres Almiray
fix JSONUtils.stripQuotes generates an Exception. Thanks to Rodrigo Pantoni and Thomas Spiegl Fixes 1719662. Andres Almiray
fix Optional space trimming when reading XML Fixes 1693658. Andres Almiray
fix Optional removal of namespace prefixes when reading XML Fixes 1693654. Andres Almiray
fix Skip namespaces when reading from XML Fixes 1693652. Andres Almiray

Release 1.1 - 2007-03-31

Type Changes By
update Updated FAQ and Getting Started guide Andres Almiray
update Added NoopJavaIdentifierTransformer and made it the default (performs no conversion) Andres Almiray
add XMLSerializer can not handle namespace declarations Fixes 1690942. Andres Almiray
add [Regression] toBean() fails with namespaced properties Fixes 1690941. Andres Almiray
add Allow transformation of key values to proper Java identifier Fixes 1684034. Andres Almiray
add Upgrade XML support Fixes 1656551. Andres Almiray
update Promoted length() to JSON interface Andres Almiray
add Skip type information when writing XML Fixes 1679986. Andres Almiray
add Move child properties to parent when writing XML Fixes 1679985. Andres Almiray
add Allow parsing of duplicate properties Fixes 1679982. Andres Almiray

Release 1.0.1 - 2007-02-27

Type Changes By
fix [Compatibility] Constructor JSONObject( String) does not work Fixes 1670146. Andres Almiray

Release 1.0 - 2007-02-11

Type Changes By
Removed deprecated classes Andres Almiray
fix String property incorrectly parsed as an array. Tests provided by paulfield[at]users[dot]sourceforge[dot]net & ekeogh[at]thoughtworks[dot]com Fixes 1650535. Andres Almiray

Release 1.0b2 - 2007-01-20

Type Changes By
update Updated javadocs Andres Almiray
update Moved interface JSONTypes to net.sf.json.xml Andres Almiray
update Deprecated JSONDynaBean, JSONDynaClass & DynaBeanToBeanMorpher. Use MorphDynaBean, MorphDynaClass & BeanMorpher from EZMorph instead Andres Almiray
Removed net.sf.json.util.CDL, repeated functionality Andres Almiray
fix JSONDynaBean nested arrays not treated as an array. Test provided by arco.vandenheuvel[at]points[dot]com Fixes 1635890. Andres Almiray
fix JSONArray does not transforms byte[], short[] and long[] Fixes 1630742. Andres Almiray
fix JSONArray is missing validation on float[] and double[] Fixes 1630736. Andres Almiray
fix Validate ECMAScript max & min Number values. (rolled-back) Fixes 1630258. Andres Almiray
fix JSONArray.put does not use excludes Fixes 1622676. Andres Almiray
fix JSONObject.put does not use excludes Fixes 1622675. Andres Almiray
fix JSONArray does not pass excludes Fixes 1622674. Andres Almiray

Release 1.0b1 - 2006-12-18

Type Changes By
add Added JSONAssert for easy JSON testing Andres Almiray
add Updated JSONFunction constructor for correct length of parameters Andres Almiray
update Updated javadocs and site docs Andres Almiray
update Only default constructors are public (JSONObject & JSONArray) Andres Almiray
update Class objects are converted to Strings (toJSON) and back (toJava) Andres Almiray
fix Skip a property without write method Fixes 1614276. Andres Almiray
fix Skip a property without read method Fixes 1614275. Andres Almiray
fix Annotation should not be transformed Fixes 1614273. Andres Almiray
fix Change IAEs for JSONException Fixes 1614278. Andres Almiray
fix JSONObject tries to access Enum.getDeclaringClass() Fixes 1613402. Andres Almiray
fix Inspect property's value type in factory methods Fixes 1611204. Andres Almiray
fix Support different encodings on XmlSerializer Fixes 1610979. Andres Almiray
fix JSONDynaClass allows multidimensional arrays Fixes 1608212. Andres Almiray
fix Primitives support for JSONDynaBean Fixes 1607448. Andres Almiray
fix Support Java 1.5 Enum in JSONObject and JSONArray Fixes 1557286. Andres Almiray
fix JDK 1.3 RuntimeException is not nestable Fixes 1606609. Andres Almiray
fix Add printer friendly methods to JSON interface Fixes 1602386. Andres Almiray
fix JSONArray fails to convert an array of BigDecimals/BigInteger Fixes 1596168. Andres Almiray
fix Nested Lists were not handled properly in JSONObject.toBean() Fixes 1592799. Andres Almiray

Release 0.9 - 2006-10-12

Type Changes By
add Added FAQ and "Who is using it" sections Andres Almiray
add Added new JSONSerializer utility class Andres Almiray
add Added new interface JSON to identify a valid JSON type (JSONObject, JSONArray, JSONNull) Andres Almiray
add Added support for JSONString in builders and value setters Andres Almiray
update Removed JSONObject.append() as it was very similar to JSONObject.accumulate() Andres Almiray
update JSONObject and JSONarray will convert Byte/Short/Long to Integer, Float to Double when needed Andres Almiray
update JSONArray.fromObject now allows creation of a single element array (all valid types) Andres Almiray
update Cleaned up the core API, moved mixed purpouse classes to net.sf.json.util Andres Almiray
update Updated front page and howto documentation Andres Almiray
fix Multiple nested JSONException Fixes 1564992. Andres Almiray
fix JSONObject.toBean() generates a ClassCastException Fixes 1553617. Andres Almiray

Release 0.8 - 2006-08-29

Type Changes By
add Refactored converter package into EZMorph (http://ezmorph.sourceforge.net) Andres Almiray
add Added RegexpUtils for easy regexp handling Andres Almiray
add Added more tests Andres Almiray
update Updated "Getting Started" documentation Andres Almiray
update Moved RegexpMatchers to package net.sf.json.regexp Andres Almiray
fix Perl5RegexpMatcher is missing a return statement Fixes 1543117. Andres Almiray
fix JSONObject.toBean must handle interfaces Fixes 1542104. Andres Almiray
fix JSONObject.toBean can not process all nested beans Fixes 1542092. Andres Almiray
fix JSONArray did not create multidimensional arrays correctly Fixes 1540196. Andres Almiray
fix JSONObject's fromObject() and fromBean() did not support DynaBeans properly Fixes 1540137. Andres Almiray
fix XmlSerializer writes wrong JSONFunction data Fixes 1538330. Andres Almiray
fix JSONObject.fromObject() does not work properly when passed a boolean as parameter in JVM 1.5+ Fixes 1538095. Andres Almiray

Release 0.7.1 - 2006-08-09

Type Changes By
fix Json-lib had wrong class numbers for JDK 1.3.1 Fixes 1537557. Andres Almiray

Release 0.7 - 2006-08-07

Type Changes By
fix Make Json-lib JDK 1.3.1 compatible Fixes 1529946. Andres Almiray

Release 0.6 - 2006-07-24

Type Changes By
add Added support for DynaBean and java bean conversions Andres Almiray
update Updated the XML generated by XMLSerializer. JSONArray uses <a> for root element, JSONObject uses <o> for root element Andres Almiray
update Updated usage documentation Andres Almiray

Release 0.4 - 2006-07-11

Type Changes By
add Added test suites for each package and for full project Andres Almiray
fix Support js functions as type Fixes 1516306. Andres Almiray
update Moved common methods of JSONObject, JSONArray to JSONUtils Andres Almiray
update Renamed XML to XMLSerializer. Now uses XOM to parse documents Andres Almiray
update Moved common assertion methods to Assertions (tests) Andres Almiray
Deleted HTTP related classes Andres Almiray

Release 0.2 - 2006-07-01

Type Changes By
add First release Andres Almiray