Releases: google/flatbuffers
v2.0.7
This is a minor release with lots of changes :)
I would like to get in the habit of releasing more often (at least for the flatc
and C++ libraries) and the first step is to reduce the amount of diffs between releases (especially patch/revision only updates).
See a high level change log notes in our new CHANGELOG.md document, with the following list auto generated by github release workflow:
What's Changed
- explicitly use windows-2019 to unblock ci by @dbaileychess in #7105
- Go optional scalars by @chriscraws in #7104
- Fix minor typo in WhitePaper.md by @meersuri in #7108
- [TS] Fix generation of reserved words in object api (#7106) by @tira-misu in #7115
- Add deps attribute to flatbuffer_cc_library by @jkuszmaul in #7107
- add the missing checkNullConditionnal code in the "GenObjApi" function by @anov21 in #7114
- remove auto generate code from cmakelists by @dbaileychess in #7119
- Trigger fuzzing CI only on relevant changes by @dbaileychess in #7120
- update proto tests with alaised enum by @dbaileychess in #7121
- Use target_compile_features to target C++11 by @dbaileychess in #7122
- Use ConvertCase instead of Make{Upper,Lower,Snake} implementations by @dbaileychess in #7127
- Replaced ToDasherCase with ConvertCase by @dbaileychess in #7131
- [Rust] Add length checks to arrays and vectors. by @CasperN in #7130
- Prevent name clash by @dbaileychess in #7133
- Fix 64-bit numeric enum values in typescript by @jkuszmaul in #7135
- [TS] Escape keywords in typescript object names by @jkuszmaul in #7137
- Implement a config based name manager and use it in Rust codegen by @CasperN in #7144
- Fix missing 'break' by @CasperN in #7151
- Apply Namer to Python code gen by @CasperN in #7146
- Apply Namer to Go code gen by @CasperN in #7150
- [TS] Add single-file ts codegen & bazel rule for typescript by @jkuszmaul in #7161
- Use DESCRIPTION only if CMake version >= 3.9 by @Paulchen-Panther in #7166
- Nameroverloads by @CasperN in #7164
- Namersw by @CasperN in #7167
- Make inclusion of header opt-out via macro by @davschne in #7168
- [Lua] Apply Namer to Lua by @dbaileychess in #7171
- Annotated Flatbuffer Binary by @dbaileychess in #7174
- Typo in flatc options (warning-as-errors instead of warnings-as-errors) by @stefan301 in #7180
- Move flatbuffer_ts_library to typescript.bzl by @jkuszmaul in #7183
- Adds no-includes flags to the swift code generator by @mustiikhalil in #7182
- Correctly parse lists of enums in Dart generated code by @insertjokehere in #7157
- VerifySizePrefixed (reflection::Schema) and GetAnySizePrefixedRoot added by @stefan301 in #7181
- [TS] Fix generation of struct members in object api by @tira-misu in #7148
- Handle root offset and root table vtable invalidation by @dbaileychess in #7177
- Fuzzed binary annotator by @dbaileychess in #7188
- Namerdart by @CasperN in #7187
- Annotated Binary Structured Comments by @dbaileychess in #7192
- [swift] Add bazel configuration for Swift by @keith in #7195
- [C#] Fix collision of field name and type name by @tira-misu in #7149
- Apply Namer to Java. by @CasperN in #7194
- Apply Namer prefix/suffix to other generators by @CasperN in #7197
- fixed padding in struct for annotated binary by @dbaileychess in #7199
- [C++] Static assert on Flatbuffers Version by @dbaileychess in #7203
- maximize parallel builds in CI by @dbaileychess in #7206
- Add overloads for C# ByteBuffer/FlatBufferBuilder to allow adding vector blocks from ArraySegments or IntPtr by @Jamie-Jameson in #7193
- Fix for [C++] flatc generates invalid Code in the default constructor for structs, when --cpp-field-case-style is used #7209 by @stefan301 in #7211
- [C++] generate sorted #include directives by @stefan301 in #7213
- code gen flexbuffer verifier by @dbaileychess in #7207
- [C++] stl_emulation span::count_ is not const anymore (#7226) by @avaliente-bc in #7227
- Started to migrate to target_compile_options by @dbaileychess in #7222
- Adds implementation flag for swift by @mustiikhalil in #7202
- Adds a way to verify/exposes Entities ids by @mustiikhalil in #7221
- Create cpp-linter.yml by @dbaileychess in #7208
- disable cpp-linter by @dbaileychess in #7229
- Remove call toascii by @dbaileychess in #7234
- [Kotlin] Update gradle to 7.4.1 and simplify config files. by @paulovap in #7231
- [Swift] Fixes a bug for create function by @mustiikhalil in #7228
- Allow CreateVectorOfStrings() to work with any string-type. by @hzeller in #7238
- [Java] Fix key lookup returning null clashing with default value by @paulovap in #7236
- [Kotlin] Fix key lookup returning null clashing with default value by @paulovap in #7237
- set workflows permissions to read-only by @dbaileychess in #7239
- Expand test to make sure {}-initializers are properly understood by template by @hzeller in #7242
- Make Java namespaces keep case by default by @CasperN in #7243
- Add parameter back to EndVector by @dbaileychess in #7246
- Java namer typo by @dbaileychess in #7249
- [optimization] Keep the underlying storage capacity when clearing the FlatBufferBuilder by @hassila in #7250
- Turn off Go modules temporary by @mustiikhalil in #7251
- Add test for nested buffer verifier by @dbaileychess in #7252
- Swift update performance benchmark infrastructure by @hassila in #7255
- Specialize CreateVector with std::initializer_list by @dbaileychess in #7254
- Handle +/-inf in protos by @dbaileychess in #7256
- [performance] [swift] Add systematic inlining by @hassila in #7253
- Added Swift to supported languages by @hassila in #7257
- fix include order by @dbaileychess in #7266
- Rust: fix a name conflict when building with "no_std" feature by @fjarri in #7268
- [swift] Make swift module public by @keith in #7274
- Make
flatc
generate Rust files not requiringstd
by @fjarri in #7273 - Namerkot by @CasperN in #7245
- Remove span ConstIterator/cbegin()/cend(). by @pkasting in #7295
- [swift] add 'has' property to check optional array presence in mes… by @mr-swifter in #7280
- Update Rust docs page by @bsilver8192 in #7296
- Add size check to fix out of bounds read risk by @bjornharrtell in #7304
- Add explicit return types to lobster generated code by @bartwe in #7312
- Use keep case for Rust union discriminant type. by @CasperN in #7321
- [Swift] Wasm...
FlatBuffers release 2.0.0
A summary of what is in this release since 1.12.0:
- Support for optional scalars in most languages.
- Rust Verifier, Object API and FlexBuffers support, and many API improvements.
- Overhaul of TypeScript support.
- gRPC for many languages brought up to date.
- C++ compile time field reflection.
- JS FlexBuffers support.
- Kotlin FlexBuffers and platform support.
- Swift Object API and many Swift performance improvements.
- Lua supports LuaJIT and many more fixes.
- Python FlexBuffers support.
- Many other fixes and smaller improvements, 371 commits since 1.12.0
Note, "2.0" doesn't signify any kind of major overhaul of FlatBuffers, it is merely trying to be more semver compatible, and this release does have breaking changes for some languages much like all releases before it.
FlatBuffers release 1.12.0
A summary of what is in this release since 1.11.0:
- An official Swift port! (including gRPC support).
- A Kotlin port!
- Object API and native JSON support for C#.
- Object API and gRPC support for Python.
- Object API for Go.
- FlexBuffers for Java.
- Many other fixes and smaller improvements, 247 commits since 1.11.0
FlatBuffers release 1.11.0
A summary of what is in this release since 1.10.0:
- More accurate C++ float handling, NaN handling, limit checking.
- Java optimization: faster object accessors, faster UTF8 conversion.
- A lot of Rust port improvements.
- Vector of union JSON parsing.
- Parser can now work from binary schemas.
- Python: numpy vector support.
- Packaging: Snap & RPM support.
- Many improvements to our CI, added Bazel CI, dockerized language tests.
- Many other fixes and smaller improvements, 169 commits since 1.10.0
FlatBuffers release 1.10.0
A summary of what is in this release since 1.9.0:
- Rust support!
- Dart support!
- Lua support!
- Lobster support!
- C++: Improved / more correct verifier, compare operator in generated code, new/improved move operators for many data types, string_view support.
- Java & C# support vectors of unions.
- Many other fixes and smaller improvements, 145 commits since 1.9.0
FlatBuffers release 1.9.0
A summary of what is in this release since 1.8.0:
- Further optimized C++ memory usage for FlatBufferBuilder: from 3 to 1 dynamic allocations (!)
- GRPC support in Java & Maven.
- Build files for Bazel and Conan.
- Prefixed size support for Java/C#/Python.
- Typescript docs.
- Many other fixes and improvements, 80 commits since 1.8.0
FlatBuffers release 1.8.0
A summary of what is in this release since 1.7.0:
- Vtable trimming in all language implementations: can reduce binary size 10-20%!
- Mini-reflection tables (in C++) for debug-print, etc.
- Improved .proto conversion.
- Vectors of unions now also supported in JS/TS/PHP/C.
- Improved namespace handling.
- Boolean types in FlexBuffers.
- Python Numpy vector support.
- Nested FlatBuffer JSON parsing.
- C++98 (stlport) support for core FlatBuffers and FlexBuffers.
- JSON Schema output support.
- Many other fixes and improvements, 90 commits since 1.7.0
FlatBuffers release 1.7.1
This is a bug fix release.
- Calling
CreateVector
in C++ on a vector ofOffset
types with an explicit template parameter (of thatOffset
type) of could cause the wrong specialization to be selected in 1.7.0. This should affect very few people, but safer to use 1.7.1 just in-case.flatc
from 1.7.0 is compatible with 1.7.1.
FlatBuffers release 1.7.0
A summary of what is in this release since 1.6.0:
- Typescript support!
- Improved GRPC API with proper zero-copy path. BREAKS API
- Fixed many issues with ReleaseBufferPointer functionality BREAKS API
- FlexBuffers: nested in FlatBuffer accessors, (nested) parsing from JSON, JSON output.
- Vectors of unions and unions of structs/strings (C++ only so far).
- Several speed optimizations for larger data types in C++ FlatBufferBuilder.
- Schema registry functionality.
- Improvements to the object API.
- Improved docs: C# API, vector of structs.
- Many other fixes and improvements, 116 commits since 1.6.0
FlatBuffers release 1.6.0
A summary of what is in this release since 1.5.0:
- First ever version of FlexBuffers!
- npm package support.
- Vectors of unions now supported (C++ only so far).
- Improvements to the object API.
- Some speed optimizations.
- Many other fixes and improvements, 48 commits since 1.5.0