summaryrefslogtreecommitdiff
path: root/CHANGELOG
blob: bae279e3ad30777c2f46184c88d2b988511cb9ac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Version 1.3.3 (2016-12-29)
--------------------------

For Scala 2.12, this release brings no updates over 1.3.2 because the 2.12 release
of 1.3.2 was released from a later version of the master branch. Version 1.3.3
brings the artifacts for Scala 2.10 and 2.11 also to this latest state.

- Fixed decoding of 4-byte UTF-8 characters
- Refactored UTF-8 decoding into better reusable superclass
- Decode BigInt / BigDecimal values from JsString (#182)
- Cross published for Scala 2.10.x, 2.11.x, and 2.12.x

Version 1.3.2 (2015-05-06)
--------------------------
- Fixed performance bottleneck in `ProductFormats::fromField` (#132)
- Fixed multibyte chars at ix 0 of JSON String not being parsed correctly (#148)
- Fixed automatic field name discovery for member names with mangled prefix (#142)
- Reinstated deprecated `JsArray` and `JsObject` List-based constructors for backwards compatibility
- Added standard `OptionFormat` type (#151)
- Exposed field name in deserialization errors if possible
- Improved name unmangling in ProductFormats (#138)
- Introduced `JsObject.empty`, `JsArray.empty`, `JsString.empty` and `JsNumber.zero` (#143)
- Made `JsonParser` require complete consumption of parsing input (#137)


Version 1.3.1 (2014-10-28)
--------------------------
- Fixed OutOfMemoryError when parsing unterminated JSON strings (#122)
- Fixed member names not being unmangled in ProductsFormats (#120)


Version 1.3.0 (2014-09-22)
--------------------------
- Upgraded to Scala 2.11.2, dropped support for Scala 2.9
- Switched to fast, hand-written parser (#86, #108)
- Removed dependency on parboiled
- Changed parser to produce JsObject(HashMap) rather than JsObject(ListMap)
- Switched JsArray(List) to JsArray(Vector)
- Improved JsonPrinter to support printing to custom StringBuilder
- Added support for parameter-less case classes (#41)


Version 1.2.6 (2014-04-10)
--------------------------
- Improved deserialization error message with name of malformed field  (#62)
- Fixed broken `tuple7Format` (#66)
- Fixed parsing problem for invalid hex digits (#75)
- Fixed `jsonFormat` method to ignore static fields (#76)
- Fixed `JsonPrinter` unicode escaping to strictly match spec (#83, #46)
- Fixed `null` handling in `JsString` (#70)
- Opened up JsonPrinter methods to overriding by marking them `protected`
- Deprecated `asJson` method in favor of `parseJson` (#89)
- Added OSGi metadata
- Upgraded to Scala 2.10.4 and parboiled 1.1.6, added cross-building for Scala 2.11


Version 1.2.5 (2013-05-31)
--------------------------
- Extended `jsonFormat` support for case classes w/ > 15 parameters, closed #48


Version 1.2.4 (2013-05-13)
--------------------------
- Upgraded to 2.10.1 and parboiled 1.1.5
- Added RootJsonFormats for JsObject and JsArray
- Added a jsonFormat0 with support for 0-ary case classes, thx to Connor Doyle
- Fixed automatic field name extraction with ignoring of transient fields
- Slightly improved JSON rendering performance
- Upgraded to SBT 0.12.3


Version 1.2.3 (2012-11-28)
--------------------------
- Upgraded to 2.10.0-RC3 and parboiled 1.1.4
- Fixed rendering problem for certain unicode escapes


Version 1.2.2 (2012-10-16)
--------------------------
- Upgraded to parboiled 1.1.3


Version 1.2.1 (2012-10-15)
--------------------------
- Upgraded to parboiled 1.1.2
- Cross-published for Scala 2.9.2 and Scala 2.10.0-RC1


Version 1.2 (2012-10-12)
------------------------
- Upgraded to Scala 2.9.2 and parboiled 1.1.1
- Renamed group id from "cc.spray" to "io.spray"
- Renamed package from "cc.spray.json" to "spray.json"


Version 1.1.1 (2012-03-13)
--------------------------
- Fixed significant performance problem in JsonParser
- Improved automatic field name extraction for case classes


Version 1.1.0 (2012-02-01)
--------------------------
- Added automatic case class field name extraction via new jsonFormatX overloads
- Added 'asJson' extension method to Strings
- Added RootJsonFormat (JsonFormat for types corresponding to JSON document roots)
- Fixed problem of JSON object deserialization not being member-order independent
  (removed JsField, turned JsObject(List[JsField]) into JsObject(Map[String, JsValue]))
- Fixed issue #8 (Allow (de)serialization of NaN (Double)), thx to @stefritz
- Fixed #6 (rename JsValue:fromJson to 'convertTo', add .prettyPrint and .compactPrint)
- Improved deserialization error messages
- Upgraded to SBT 0.11.2


Version 1.0.1 (2011-10-04)
--------------------------
- Upgraded to Scala 2.9.1 and parboiled 1.0.2
- Improved (de)serialization of optional case class members (may now be missing)
- Added `NullOptions` trait for enforcing the serialization of `None` members as `null`
- Improved compile time error messages with @implicitNotFound annotations
- Improved documentation
- Smaller fixes and additions


Version 1.0.0 (2011-07-18)
--------------------------
first public release