Skip to content

Releases: x448/senml

v0.4.1 (Feb 18, 2020)

19 Feb 02:05
a91c47c
Compare
Choose a tag to compare

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)

10 Dec 05:19
Compare
Choose a tag to compare

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

10 Dec 04:54
7873dc5
Compare
Choose a tag to compare

Bump fxamacker/cbor to v1.3.3 and modify first comment in senml.go to identify project.

v0.2.0

27 Nov 17:55
17206d4
Compare
Choose a tag to compare

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

26 Nov 20:49
91a2767
Compare
Choose a tag to compare

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.