Zserio v2.4.0
The main goal of this release is to publish the following brand new language features:
Rules provide a way how to organize semantic restrictions for the schema which cannot be easily defined using constraints.
Packed arrays compress all integer types, enumeration types and bitmask types using delta compression.
Beside of that, Implicit arrays are deprecated in the language from this release.
Furthermore, the release contains the following new features in generated code:
- Types schema info in generated Python code
- New allocation strategy in generated C++ code
- New Zserio array types mapping in generated Java code
The release contains as well several bug fixes and improvements.
Fixes
#317 - Indexed offsets arrays can return wrong bit size
#318 - Offsets cannot be variable integer type
#325 - Template argument evaluation fails if top level package is specified
#326 - Improve checking of implicit arrays usage
#327 - Check never ending recursion via non-empty array
New Features
#308 - Add rules support into the language
#309 - Add delta compressed arrays support into the language
#329 - Add types schema info in generated Python code
#330 - Allow different memory allocation strategies in generated C++ code
Improvements
#311 - Remove support for 32-bit Windows platform
#312 - Render navigation bar in HTML created for markdown resources
#313 - Make java.util.List optional for java
#332 - Consider to deprecate implicit arrays
#338 - Add easy way to write a c++ object to a bit stream
#339 - Allow periods in rule IDs in rule_group
#343 - Check rule id uniqueness for all package