simple-binary-encoding

Simple Binary Encoding (SBE) - High Performance Message Codec

APACHE-2.0 License

Stars
3K
Committers
104

Bot releases are hidden (Show)

simple-binary-encoding - 1.31.1 Latest Release

Published by vyazelenko 6 months ago

  • [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.
simple-binary-encoding - 1.31.0

Published by nbradac 7 months ago

  • [Java] Remove unused initialOffset member from generated codecs.
  • [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.
simple-binary-encoding - 1.30.0

Published by ZachBray 11 months ago

  • [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
simple-binary-encoding - 1.29.0

Published by vyazelenko about 1 year ago

  • [Rust] Add derive Copy Clone traits for decoders (PR #940).
  • [Rust] Fix clippy lint (PR #941).
  • [Rust] Fix array syntax error (PR #946).
  • [Rust] Improve rust performance (PR #944).
  • JsonPrinter remove trailing garbage after non-printable char (PR #950).
  • Upgrade to Agrona 1.19.0.
  • Upgrade to versions 0.47.0.
simple-binary-encoding - 1.28.3

Published by vyazelenko over 1 year ago

  • CppGenerator: operator<< take messages as const-ref (PR #939)
  • JDK 21-ea warning fixes.
  • Upgrade to Agrona 1.18.2.
  • Upgrade to JUnit 5.9.3.
  • Upgrade to ASM 9.5 for JDK 21-ea support.
  • Upgrade to Shadow 8.1.1.
  • Upgrade to Gradle 8.1.1.
simple-binary-encoding - 1.28.2

Published by vyazelenko over 1 year ago

  • Upgrade to Agrona 1.18.1.
simple-binary-encoding - 1.28.1

Published by vyazelenko over 1 year ago

  • Fix SBE_SEMANTIC_VERSION field generation for C++.
simple-binary-encoding - 1.28.0

Published by JPWatson over 1 year ago

  • Added semantic version as a static public member. PR #931.
  • [Rust] Nested composite name should not be based on field name. PR #922.
  • [C/C++] Prevent clashing defines in C/C++ codecs when multiple generated schemas are used. Issue #884.
  • [C#] Compare PrimitiveValue with doubles in the same way as Java by the raw bits, so NaN and Infinity are correctly handled.
  • Add CodeQL workflow.
  • [C#] Add ToString for PrimitiveType
  • [C++] Pass by reference rather than value when streaming to a string.
  • [C++] Address duplicate guard issues.
  • [Java] More efficient attribute parsing in XML with a more precise error message.
  • [Java] Validate IR file for decoding is not greater than Integer.MAX_VALUE.
  • [C/C++] Move check for existing SBE_BOUNDS_CHECK_EXPECT define to outer condition to capture all platforms.
  • [Java] Print warnings for undersize header fields.
  • Upgrade to Agrona 1.18.0.
  • Upgrade to Mockito 4.11.0.
  • Upgrade to Junit 5.9.2.
  • Upgrade to JMH 1.36.
  • Upgrade to versions plugin 0.45.0.
  • Upgrade to Gradle 7.6.
simple-binary-encoding -

Published by mjpt777 about 2 years ago

  • [Java] Add preview support for package override on types from SBE 2.0. PR #904, PR #915.
  • Add support for transforming a schema to generate code for older versions when checking compatibility.
  • [Java] Support binary var data in JsonPrinter. PR #914.
  • [Java] Qualify methods with name yield to avoid warning in Java 17. PR #910.
  • Carry down the the sinceVersion value into composite types to make parsing OTF easier. Issue #908.
  • Set the size for constant encoded data type to be zero in IR.
  • Upgrade to Google Test 1.21.1.
  • Upgrade to Mockito 4.7.0.
  • Upgrade to JUnit 5.9.1.
  • Upgrade to Gradle 7.5.1.
  • Upgrade to Agrona 1.17.1.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 2 years ago

  • [Java] Provide raw access to type for bitset. Issue #893.
  • [C++] Generate skip function with loop rather than lambda to avoid compilation errors on some compilers. Issue #903.
  • Check sinceVersion is valid on elements against schema version. Issue #902.
  • [Rust] Fix generated comparator when value is NaN. PR #896.
  • [Rust] Fix resource leak in Rust generator running in Java SBE compiler.
  • [Java] Generate @SuppressWarnings annotation on enums types. Issue #894.
  • Upgrade to Mockito 4.6.1.
  • Upgrade to Agrona 1.16.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 2 years ago

Set correct version range for Agrona dependency check.
Upgrade to Gradle 7.4.2.
Upgrade to JMH 1.35.
Upgrade to Agrona 1.15.1.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 2 years ago

  • [Java] Calling toString() on decoder should not disturb repeating group. PR #892.
  • [All] Generate NULL_VALUE for enums based on correct type. Issue #889.
  • [C++] Check for version before outputting to stream for composites and bitsets. PR #888.
  • [Java] Charset handling improvements for more efficient string decoding. PR #887.
  • Add descriptions to schema for IR.
  • Set warnings as errors in build and clean up existing warnings.
  • Add ability to set the error stream in ParserOptions.
  • Remove some unnecessary checks in XmlSchemaParser to improve generation performance.
  • Upgrade to Versions 0.42.0.
  • Upgrade to Checkstyle 9.3.
  • Upgrade to JMH 1.34.
  • Upgrade to Mockito 4.4.0.
  • Upgrade to Shadow 7.1.2.
  • Upgrade to JUnit 5.8.2.
  • Upgrade to Gradle 7.4.1.
  • Upgrade to Agrona 1.15.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 3 years ago

  • Upgrade to Mockito 4.1.0.
  • Upgrade to Agrona 1.14.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 3 years ago

  • [C#] Add support for wrapping ArraySegment in DirectBuffer. PR #878.
  • [Java] Add @Deprecated annotation to message codecs that have been marked as deprecated in SBE schema. PR #876.
  • [C++] Only generate necessary macros and includes for enum types.
  • [Rust] Reinstate improved Rust codec generation.
  • [Java] Add sbeSkip and sbeDecodedLength methods to codecs. PR #865.
  • Upgrade to JUnit 5.8.1.
  • Upgrade to Shadow 7.1.0.
  • Upgrade to Mockito 4.0.0.
  • Upgrade to Checkstyle 9.1.
  • Upgrade to JMH 1.33.
  • Upgrade to Gradle 7.2.
  • Upgrade to Agrona 1.13.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 3 years ago

  • [Java] Improve efficiency of encoding CharSequence when ASCII character encoding is used.
  • [Java] Check that IR codecs are regenerated on codec change.
  • [Java/C++/C] Add sbeRewind to decoders so they can rewind to the beginning of a message and begin decoding again.
  • Upgrade to Google Test 1.11.0
  • Upgrade to ByteBuddy 1.11.3
  • Upgrade to Mockito 3.11.2.
  • Upgrade to Gradle 7.1.1.
  • Upgrade to Agrona 1.12.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 3 years ago

  • [C#] Add ToString() method to generated codecs. PR #853.
  • [C#] Add more string read and write methods to codecs. PR #845.
  • [Go] Fix tokens passed when generating composites. PR #850.
  • [C/C++] Add Clang 12 to the matrix build.
  • Upgrade to Versions 0.39.0.
  • Upgrade to JUnit 5.7.2.
  • Upgrade to Mockito 3.11.1.
  • Upgrade to ByteBuddy 1.11.2.
  • Upgrade to JMH 1.32.
  • Upgrade to Shadow 7.0.0.
  • Upgrade to Gradle 7.0.2.
  • Upgrade to Agrona 1.11.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 3 years ago

  • [C#] Convert benchmarks to use DotNetBenchmark. PR #841.
  • [C#] Help compiler to inline DirectBuffer.CheckLimit for better performance. PR #840.
  • Add Java 17-ea to the build matrix.
  • Test with CME FixBinary version 9.
  • [C++] Capture actingBlockLength and use it for prettying printing output in version aware codecs. Issue #839.
  • [C++] Remove invalid use of noexcept on resetCountToIndex. Issue #838.
  • [Java] Generate a wrapAndApplyHeader method for decoders to verify template then apply acting version and offset.
  • [C++] Clean up and improve samples.
  • [C++] Pass elements by reference rather than value in forEach for more efficient skip operations.
  • Upgrade to Version 0.38.0.
  • Upgrade to JMH 1.29.
  • Upgrade to JUnit 5.7.1.
  • Upgrade to Mockito 3.9.0.
  • Upgrade to Gradle 6.8.3.
  • Upgrade to Agrona 1.10.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 4 years ago

  • [Java] Generate metadata methods to groups for min and max count values. PR #834.
  • [Java] Declare generated classes as final to allow for better optimisation and increased performance.
  • [C++] Null terminate constant char arrays to avoid warnings. Issue #832.
  • [C++] Add support for decoding unknown enum values from later versions by enabling sbe.decode.unknown.enum.values and provide access to raw values.
  • Clean up warnings in bash scripts.
  • Upgrade to Checkstyle 8.39.
  • Upgrade to Mockito 3.7.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 4 years ago

  • Add parsing of CME iLink order protocol to tests.
  • [C++] Generate literal marked up for correct type when shifting for bitsets using uint64. PR #829.
  • [Java] Generate @return in javadoc for bitset values. Issue #828.
  • [Java] Escape basic HTML characters for javadoc. Issue #826.
  • [Go] Fix decoding into struct with pre-allocated slices. PR #825.
  • [C++] Fix spelling of _cplusplus macro. Issue #821.
  • [C#] Fix repeating group encode overflow. PR #823.
  • [C] Fix argument order for wrap_and_apply_header methods. PR #821.
  • [Java] Generate bulk methods for fixed length uint8 arrays. PR #819.
  • Add Java 16 EA to the build matrix.
  • Upgrade to JMH 1.27.
  • Upgrade to Checkstyle 8.38.
  • Upgrade to Versions 0.36.0.
  • Upgrade to Mockito 3.6.28.
  • Upgrade to Gradle 6.7.1.
  • Upgrade to Agrona 1.9.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 4 years ago

  • Fix generation of GroupOrder annotations on Java codecs.
  • Java codecs have a new method MessageDecoderFlyweight.appendTo(StringBuilder) for the interface. PR #220.
  • Reduce scope of some fields in Java codecs which were protected and should have been package or private.
  • Add GCC 10 and Clang 10 to build mix.
  • Add Java 15 to build mix.
  • Upgrade to JMH 1.26.
  • Upgrade to Checkstyle 8.36.2.
  • Upgrade to Mockito 3.5.13.
  • Upgrade to Agrona 1.8.0.

Java binaries can be found here...