Skip to content

Releases: real-logic/simple-binary-encoding

1.34.0

17 Dec 15:54
Compare
Choose a tag to compare

Breaking changes

  • [Java] Upgrade to Agrona 2.0.0.
    Note: --add-opens java.base/jdk.internal.misc=ALL-UNNAMED JVM option must be specified in order to generate codecs or use the generated Java classes. For example:
    $ java --add-opens java.base/jdk.internal.misc=ALL-UNNAMED -Dsbe.generate.ir=true -Dsbe.target.language=Cpp -Dsbe.target.namespace=sbe -Dsbe.output.dir=include/gen -Dsbe.errorLog=yes -jar sbe-all/build/libs/sbe-all-${SBE_TOOL_VERSION}.jar my-sbe-messages.xml

Changelog

  • [C++] Integrate std::span support for flyweight API (#1038, #1027)
  • [C++] hide the m_codecStatePtr behind ifdefs to avoid overhead when precedence checking is disabled (#1036)
  • [C++] Fix field precedence check issue #1031. (#1033)
  • [C++] use constexpr to define precedence checks lookup tables
  • [C++] respect the package override option for C++ codecs and DTOs
  • [C#] respect the package override option for C# codecs and DTOs
  • [Rust] Updated code generator to resolve Issue #1028 (#1037)
  • [Rust] codegen of primitive enums now implement 'From' instead of 'Into'  (#1029)
  • [Rust] generate message schema level info in lib.rs (#1019)
  • [Rust] Enhance enum supporting fromstr and display and into (#1020)
  • [Go] Fix warning about used args in GolangFlyweightGenerator.
  • [Java] Update Checkstyle rules and apply them.
  • [Java] Prevent collision when field name is 'value'.
  • [Java] Preserve byte order throughout IR transformations.
  • [Java] Upgrade to Gradle 8.11.1.
  • [Java] Upgrade to Checkstyle 10.21.0.
  • [Java] Upgrade to JUnit 5.11.4.
  • [Java] Upgrade to jqwik 1.9.2.

1.33.2

08 Nov 16:41
018664b
Compare
Choose a tag to compare
  • [Rust] Help decoding multiple messages using rust by resolving #987
  • [Go] SBE implementation in Go using flyweights
  • [Java] DTOs respect the optional package field in the schema definition
  • [Java] Fix bug in DTO decodeFrom signature.

1.33.1

23 Sep 14:13
Compare
Choose a tag to compare
  • [Java] Fix #1012 DTO char array setter visibility.
  • [Rust] Indicate the anonymous lifetime in set's Display impl. (#1014)
  • [Java] Style consistency and add JavadocVariable Checkstyle test.
  • [Java] Use version catalogs.
  • [Java] Upgrade to JUnit 5.13.0.
  • [Java] Upgrade to Gradle 8.10.1.
  • [Java] Upgrade to Shadow 8.3.2.
  • [Java] Upgrade to Checkstyle 10.18.1.

1.33.0 (JDK 17 migration)

23 Aug 23:08
Compare
Choose a tag to compare

Breaking changes

  • JDK 17 is required for compiling and running!

Changelog

  • [CI] Execute tests using ubuntu-24.04 and macos-latest.
  • [Java] Upgrade to Agrona 1.23.0.
  • [Java] Upgrade to Gradle 8.10.
  • [Java] Upgrade to Shadow 8.3.0.
  • [Java] Upgrade to Mockito 5.12.0.

Known bugs

  • [Java] Issue #1012: a fixed-length char array setter is not visible outside of its package in generated DTOs. Fixed in bb984d4.

1.32.2

23 Aug 09:09
Compare
Choose a tag to compare
  • [Rust] Generate imports in alphabetical order. #997
  • [Rust] Make Rust crate version configurable. #996
  • [C] fix compilation error in C string view functions. #1010
  • [Java] Upgrade to JUnit 5.11.0.

Known bugs

  • [Java] Issue #1012: a fixed-length char array setter is not visible outside of its package in generated DTOs. Fixed in bb984d4.

1.32.1

05 Aug 13:13
2a48a28
Compare
Choose a tag to compare
  • [Java] Upgrade to Agrona 1.22.0.
  • [Java] Upgrade to Hamcrest 3.0.

Known bugs

  • [Java] Issue #1012: a fixed-length char array setter is not visible outside of its package in generated DTOs. Fixed in bb984d4.

1.32.0

02 Aug 19:03
67a4e41
Compare
Choose a tag to compare
  • [C#,C++,Java] Generate DTOs for non-perf-sensitive usecases. #957
  • [C++, C#] Only generate range validation code when specifying a range smaller than the associate type.
  • [C#] Fix ToString() to avoid state changes on message. #992
  • [C] Add a #define for each template id. #1006
  • [Java, C#, C++] Check enum value for language specific keywords and apply sbe.keyword.append.token when appropriate. #1009 #1008
  • [Java] Switch JsonPrinter.print to use DirectBuffer instead of UnsafeBuffer.
  • [Java] Upgrade to JUnit 5.10.3.
  • [Java] Upgrade to json 20240303.
  • [Java] Upgrade to jqwik 1.9.0.

Known bugs

  • [Java] Issue #1012: a fixed-length char array setter is not visible outside of its package in generated DTOs. Fixed in bb984d4.

1.31.1

11 Apr 22:01
Compare
Choose a tag to compare
  • [Rust] Updated code generator to resolve. Issue #984.
  • [Rust] updated SubGroup.generateDecoder() to resolve unnecessary cast warning in generated code.
  • [Java, C#, C++] Fix precedence checks to account for non-contiguous versions.

1.31.0

03 Apr 15:17
7401858
Compare
Choose a tag to compare
  • [Java] Remove unused initialOffset member from generated codecs.
    Note: This change might break some code. In order to fix just use offset instead of initialOffset.
  • [Java] Check for being in a composite when generating array access methods based on version.
  • [Java] Captured types in IR should be for the minimum version used in a schema. (#967).
  • [C++] Provide access to acting block length of repeating group via the sbeActingBlockLength() method. Issue #968.
  • [C++] message header members constexpr (#971).
  • [C++] Code tidy up and address Issue #970.
  • [Java] Cope with optional sets not being present when pretty printing decoders for debugging (#977).
  • [C++] small test fix (#980).
  • [Rust] Updated RustGenerator.generatePrimitiveOptionalDecoder() (#981).
  • [Rust] Take slices by reference (#979).
  • [Rust] updated code generator to prevent rust warning for "ambiguous glob re-exports" (#982).
  • [Go] Handle mixed case enums and BitSets. Fixes #983.
  • [Java] Use BYTE_ORDER constant instead of accessing java.nio.ByteOrder directly.
  • Upgrade .NET SDK to 8.0.201 (#978).
  • [Java] Upgrade to Agrona 1.21.1.
  • [Java] Upgrade to ASM 9.7.
  • [Java] Upgrade to JUnit 5.10.2.
  • [Java] Upgrade to Versions 0.51.0.

1.30.0

06 Dec 15:16
b166f35
Compare
Choose a tag to compare
  • [Java, C#, C++] Added support for checking field access order on flyweights (#948, #924)
  • [C#] Fix invalid code generated when using some length types for var data (#955)
  • [Java] Support valueRef with camelCase enum type identifiers (#963)
  • [Rust] update how "use declarations" are generated, now deriving Defaults for enums (#952)
  • [C++] Rely on NAN from limits rather than pulling in cmath (#956)
  • [Java] Fix javadoc link for JDK 21 GA
  • [Java] Expose actingVersion (#953)
  • Upgrade Agrona to 1.20.0
  • Upgrade to ASM 9.6
  • Upgrade to JMH 1.27
  • Upgrade to JUnit 5.10.1
  • Upgrade Versions to 0.50.0