Revision history for CBOR-Simple
0.1.0 2021-09-09
[Breaking Changes]
- Date objects (*not* DateTime) are now properly serialized as tag 100,
instead of serializing them as a DateTime with zeroed time components
[Docs]
- Vastly expanded Pod/README docs, with several new sections
- Support status details for every CBOR tag known to IANA
[Tags]
- Detection of invalid tag numbers
- Support manual tag wrapping using CBOR::Simple::Tagged wrapper objects
- Support delayed/lazy-decoding tags
* 24: encoded CBOR value
* 63: encoded CBOR Sequence
- Support for several other new tags
* 31: absent value
* 100: Date expressed as days since epoch
* 258: Set
* 259: Map with object keys
* 264: Decimal fraction with arbitrary exponent
* 265: Bigfloat with arbitrary exponent
* 275: Map with only string keys
* 1004: Date expressed as yyyy-mm-dd string
* 55800: Self-described CBOR Sequence
[Tests]
- Refactored common code
- Improved encodes-to descriptions
- Added malformed tests section for tag syntax/content requirements
- Dropped perf-test script in favor of pointing users to serializer-perf
0.0.9 2021-06-07
- Lots of small-to-medium performance improvements for *non-packed* data
- Encode ±Inf and NaN as 16 bit floats if possible
0.0.8 2021-05-12
- Partial support for RFC 8746 Typed Arrays tag
* Common code and constants
* Packed num arrays, both encode and decode
(2+ orders of magnitude faster than unpacked Num arrays)
* Fallback support for encoding intarrays that encodes as standard Arrays
- Version dependency on TinyFloats
0.0.7 2021-05-02
- Improve performance in many small (a few %) to medium (2x) ways,
both for encoding and decoding
0.0.6 2021-04-29
[Diagnostics]
- Add cbor-diagnostic($cbor) routine to decode into text diagnostics
- Add RFC 8949 Appendix A diagnostic tests
[Tags]
- Support decoding Decimal Fraction (4) and Bigfloat (5) tags
- Support 'self-describing CBOR' tag (55799)
- Switch epoch time tag (1) to decode as Instant
[Docs]
- Improve README
0.0.5 2021-04-26
- Support parsing 16-bit floats, using the new TinyFloats module
0.0.4 2021-04-24
- perf-test script added to tools/
- More general performance optimization
- Now requires nqp for nqp::istype (which sped type testing quite a bit)
0.0.3 2021-04-22
- Low-hanging fruit performance optimizations
- Enum and magic number reform
- Minor tweaks
0.0.2 2021-04-21
- Massive improvement; aside from num16, handles most core functionality
0.0.1 2021-04-20
- Initial version, very incomplete