Changelog History
Page 1
-
v1.3.6 Changes
November 10, 2020 -
v1.3.5 Changes
November 08, 2018๐ See the milestone for all changes.
๐ Security fix for several Denial Of Service vulnerabilities:
- ๐ CVE-2018-18853: Limit the number of characters for numbers in the parser (#278)
- CVE-2018-18854: Use TreeMap instead of HashMap for JsObject to prevent collision attacks (#277)
- ๐ CVE-2018-18855: Fix uncontrolled recursion in parser by limiting nesting depth (#286)
Thanks, Andriy Plokhotnyuk who brought the first two issues to our attention.
Migration Notes
๐ For some fixes, we added new limits to the parser:
- 0๏ธโฃ Maximum depth of nested JSON values, defaults to 1000
- 0๏ธโฃ Maximum characters for number values, defaults to 100
๐ We introduced a
JsonParserSettings
class which can be used to customize these limits. New overloads forJsonParser.apply
andString.parseJson
have been introduced to specify custom settings.๐จ Also, field ordering changed when printing a
JsValue
. UsejsValue.sortedPrint
if you want to be sure fields are always ordered the same. -
v1.3.4 Changes
October 24, 2017๐ This release is cross released for Scala 2.10, 2.11, 2.12 and 2.13-M2.
๐ It is mostly a small maintanance release in which some documentation was polished and for example the
sortedPrint
printer was added.Specific source-compatibility breaking edge-case : While binary compatibility remains working in this release, there is one specific edge case which can happen and be not source-compatible when upgrading to this version. The method
def pimpString
was made not-implicit, and replaced byimplicit def enrichString
, so if you previously imported the implicit specifically by its name, i.e. rather thanimport spray.json._
you wroteimport spray.json.pimpString
code relying on this change would now break. Please change it to import_
, which will bring in the required implicits.For a complete list of closed issues please refer to the milestone.
-
v1.3.3 Changes
December 29, 2016๐ 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
-
v1.3.2 Changes
November 02, 2016- ๐ 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
andJsObject
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
andJsNumber.zero
(#143) - ๐ Made
JsonParser
require complete consumption of parsing input (#137)
- ๐ Fixed performance bottleneck in
-
v1.3.2-2.12
November 02, 2016 -
v1.3.1 Changes
October 28, 2014- ๐ Fixed OutOfMemoryError when parsing unterminated JSON strings (#122)
- ๐ Fixed member names not being unmangled in ProductsFormats (#120)
-
v1.3.0 Changes
September 22, 2014- โฌ๏ธ 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)
-
v1.2.6 Changes
April 10, 2014- ๐ 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 inJsString
(#70) - ๐จ Opened up JsonPrinter methods to overriding by marking them
protected
- ๐ Deprecated
asJson
method in favor ofparseJson
(#89) - โ Added OSGi metadata
- โฌ๏ธ Upgraded to Scala 2.10.4 and parboiled 1.1.6, added cross-building for Scala 2.11
-
v1.2.5 Changes
May 31, 2013- ๐ Extended
jsonFormat
support for case classes w/ > 15 parameters, closed #48
- ๐ Extended