Skip to content

Releases: ndsev/zserio-cpp17

v1.0.0

06 Mar 13:33

Choose a tag to compare

This is the first stable release of the Zserio C++17 extension for production use.

It is designed as an extension to the Zserio version 2.18.0.

This release contains the following new features:

  • New command line parameter -withSourcesAmalgamation for amalgamation support (disabled by default).
  • Adaptation of the runtime library to be built as a shared library.
  • New using declarations for template arguments, ArrayView instantiations and Views in Data abstraction.

Fixes

#79 - Wrong code generated for choice with only default case
#88 - Optional with default value is not reset during read
#92 - Debug builds with a huge choice are very demanding on memory
#95 - Add missing cstdint include in JsonEncoder.h
#98 - Client Methods do not Respect -withTypeInfoCode
#101 - Fix RTTI issues in the runtime library for MacOS
#102 - Templated Struct View is Missing the zserioData() Implementation
#103 - Fix Temporary Optional Value Access
#105 - Any and dependant types don't work properly in multi target environment with hidden symbols

New Features

#89 - Emitted c++ code for templates should have a using declaration per template argument
#90 - Amalgamation Support is Missing
#91 - Improve Access to View and Array Types
#93 - Adapt runtime to build as shared library
#107 - Emitted c++ code for arrays should have a using declaration per ArrayView instantiation

Improvements

#85 - Zserio Optional doesn't have all versions of constructors / assignment operators
#94 - Fixes problem with RTTI in Zserio runtime
#100 - Adapt runtime to build without or with custom SQLite dependency
#104 - Improve test framework to catch the missing zserioData() implementation

Zserio C++17 Extension v0.5.0

01 Aug 06:06

Choose a tag to compare

Pre-release

This is the fifth pre-release of the new Zserio C++17 extension aimed for the full testing.

This pre-release fully supports the Zserio language and Zserio templates are implemented using C++ native templates.

The C++17 extension is designed as an extension to the Zserio version 2.17.0.

The C++17 extension binary cannot be run standalone. It must be run using Zserio bundle (or Zserio core). It is enough just to copy zserio_cpp17.jar to the directory where Zserio bundle (or Zserio core) is located and run the following command:

java -jar zserio.jar schema_name.zs -cpp17 output_directory_name

Zserio C++17 Extension v0.4.0

16 May 08:55

Choose a tag to compare

Pre-release

This is the fourth pre-release of the new Zserio C++17 extension aimed for the full testing.

This pre-release integrates important user feedback, including support of std::pmr::polymorphic_allocator.

The command line argument -setCppAllocator now accepts three new values:

  • std: This value sets the std::allocator to be used in generated code.
  • pmr: This value sets the std::pmr::polymorphic_allocator to be used in generated code.
  • ppmr: This value sets the zserio::pmr::PropagatingPolymorhpicAllocator to be used in generated code.

This pre-release fully supports the Zserio language. However, Zserio templates are still implemented using template instantiations, not using C++ native templates.

The C++17 extension is designed as an extension to the Zserio version 2.16.0.

The C++17 extension binary cannot be run standalone. It must be run using Zserio bundle (or Zserio core) by the following command:

java -cp zserio.jar:zserio_cpp17.jar zserio.tools.ZserioTool schema_name.zs -cpp17 output_directory_name

Please note that the classpath separator on Windows is ';' instead of ':'.

Zserio C++17 Extension v0.3.0

22 Apr 12:11

Choose a tag to compare

Pre-release

This is the third pre-release of the new Zserio C++17 extension aimed for the full testing.

This pre-release is the first feature complete pre-release including Type Information, Reflections, Introspections and JSON export and import.

It fully supports the Zserio language. However, Zserio templates are implemented using template instantiations, not using C++ native templates.

The C++17 extension is designed as an extension to the Zserio version 2.16.0.

The C++17 extension binary cannot be run standalone. It must be run using Zserio bundle (or Zserio core) by the following command:

java -cp zserio.jar:zserio_cpp17.jar zserio.tools.ZserioTool schema_name.zs -cpp17 output_directory_name

Please note that the classpath separator on Windows is ';' instead of ':'.

Zserio C++17 Extension v0.2.0

19 Feb 15:34

Choose a tag to compare

Pre-release

This is the second pre-release of the new Zserio C++17 extension aimed for the full beta testing.

This pre-release fully supports the Zserio language but has the following limitations:

  • Zserio templates are implemented using template instantiations, not using C++ native templates
  • Support for generic programming, including type information, JSON export and import and reflections is not implemented

The C++17 extension is designed as an extension to the Zserio version 2.16.0.

The C++17 extension binary cannot be run standalone. It must be run using Zserio bundle (or Zserio core) by the following command:

java -cp zserio.jar:zserio_cpp17.jar zserio.tools.ZserioTool schema_name.zs -cpp17 output_directory_name

Please note that the classpath separator on Windows is ';' instead of ':'.

Zserio C++17 Extension v0.1.0

28 Nov 12:56

Choose a tag to compare

Pre-release

This is the first pre-release of the brand new Zserio C++17 extension aimed for the first beta testing.

This pre-release has many limitations:

  • The following Zserio language features are not implemented and are silently ignored without any warning and generated code:
    • SQL Tables
    • SQL Databases
    • Service Types
    • Pubsub Types
    • Offsets
  • Zserio Extended Members are not implemented and are always generated as regular compound fields
  • Zserio templates are implemented using template instantiations, not using C++ native templates
  • Support for generic programming, including type information, JSON export and import and reflections is not implemented

The C++17 extension is designed as an extension to the Zserio version 2.15.0.

The C++17 extension binary cannot be run standalone. It must be run using Zserio bundle (or Zserio core) by the following command:

java -cp zserio.jar:zserio_cpp17.jar zserio.tools.ZserioTool schema_name.zs -cpp17 output_directory_name

Please note that the classpath separator on Windows is ';' instead of ':'.

Please note that the generated C++17 sources must be linked with the attached Zserio C++17 runtime library.