Releases: romshark/jscan
Releases · romshark/jscan
v2.0.2
- fix: Passing types derived from
string
or[]byte
toScan
,ScanOne
,Validate
orValidateOne
caused a nil-pointer deref panic. This was caused by a bad design decision to allow[S ~string | []byte]
and a default type-switch case missing. An iterator/validator instance is now dynamically allocated instead. jscan v3+ will no longer allow passing types likejson.RawMessage
and similar directly and will require the API user to convert explicitly. - perf: Number parsing performance has been improved slightly through refactoring.
- perf: The size of an
Iterator
instance has been reduced by 8 bytes on 64-bit systems. - test: A false positive was fixed in the jsonnum benchmark.
v2.0.1
- docs: Add a
Scan
example for parsing 2D int arrays. - test: Remove unnecessary dependencies by moving benchmarks comparing jscan to other Go modules to github.com/romshark/jscan-benchmark.
Full Changelog: v2.0.0...v2.0.1
v2.0.0
v2.0.0
- Introduce generic API accepting both
~[]byte
and~string
transparently. - Introduce reusable instantiatable validator & parser.
- Significantly improve performance on both ARM and X86 architectures.
- Introduce RFC-6901 JSON pointer support.
- Introduce
ScanOne
andValidateOne
functions for iterative reading of JSON values. - Improve API making it safer (iterator fields are no longer exposed and are retrieved via getters).
Full Changelog: v1.2.0...v2.0.0
v1.2.0
This version brings full compliance with RFC 8259, additional tests and performance improvements.
Full Changelog: v1.0.1...v1.2.0
P.S.
The jump from 1.0.1
to v1.2.0
was necessary to fix the latest tag on pkg.go.dev, which got stuck on the previously reverted v1.1.0
v1.0.1
Full Changelog: v1.0.0...v1.0.1