Zserio v2.5.0
The main goal of this release is to publish the following new features in generated code:
- Types schema info in generated C++ code
- Reflection interface in generated C++ code
- Types schema info in generated Java code
This release contains the brand new language directive:
This release contains as well the following improvements in generated code:
- Redesign Service interface to use reflection in generated C++ code
- Passing original request object to service clients in generated C++ code
- Passing original request object to service clients in generated Java code
- Redesign encoding of packed arrays for compounds in generated C++, Java and Python code
Please note that redesign of encoding of packed arrays caused binary incompatibility between this release and all 2.4.x versions.
Thus, packed arrays written by API generated by 2.4.x versions cannot be parsed by API generated by this release.
The release contains as well several bug fixes.
Fixes
#219 - Functions return compound by value in C++
#340 - Inner classes and typedefs in generated C++ code can cause clashing
#353 - TypeInfo doesn't work with recursion
#360 - Implement warning if non-optional field depends on optional fields
#361 - HTML: Used-by links for template parameter types are not linking to instantations
#367 - StackOverflowError for schema with recursion in a template
#372 - Invalid error while instantiating template with instantiate type as a template argument
New Features
#103 - Introduce new Reflection interface for C++ emitter
#334 - Publish zserio Java libraries at Maven central
#351 - Add types schema info in generated Java code
#357 - Implement new command line argument for C++ reflection
#375 - Consider to introduce zserio compatibility version directive
Improvements
#305 - C++: Pass original request object to service clients
#306 - Java: Pass original request object to service clients
#335 - Java: Create string constants for service method names in generated code
#342 - Consider to remove pre-write actions in C++
#350 - Java: attach original exception as a cause
#358 - Extend C++ BitBuffer interface by method returning vector
#359 - Improve C++ Service interface with reflections
#364 - Disable packed warning for empty structure
#365 - HTML: Used-by does not cover parameters
#366 - HTML: Used-by does not cover expressions
#370 - Redesign encoding of packed arrays for compounds