Releases: JuliaIO/JSON.jl
Releases · JuliaIO/JSON.jl
v1.4.0
JSON v1.4.0
JSON v1.4.0
New Features
- Export
@kwargmacro (#418) - Add cross-key-type support for
Object:Object{String}now acceptsSymbolkeys and vice versa forgetindex,setindex!,delete!,haskey,get(#420, #421) - Add
liftkeyfor numeric dict key types to enable round-trippingDict{Int,V},Dict{Float64,V}, etc. (#423)
Fixes
- Fix
@omit_null/@omit_emptymacros for parametric types (#425) - Fix misleading error message for
lowerkey(#426) - Documentation improvements (#411, #416)
Merged pull requests:
- Update documentation (#411) (@hyrodium)
- Bump actions/checkout from 5 to 6 (#413) (@dependabot[bot])
- Fix reading example of FrankenStruct (#416) (@simsurace)
- export
@kwargmacro (#418) (@hyrodium) - Fix getindex(::Object{String}, ::Symbol) and vice versa (#420) (@hhaensel)
- support both String and Symbol keys for all dict-operations on Objects (#421) (@hhaensel)
- Add liftkey for numeric dict key types (#423) (@quinnj)
- fix @omit_null/@omit_empty macros for parametric types (#425) (@quinnj)
- Fix misleading error message for lowerkey (#426) (@quinnj)
Closed issues:
- Parsing result of numbers depends on
allownan(#397) - The documentations for v1.x are not deployed (#409)
- Advanced Example: The FrankenStruct in the documentation throws an error (#410)
geterror when key not found (#412)- Unhelpful error message for
lowerkey(#414) - missing feature or unclear docs? (#417)
- Non-string Dict keys - regression from JSON3.jl (#422)
- Can't parse into BigInt (#424)
v1.3.0
JSON v1.3.0
Merged pull requests:
v1.2.1
JSON v1.2.1
Merged pull requests:
- Add support for parsing numbers as Int64 to JSONX (#396) (@JamesWrigley)
- Fix JSONX tests on 32bit (#403) (@JamesWrigley)
- [JSONX] Fix unicode handling when unescaping strings (#405) (@JamesWrigley)
- Treat array of pairs as object when writing. Fixes #398 (#406) (@quinnj)
- Ensure isvalidjson doesn't throw during LazyValue initial creation; f… (#407) (@quinnj)
Closed issues:
- Escape unicode character: u2028 (#309)
- add escapes suitable for HTML embedding (#320)
- Julia crashes with multithreaded JSON.parse (#341)
- Serialization of Pair and Vector{Pair} returns unexpected result (#398)
- Empty named tuple serialised incorrectly (#401)
- JSON.parse a Vector of {"key": key, "val": value} objects into a Dict (#402)
isvalidjsonthrows an error for invalidString(#404)
v1.2.0
v1.1.0
JSON v1.1.0
Merged pull requests:
- Minor changes to the README (#387) (@odow)
- Fix 32 bit support (#389) (@nhz2)
- Add check for positive float precision for non-shortest float_style (#393) (@quinnj)
- Implement
JSONX.JSONText(#394) (@JamesWrigley) - Use GC.preserve around string parsing (#395) (@quinnj)
Closed issues:
v1.0.1
JSON v1.0.1
Merged pull requests:
- Add
releasetrigger for CI workflow (#378) (@giordano) - Bump actions/checkout from 4 to 5 (#379) (@dependabot[bot])
- Bump julia-actions/setup-julia from 1 to 2 (#380) (@dependabot[bot])
- Fix a test failure from fuzz testing JSON.json (#382) (@quinnj)
Closed issues:
- type hints (#96)
- use_mmap leaves file open (#112)
- parsing of arrays results in array of type Any (#139)
- Reader generalization (#169)
- Make
indenta keyword argument? (#193) - JSON.parse fails for cweb/url-testing/master/urls.json (#232)
- Add JSON.jl to nst/JSONTestSuite (#233)
- Remove
Symbolconversion (#245) - Errors parsing big ints (#266)
- Failure of NST JSONTestSuite optional tests (#267)
- Proposal: Unified JSON API (#268)
- Testing fails (#269)
- FileIO compatibility (#276)
- Dense printing for long arrays (#291)
- Lower with respect to serialization context (#299)
- Unexpected end of input error when parsing input streams (#314)
- check if a given String is valid json (#323)
- Add
JSON.printfilefunction (#325) - Dict written as a String (#328)
- JSON.jl 1.0 roadmap? (#332)
- Pass
s::CSto all usage oflowerfor dispatch (#335) JSON.parse(read(io, String))is faster thanJSON.parse(io)(#339)- Feature: Allow specification of full dictionary type (#340)
- Allow for parsing multiple JSON objects in a single string/stream (#344)
- Reconstruct object from custom serialization (#346)
- Misaligned character/byte when throwing an error (#351)
- Parse bytes directly (#356)
- JSON.jl Float64 serialization (suppress scientific notation) (#367)
- Documentation for working with DataFrames (#372)
- Suggestion/feedback: Add documentation of how to save something to a file (#373)
- Measurements are getting serialized incorrectly (#375)
- 3-10x slowdown in parsing from JSON3.jl to v1 (#376)
v1.0.0
JSON v1.0.0
Breaking changes
show_json, Context and Serialization overloads have been removedinttypekeyword argument has been removed fromJSON.parse
New functionality
JSON.parse(json, T)now supports passing a type to parse the json as (similar to JSON3.jl-type functionality)JSON.parsenow supports additional keyword arguments:allownan,ninf,inf,nan,jsonlines,dicttype,null, andstyle. See?JSON.parsedocstring for details on these new keyword arguments.JSON.parsewill now return aJSON.Objectby default, which is a mutable, key-order-preserving drop-inDictreplacement that supports dot-access for keysJSON.lazyis a new function that allows for lazily accessing deeply nested properties of json objects/arraysJSON.isvalidjsonis a new function to check that input json is actually valid jsonJSON.jsonnow supports additional keyword arguments:omit_null,omit_empty,allownan,jsonlines,pretty,ninf,inf,nan,float_style,float_precision, andstyle. See?JSON.jsondocstring for more details on these.
Merged pull requests:
- See alternative package JSON3 (#333) (@PallHaraldsson)
- enable dependabot for GitHub actions (#353) (@ranocha)
- fix typos (#358) (@musvaage)
- Bump codecov/codecov-action from 1 to 3 (#360) (@dependabot[bot])
- Bump actions/checkout from 2 to 4 (#361) (@dependabot[bot])
- Bump julia-actions/setup-julia from 1 to 2 (#364) (@dependabot[bot])
- Remove false statement about Serde.jl (#368) (@giordano)
- [BREAKING] Package rewrite for a 1.0 release (#374) (@quinnj)
Closed issues:
- performance benchmarks (#59)
- question: JSON.json(array) (#93)
- Throw exceptions on unknown/unreasonable types (#108)
- Revise MemoryParserState (#235)
- Support JSON schema (#238)
- Reading past end of JSON data in a stream (#239)
- a little too much enthusiasm for unpacking objects without a JSON representation (#277)
- Parsing a dubious JavaScript/JSON file (#292)
- JOSN.print throws StackOverflow error (#334)
- parsefile: Windows unlink permission denied (#347)
- typos (#357)
- Why this json string cannot be parsed? (#365)
v0.21.4
JSON v0.21.4
Closed issues:
Merged pull requests:
- Update doc with correct parameterized function syntax (#336) (@o314)
- Introduce a recursive cycle check when writing (#345) (@quinnj)
- Use listenany for async tests; fixes #349 (#350) (@quinnj)
- Fix outdated grammar in "Documentation" in README.md (#352) (@singularitti)
- Bump version for new release (#355) (@quinnj)