The format is based on Keep a Changelog.
JSON
: addedasNumber
,asNumberOrNull
,asNumberOr()
andasNumberOrError()
extension values / functionsJSON
,JSONTypeException
: renamed parametertarget
toexpected
JSON
: cosmetic changes to comments- tests : switched to
should-test
library
JSONString
: fixed bug intoJSON()
JSON
: addedtoJSONArray()
andtoJSONObject()
extension functionsJSON
,JSONObject
: addedof()
functions taking vararg array ofJSONObject.Property
JSON
,JSONObject
: addedDuplicateKeyOption
to functions creatingJSONObject
fromList
JSONArray
,JSONNumber
,JSONObject
,JSONValue
: added pseudo-constructor functionsJSONObject
: addedrefersTo
infix function to createJSONObject.Property
JSONArray
,JSONBoolean
,JSONDecimal
,JSONInt
,JSONLong
,JSONObject
,JSONString
,JSONValue
,Parser
,ParseException
,AbstractBuilder
: minor code style changes
JSONArray
,JSONDecimal
,JSONInt
,JSONLong
,JSONObject
,JSONString
: minor optimisation totoJSON()
JSONObject
,Parser
,ParseOptions
: added duplicate key option (breaking change)JSON
: addedparseJSONValue()
,parseJSONArray()
andparseJSONObject()
JSONInt
,JSONLong
: simplifiedequals()
to avoid compiler problemJSONArray
,JSONObject
: updatedequals()
for consistency
pom.xml
: updated dependency version
JSONObject
: addedforEachProperty()
pom.xml
: updated dependency version
JSONTypeException
,ParseException
,pom.xml
: switched to usekjson-exception
JSONException
build.xml
,deploy.yml
: tidied up following conversion to GitHub Actionspom.xml
: updated Kotlin version to 1.9.24JSONInt
,JSONLong
,JSONDecimal
: modify for deprecation in Kotlin 1.9.x (These would not normally be breaking changes, but the major version should have been updated for version 7.4 because of renaming of several functions)
build.yml
,deploy.yml
: converted project to GitHub Actions
Parser
: minor restructureREADME.md
: minor clarifications
.travis.yml
SystemProperty
: system property access utilities
JSON
: addeddefaultOutputBuilderSize
propertyJSONString
: addedbuild { }
functionJSONValue
(and implementing classes): renamedoutput
tooutputTo
,coOutput
tocoOutputTo
; deprecated previous versionsJSONArray
: renamedoutputJSONLines
tooutputJSONLinesTo
,coOutputJSONLines
tocoOutputJSONLinesTo
,appendJSONLines
toappendJSONLinesTo
; deprecated previous versions- several: small performance tweaks
JSON
: addedasXxxxOr()
functionsJSONStructure
: switched to useasXxxxOr()
functions- several: switched to more idiomatic Kotlin
JSONObject
,JSONArray
: switched to delegation patternpom.xml
: updated dependency version
JSONObject
: changedJSONProperty
to a nested classProperty
withinJSONObject
(Strictly speaking, this is a breaking change, but I'm assuming that the probability of anyone having created code using version 7.0 that will break under 7.1 is close to zero, particularly given the short time between releases.)
JSONProperty
JSONProperty
:typealias
for theJSONObject
map entry
JSONObject
: changed to also implementList
(as well asMap
) to allow simple iteration over properties
JSONException
: ensuremessage
is always non-null
JSON
: simplifieddisplayValue()
function
JSONException
,JSONIncorrectTypeException
(renamedJSONTypeException
): simplified exceptions
pom.xml
: updated dependency versions
JSONArray
: switched to use Kotlin intrinsic functionsJSONDecimal
: minor simplification ofequals()
JSON
: simplifiedappendElided()
pom.xml
: updated dependency versions- many files: Added more KDoc
- many files: Added KDoc
pom.xml
: updated dependency versions
pom.xml
: updated Kotlin version to 1.8.22
AbstractBuilder
: generic base forBuilder
classes inJSONArray
andJSONObject
Parser
,JSON
: added handling of JSON LinesJSONArray
,JSONObject
: optimisedBuilder
classespom.xml
: updated parent POM versiondiagram.dia
,diagram.png
: added new functionsParser
,ParseOptions
: added check for excessive nestingJSONArray
,JSONObject
: changed to useAbstractBuilder
pom.xml
: updated dependency version
pom.xml
: updated dependency versions
ParserConstants
,ParserErrors
: split out fromParser
to allow access fromkjson-stream
LookupSet
: to allow definitions to be shared withkjson-stream
JSON
: addedasXxxxOrError()
functionsJSONStructure
: switched to useasXxxxOrError()
functionsParseOptions
: addedDEFAULT
pom.xml
: updated Kotlin version to 1.7.21README.md
: expanded documentation
JSONArray
,JSONObject
: added optimisationsJSONArray
: addedforEachItem()
JSONObject
: addedforEachEntry()
,forEachKey()
,forEachValue()
pom.xml
: updated dependency versions
JSON
: added array handling toelidedValue()
JSONObject
,JSONArray
: added deprecations forJSONObject.asObject
andJSONArray.asArray
JSONBoolean
,JSONDecimal
,JSONInt
,JSONLong
,JSONString
: added optimisations forasXxxx
JSONIncorrectTypeException
,JSON
,JSONStructure
: generalised exception to be more usable from other packages
JSON
: madetypeError()
function public (for use fromkjson-pointer
)JSONIncorrectTypeException
: clarified and standardised error message
JSONIncorrectTypeException
: contains details of incorrect type conversion
JSONStructure
: added parameter for type of key (breaking change for some), addedgetXxxx()
functionsJSONArray
,JSONObject
: changed to use parameter onJSONStructure
JSON
: changedasXxxx
properties to useJSONIncorrectTypeException
pom.xml
: updated dependency versions
pom.xml
: updated dependency versions
pom.xml
: updated dependency versions
JSONArray
: fixed possible bug in object creationJSONArray
,JSONObject
: added@Suppress
for known warningspom.xml
: updated dependency versions
JSONNumber
: renamed fromJSONNumberValue
(breaking change for some)JSONNumber
: now also implementsJSONValue
JSONStructure
: addedisNotEmpty()
JSON
: addedmaxString
parameter todisplayValue()
JSON
: addedelidedValue()
function
ParseOptions
: options to control lenient parsing
JSON
: addedparseNonNull()
functionParser
: added lenient parsing of duplicate keysJSONObject
: added ability to modifyBuilder
Parser
: added lenient parsing of quotes around object keysParser
: added lenient parsing of trailing commas
JSON
,JSONArray
,JSONBoolean
,JSONDecimal
,JSONInt
,JSONLong
,JSONObject
,JSONString
,JSONValue
: addedoutput
functions and non-blockingcoOutput
functionspom.xml
: bumped dependency versions
pom.xml
: bumped dependency versions
Parser
: minor improvementpom.xml
: bumped dependency versions
JSONStructure
,JSONPrimitive
: additional interfaces
JSONString
,JSONInt
,JSONLong
,JSONDecimal
,JSONBoolean
: implementJSONPrimitive
JSONArray
,JSONObject
: implementJSONStructure
JSONString
:subSequence()
now returnsJSONString
instead ofCharSequence
JSONArray
:subList()
now returnsJSONArray
instead ofList
JSONArray
,JSONObject
: minor optimisation inappendTo()
JSONInt
,JSONLong
,JSONDecimal
: take advantage of sealed classJSONNumberValue
README.md
,diagram.dia
,diagram.png
: expanded documentationpom.xml
: bumped dependency versions
JSONNumberValue
: changed to sealed class
JSON
: added more unsigned integer extension functionspom.xml
: bumped dependency versions
JSONNumberValue
,JSONInt
,JSONLong
,JSONDecimal
: added support for unsigned integers
pom.xml
: bumped dependency version
pom.xml
: bumped dependency versionsJSONObject
: modified for change toimmutables
JSONObject
: addedcontainsKey()
toBuilder
JSONObject
,JSONArray
: optimised builder when length = 0pom.xml
: bumped dependency versions
JSONNumberValue
,JSONInt
,JSONLong
,JSONDecimal
: added functions (isZero
etc.)JSON
: addedof()
function for array and objectREADME.md
: expanded documentation
pom.xml
: switched toint-output
library
pom.xml
: bumped dependency versions
JSONObject
,JSONArray
: addedbuild
functionsJSONDecimal
: added constructors from Int, LongJSONInt
,JSONLong
,JSONDecimal
: implementJSONNumberValue
functionsJSON
: addedasString
,asInt
,asLong
,asDecimal
,asBoolean
,asArray
,asObject
JSONNumberValue
: abstract class to help conversion between number types
JSONBoolean
: changedJSONBoolean
to anenum class
README.md
: added documentation
- all files: initial versions (work in progress)