Highlights
- JSON output now supports per-call pretty printing, non-ASCII escaping, configurable byte-array formats including Base16, and explicit default-value omission.
- Scala and Kotlin JSON handling improves codec coverage and missing-field defaults, with additional GraalVM fixes for Java JSON accessors.
- Python adds collection-subclass support and fixes named-tuple and temporal-array-buffer handling.
Features
- perf(java): copy plain runs between escapes when decoding json strings by @pavel-ptashyts in #4058
- perf(java): share JSON reader and writer byte buffers by @chaokunyang in #4061
- feat(python): support collection subclass by @chaokunyang in #4063
- feat(java): improve json type support by @chaokunyang in #4064
- test(scala): cover documented fory-json-scala types and error paths by @pjfanning in #4070
- feat(json): add per-call pretty output for strings and bytes by @chaokunyang in #4073
- feat(json): add explicit default omission and Scala empty inclusion by @chaokunyang in #4074
- feat(json): add global byte array formats and Base16 support by @chaokunyang in #4075
- feat(json): support non-ASCII escaping by @chaokunyang in #4077
Bug Fix
- fix(java): guard LambdaGetterJsonAccessor and LambdaSetterJsonAccessor with GraalvmSupport.isGraalBuildTime() by @zhfeng in #4060
- fix(python): support named tuples and temporal array buffers by @chaokunyang in #4062
- fix(java): cache JSON method lambda visibility checks by @chaokunyang in #4071
- fix(json): correct Scala codecs and Scala/Kotlin missing-field defaults by @chaokunyang in #4072
- fix: decode remote schemas without caching after quota exhaustion by @chaokunyang in #4076
Other Improvements
- docs: update release version to 1.7.4 by @chaokunyang in #4065
New Contributors
- @pavel-ptashyts made their first contribution in #4058
Full Changelog: v1.7.4...v1.7.5