Zserio v2.9.0
The main goal of this release is to publish the following brand new features:
- Built-in type bytes
- Raw bytes as request/response in services
- Raw bytes as messages in pub/subs
- New warning if documentable type has no sticky comment using specifier [doc-comment-missing]
This release contains the following improvements in generated code:
- Removal of pre-write actions in generated Java and Python code
- Removal of
initializeOffsets()
calling from SQL Tablewrite()
method in C++ code - Deprecating of file write and read methods in Java code
This release contains as well the following improvements in runtime libraries:
- Improving serialization and deserialization utitilies together with deprecating of
ZserioIO
andInitializeOffsetsWriter
interfaces in Java - Adding
serializeToBytes()
anddeserializeFromBytes()
methods in C++
This release contains as well several bug fixes.
Potential API incompatibilities with previous version:
- This release can potentially break applications which do not initialize offsets and call zserio
write()
method or pass zserio objects to API for serialization (pubsub, service, SQL table).
If this happens, the application will have to callinitializeOffsets()
method explicitly. To make this transition easier, each runtime library containsserialize()
anddeserialize()
methods which callinitializeOffsets()
method automatically. - Python runtime function
deserialize_bytes()
has been renamed todeserialize_from_bytes()
to be consistent with another languages. - Java generic method
callMethod()
inServiceClientInterface
has been slightly changed to use generic parameter. - In C++ runtime
IBasicServiceData
class, the methodgetReflectable()
returnsIBasicReflectableConstPtr
instead ofIBasicReflectablePtr
- Java runtime
ServiceData
class has been changed to interface - Python runtime
ServiceData
class has been changed to interface (constructor has been removed)
Potential CLI incompatibility with previous version:
- The warning specifier
[doc-comment-see]
has been renamed to[doc-comment-link]
.
This change can influence usage of-withWarnings
or-withoutWarnings
command line options.
Fixes
#421 - StackOverflowError during template instantiation when same name is chosen
#430 - Misleading error message when using parametrized types in a wrong way
#452 - Fix Java validation of SQL virtual tables with null column values
#458 - Wrong unresolved referenced symbol warning in documentation comment
New Features
#426 - Implement warning if documentable type has no sticky comment
#433 - Allow using raw bytes as request/response in services
#448 - Implement new zserio type 'bytes'
#450 - Allow using raw bytes as messages in pub/subs
Improvements
#373 - Java: Consider to remove pre-write actions
#374 - Python: Consider to remove pre-write actions
#399 - Java: Improve serialization utilities in runtime library
#400 - Implement test coverage in Java runtime library
#435 - C++: Remove initializeOffsets calling from SQL Table write
#436 - C++: Implement serializeToBytes and deserializeFromBytes in runtime library
#453 - Java: Deprecate file write and read methods in generated code