Skip to content

6.0.0

Compare
Choose a tag to compare
@mtrevisan mtrevisan released this 13 Oct 09:49
· 19 commits to master since this release
  • Improve error messages and handling in encoding and decoding process.
  • Now it's possible to extends a codec.
  • Now it's possible to annotate a custom annotation, creating a default.
  • Added `ContextParameter` annotation which assigns a constant or calculated value to a parameter that will be added to the context before processing; each context parameter is created before a field is decoded or encoded and removed as soon as the field processing completes.
  • Added `enumerations` key in template and configuration descriptions.
  • Added `Generator`, to create an annotated `Template` and `ConfigurationMessage` from a description generated by the `Describer` (an enumeration is represented as an array of strings, each string is a pair `()`, where `name` is the name of the enum element, and `value` is a number associated with the element; context data are ignored).
  • Added long description and unit of measure attribute to `BindBitSet`, `BindInteger`, `BindObject`, `BindString`, `BindStringTerminated`, `Evaluate`, and `PostProcess` annotations.
  • Fixed bug on missing `annotationType` in alternatives' description.
  • 2× in speed with respect to previous version due to efficient use of (configurable) memoizers (see `Parser`) and other improvements.
  • Custom `DeviceTypes` code length (no longer bounded to be a `byte`).