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 -

Published by mjpt777 about 4 years ago

  • Indicate files are auto-generated for C# so they can be ignored by VS. PR #814.
  • Fix CMake install on MacOS.
  • Support CMake 3.6.1 as a minimum version.
  • Upgrade to Versions 0.33.0.
  • Upgrade to JUnit 5.7.0.
  • Upgrade to Agrona 1.7.2.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 4 years ago

  • Validate enum values are in the range for type considering min and max value, excluding null value.
  • Upgrade to Versions 0.31.0.
  • Upgrade to Checkstyle 8.36.
  • Upgrade to Mockito 3.5.10.
  • Upgrade to JMH 1.25.2.
  • Upgrade to Agrona 1.7.1.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 4 years ago

  • Improve validation and error messages when parsing invalid SBE schemas.
  • Generate SBE header constants in C++ codecs so they can be used more easily in switch statements.
  • Generate C++ style casts rather than C style casts in C++ codecs.
  • Generate enum literals beyond int range correctly for C and C++.
  • Enum get methods for C++ codecs should not be noexcept. PR #806.
  • Improve javadoc.
  • Update Gradle build script so IDEA can more easily get the dependencies correct for generated code.
  • Upgrade to Gradle 6.6.1.
  • Upgrade to Mockito 3.5.7.
  • Upgrade to JMH 1.25.1.
  • Upgrade to Checkstyle 8.35.
  • Upgrade to Version 0.29.0.
  • Upgrade to Agrona 1.7.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 4 years ago

  • Improve edge case generation for JsonPrinter when groups have num in group of zero. Issue #800.
  • Improve edge case generation for JsonPrinter when messages are empty. Issue #799.
  • Fix case of generated variables in C++ computeLength method which could cause compilation errors. Issue #796.
  • Enable Java 14 build in CI.
  • Improve Javadoc.
  • Remove use of constexpr from computeLength generated methods in C++ codecs to address compilation errors.
  • Validate usage of group and var data types within composite elements when XSDs are not used.
  • Improve C# samples.
  • Improve C++ samples.
  • Reduce warnings in C++ build on Windows.
  • Upgrade to .net core 3.1 LTS for for CI.
  • Upgrade to Mockito 3.4.0.
  • Upgrade to Checkstyle 8.34.
  • Upgrade to Shadow 6.0.0.
  • Upgrade to Gradle 6.5.1.
  • Upgrade to Agrona 1.6.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 4 years ago

  • Fix SbeMarshalling.go file generation based on template. Issue #789.
  • Fix numerous MSVC warnings about C and C++ codec generation and testing.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 4 years ago

  • Fix case of importing buffers when var data is used in nested groups for Java codecs.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 4 years ago

  • Only generate imports for Java codecs when required to address warnings.
  • Access fixed length arrays as Spans in C# codecs. PR #780.
  • Add SbeSchemaId and SbeSchemaVersion as constants in fixed flyweights for C# codecs.
  • Generate source docs from schema descriptions for C# codecs. PR #778.
  • Add offset and wrap methods to C# codecs for ease of use. PR #777.
  • Support non-standard message headers form the C++ codecs. PR #775.
  • Fix version support for enums in C codecs. Issue #773.
  • Improve formatting of generated C codecs.
  • Require a strict dependency on Agrona.
  • Upgrade to Agrona 1.5.0.
  • Upgrade to javadoc-links 5.1.0.
  • Upgrade to JUnit 5.6.2.
  • Upgrade to Gradle 6.4.1.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 4 years ago

  • Remove redundant generated casts from Java codecs. Issue #766.
  • Add ability to compute the length of an encoded message before encoding for C++ codecs. PR #761.
  • Remove Rust support due to lack of community support.
  • Use sinceVersion from field which overrides type in C# codecs. Issue #763.
  • Upgrade to JUnit 5.6.1.
  • Upgrade to Gradle 6.3.
  • Upgrade to Agrona 1.4.1.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 4 years ago

  • Re-generate Java IR codecs.
  • Make Java codec toString() methods version aware so the wrapped actingVersion and actingBlockLength are accounted for.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 4 years ago

  • Variable data string improvements in C++ codecs. PR #758.
  • Short circuit toString and appendTo in Java codes when buffer is null to avoid debugging issues.
  • CLang Tidy fixes for C++ codecs. PR #757.
  • Eliminate allocation when calling appendTo on set based fields in Java codecs. PR #755.
  • Support optional groups which is a non-standard feature. Issue #754.
  • Fix issue with populating optional arrays in Go codecs. PR #750.
  • Migrate to maven-publish plugin for Gradle.
  • C++ codec sbePosition() method should be SBE_NOEXCEPT.
  • Upgrade to Versions 0.28.0.
  • Upgrade to Mockito 3.3.0.
  • Upgrade to Agrona 1.4.0.
  • Upgrade to Gradle 6.2.1.
  • Upgrade to JMH 1.23.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 4 years ago

  • Simplify the generation of MetaAttribute lookup on fields in C++ codecs to reduce code size.
  • Allow setting a count for groups and then later setting it to the value of index. This allows for streaming operations when the count is not known but can be limited and then later set to index for what is encoded. Applied to Java, C++, and C# codecs. PR #746.
  • Fix generation of Java Decoder names when message names start with lowercase. Issue #745.
  • Upgrade to Agrona 1.3.0.
  • Upgrade to JUnit 5.6.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 5 years ago

  • Generate simpler MetaAttribute lookup in Java Codecs which avoids the generation of a synthetic class.
  • Don't default timeunit and epoch for var data fields when parsing. This results in more compact IR.
  • Move CI build to GitHub Actions.
  • Track initialOffset on Java codecs so toString() can be called on the decoder at any time during decoding. This allows SBE decoding to be debugged.
  • Use skip methods to avoid unused warning in C++ codecs.
  • Upgrade to Agrona 1.2.0.
  • Upgrade to Checkstyle 8.28.
  • Upgrade to JUnit 5.6.0-RC1.
  • Upgrade to javadoc-links 4.1.6.
  • Upgrade to Mockito 3.2.4.
  • Upgrade to Gradle 6.0.1.
  • Upgrade to gtest 1.10.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 5 years ago

  • Add skip methods for var data fields in C++ and Java codecs.
  • Handle encoding of Nan, Infinity, and -Infinity for floating point values in Java JsonPrinter.
  • Fix handling of sinceVersion in IR, Java codecs, and C++ codecs so that the max value is taken from type in field.
  • Set javadoc encoding to UTF-8.
  • Upgrade to javadoc-links 4.1.4.
  • Upgrade to Hamcrest 2.2.
  • Upgrade to Checkstyle 8.26.
  • Upgrade to Shadow 5.2.0.
  • Upgrade to Agrona 1.1.0.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 5 years ago

  • Regenerate the Java IR Codecs to benefit for less allocation when pretty printing.
  • Add null enum value lookup into the switch for Java codecs. PR #732.
  • Upgrade to JMH 1.22.
  • Upgrade to Agrona 1.0.11.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 almost 5 years ago

  • Provide consistent API for constant char arrays to be compatible with mutable char arrays.
  • Cast length type for memcpy to address warning. PR #730.
  • Reduce string copying to improve performance of C++ codec generators.
  • Provide property accessor methods for getting string values Json escaped in C++ codecs.
  • Escape Json string in C++ codec pretty printing. Issue #718.
  • Escape Json strings in Java JsonTokenListener.
  • Upgrade to javadoc-links 4.1.3.
  • Upgrade to Checkstyle 8.25.
  • Upgrade to Gradle 5.6.3.
  • Upgrade to Agrona 1.0.9.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 5 years ago

  • Fix type conversion warnings in C++ codecs. PR #725.
  • Allow setting of raw value for bit sets in C++ codecs. PR #724.
  • Fix initialisation of C++ codecs samples for printing as JSON.
  • Print non-printable char in C++ codecs as int. PR #716.
  • Fix unsigned conversation warning and use better default value for group index initialisation in C++ codecs. Issue #714.
  • Declare primitive accessors as noexcept for C++ codecs. PR #709.
  • Upgrade to Checkstyle 8.24.
  • Upgrade to javadoc-links 4.1.2.
  • Upgrade to Mockito 3.1.0.
  • Upgrade to Gradle 5.6.2.
  • Upgrade to Agrona 1.0.8.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 5 years ago

  • Cope with optional composite values being pretty printed in Java codecs. Issue #708.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 5 years ago

  • Reduce allocation and copying in Java codec generator to make stub generation more efficient.
  • Update C# README.
  • Generate package-info.java for codec Javadoc. Issue #703.
  • Upgrade to javadoc-links 3.8.4.
  • Upgrade to Agrona 1.0.7.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 about 5 years ago

  • [C#] Add system property to allow squashing of namespace generation. PR #702.
  • [C++] Use [[nodiscard]] attribute where applicable. PR #700.
  • [C#] Use ThrowHelper and simplify bounds checks to improve inlining. PR #695.
  • [Java] Javadoc to MetaAttribute generation.
  • Upgrade to Agrona 1.0.6.
  • Upgrade to javadoc-links 3.8.1.
  • Upgrade to Checkstyle 8.23.
  • Upgrade to Mockito 2.30.0.
  • Upgrade to Gradle 5.5.1.

Java binaries can be found here...

simple-binary-encoding -

Published by mjpt777 over 5 years ago

  • More efficient approach for truncating an existing file when generating IR.
  • Improve Javadoc for IR.
  • More efficient implementation for appending to an Appendable for var-data in Java codecs.
  • Use raw string literals in C++ codecs. PR #685.
  • Enhancements to Rust codecs. PR #685.
  • Generate pretty printers for encoded data inspection for C++ codecs. PR #683.
  • Test C++ codecs with a greater range of compilers.
  • Upgrade to javadoc-links 3.7.5.
  • Upgrade to Shadow 5.1.0.
  • Upgrade to Checkstyle 8.22.
  • Upgrade to Mockito 2.28.2.
  • Upgrade to Agrona 1.0.3.

Java binaries can be found here...