FlatBuffers: Memory Efficient Serialization Library
Go to file
Max Burke 5993338ee3
[ts] Builder incorrectly serializing empty strings (#7047)
* [ts] Builder incorrectly serializing empty strings

The builder was returning an offset of zero for empty strings. This is
leading to flatbuffers which fail verification in other languages, such
as Rust.

* tests expect 0 offset for null or undefined strings
2022-01-29 14:23:57 -08:00
.bazelci Remove ubuntu1604 from presubmit.yml (#6715) 2021-07-09 09:59:30 -07:00
.github Use actions/checkout@v2, which fixes security vulnerability. (#7036) 2022-01-25 16:19:05 -08:00
.travis Ran clang-format-all.sh. Removed default --style=file parameter (#6639) 2021-05-15 12:54:08 -07:00
CMake Fix/cmake build grpc (#7028) 2022-01-25 20:57:31 -08:00
android Lua Generator using IR. (#6940) 2021-12-02 21:29:19 -08:00
bazel [grpc] Support latest version of grpc PoC (#6338) 2021-03-25 12:12:35 -07:00
benchmarks Vector Downward GetSize optimization (#6925) 2021-11-22 19:50:42 -08:00
conan Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
dart chore: dart 2.0.5 release changes (#6983) 2022-01-20 13:30:03 -08:00
docs Add initial C# vector of unions support to the documentation. (#6880) 2022-01-13 22:15:35 -08:00
go GetUOffsetT must get value by GetUint32 not GetInt32 (#6072) 2021-02-18 18:38:25 -08:00
grpc Reverting grpc generated file suffix (#6995) 2021-12-18 18:23:28 -08:00
include/flatbuffers Include a SizePrefixed..HasIdentifier for c++. (#6871) 2022-01-28 20:52:32 -08:00
java/com/google/flatbuffers [Java] lookup by byteArray is giving back wrong entry (#6915) 2021-11-15 11:16:45 -08:00
js [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
kotlin Updated main version numbers to 2.0 2021-05-10 11:14:47 -07:00
lobster [Lobster] optional scalars support 2020-08-18 14:00:02 -07:00
lua [Lua] manipulate byte array as string (#6624) 2021-05-07 22:57:13 -07:00
mjs [JS/TS] Modernize TypeScript / JavaScript flatbuffers support (#6095) 2020-09-17 12:21:14 -07:00
net/FlatBuffers Updated main version numbers to 2.0 2021-05-10 11:14:47 -07:00
php Performance improvement to generated+supporting PHP (#5080) 2018-12-20 16:10:20 -08:00
python Fix warning about deprecated module: imp (#6362) 2021-06-17 13:02:22 -07:00
reflection Lua Generator using IR. (#6940) 2021-12-02 21:29:19 -08:00
rust rust: Allow for usage in no_std environment (#6989) 2022-01-20 11:49:02 -05:00
samples Added verifier alignment checking to table fields (#7018) 2022-01-14 14:39:15 -08:00
scripts Use `${PYTHON_EXECUTABLE}` instead of `py` in cmake (#7042) 2022-01-28 15:00:57 -08:00
snap use improved versioning (#6691) 2021-06-11 15:27:59 -07:00
src Include a SizePrefixed..HasIdentifier for c++. (#6871) 2022-01-28 20:52:32 -08:00
swift Improves documentation, and adding DocC (#6784) 2021-09-27 20:59:19 +02:00
tests Include a SizePrefixed..HasIdentifier for c++. (#6871) 2022-01-28 20:52:32 -08:00
ts [ts] Builder incorrectly serializing empty strings (#7047) 2022-01-29 14:23:57 -08:00
.clang-format Made all C++ files clang-formatted. 2017-12-21 11:45:02 -08:00
.editorconfig Unify line ending rules in '.editorconfig' and '.gitattributes' (#5231) 2019-03-18 12:47:07 -07:00
.eslintrc.js [JS/TS] Modernize TypeScript / JavaScript flatbuffers support (#6095) 2020-09-17 12:21:14 -07:00
.gitattributes Unify line ending rules in '.editorconfig' and '.gitattributes' (#5231) 2019-03-18 12:47:07 -07:00
.gitignore Added Google benchmarks (and gtests) (#6920) 2021-11-15 13:41:22 -08:00
.travis.yml Removed test/generate_code.{sh|bat} (#6873) 2021-11-30 23:13:24 -08:00
BUILD.bazel Lua Generator using IR. (#6940) 2021-12-02 21:29:19 -08:00
CMakeLists.txt Use `${PYTHON_EXECUTABLE}` instead of `py` in cmake (#7042) 2022-01-28 15:00:57 -08:00
CONTRIBUTING.md
Formatters.md Ran clang-format-all.sh. Removed default --style=file parameter (#6639) 2021-05-15 12:54:08 -07:00
LICENSE.txt Fixed Apache license not using canonical version. 2019-11-04 17:15:56 -08:00
SECURITY.md Create Security.md 2021-05-19 11:55:50 -07:00
WORKSPACE Upgraded GRPC version to 1.42.0 (#7033) 2022-01-25 09:59:29 -08:00
appveyor.yml Add .NET test to github workflows (#6982) 2021-12-13 11:51:27 -08:00
build_defs.bzl Add a split on ':' to build_defs.bzl (#6742) 2021-07-19 16:42:27 -04:00
composer.json
conanfile.py Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
package.json Bumped package.json to 2.0.4 2021-09-27 15:49:45 -07:00
pom.xml update Java version to 2.0.3 2021-08-14 09:01:54 -07:00
readme.md Update readme.md to point to security policy 2021-05-19 11:59:58 -07:00
swift.swiftformat Improves documentation, and adding DocC (#6784) 2021-09-27 20:59:19 +02:00
tsconfig.json [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
tsconfig.mjs.json [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00

readme.md

logo FlatBuffers

Build Status Build status Join the chat at https://gitter.im/google/flatbuffers Discord Chat Twitter Follow

FlatBuffers is a cross platform serialization library architected for maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.

Go to our landing page to browse our documentation.

Supported operating systems

  • Windows
  • MacOS X
  • Linux
  • Android
  • And any others with a recent C++ compiler.

Supported programming languages

  • C++
  • C#
  • C
  • Dart
  • Go
  • Java
  • JavaScript
  • Lobster
  • Lua
  • PHP
  • Python
  • Rust
  • TypeScript

and more in progress...

Contribution

To contribute to this project, see CONTRIBUTING.

Security

Please see our Security Policy for reporting vulnerabilities.

Licensing

Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.