Releases: x448/senml
v0.4.1 (Feb 18, 2020)
Changes include:
- Bump fxamacker/cbor from 1.5 to 2.1
- Bump x448/float16 from 0.8.3 to 0.8.4
- Fix coverage badge in README.md to point to more appropriate destination
The coverage badge now points to:
https://github.com/x448/senml/actions?query=workflow%3A%22cover+80.7%25%22
v0.4.0 (Jan 15, 2020)
Bump fxamacker/cbor to v1.5.
SenML uses floating-point data and will benefit from this update.
fxamacker/cbor v1.5 uses x448/float16 which had all 4+ billion conversions verified to be correct.
v0.3.0
v0.2.0
Release v0.2.0.
Intentionally tiny release so this project can be a single pull request to cisco/senml. Other changes like fixing spelling errors or refactoring were intentionally left out to reduce noise during comparison.
Changes include:
- bump fxamacker to v1.3.2.
- remove code I commented out (others in cisco/senml were left untouched).
v0.1.0
Disco SenML initial release on Nov 24, 2019. Retagged on Nov 26, 2019 with updated README.md.
Disco SenML is a fork of cisco/senml that resolves various issues. Programs are 4 MB smaller, CBOR representation no longer violates RFC 8428, and all unit tests pass.
All features are the same as cisco/senml except MessagePack support is removed.
This project fixes open issues in cisco/senml (4d43ea8, Oct 10, 2019):
- cisco/senml #2 (2016) "CBOR does not encode or decode numeric field names". (RFC 8428 violation)
- cisco/senml #18 (2017) "Base Value and Base Sum missing from the model.
- cisco/senml #22 (2019) "CBOR support uses go-codec which adds bloat to the binary.
There are no changes to core cisco/senml features except removal of MessagePack.
MessagePack was removed because it:
- increased bloat (cisco/senml #22) and attack surface.
- isn't mentioned in SenML RFC 8428.
- prevented having a CBOR library (fxamacker/cbor) as the only external dependency.
Changes to cisco/senml (4d43ea8, Oct 10, 2019):
- Compiled programs are each 4 MB smaller (senmlCat and senmlServer).
- CBOR representation uses integers for labels, so it no longer violates SenML RFC 8428.
- Missing Base Value and Base Sum are added to the model.
- Fixed bad test data in unit tests and added new CBOR test using example from
SenML RFC 8428 so all unit tests pass. - Removed MessagePack feature for reasons cited in README.md.
- Replaced ugorji/go with fxamacker/cbor.
- Use Go modules and have at least one tagged release.
- Require Go 1.12
- Added name to LICENSE.
- Updated README.md with new name "Disco SenML"
Known limitations:
- Go 1.12 or newer is required.
- Security Audit: I didn't conduct a security audit of cisco/senml or this project. A security audit is recommended.
- Code Review and Refactoring: I didn't perform any code review or refactoring beyond the bare minimum changes required to resolve cisco/senml issues 2, 18 and 22. Code review and refactoring is recommended.
Special thanks:
- Cullen Jennings for his work on RFC 8428 and cisco/senml. He did the heavy lifting in those, so changes to cisco/senml are trivial by comparison.
- Faye Amacker for adding requested features to her CBOR library that made this project easy.