FlatBuffers: Memory Efficient Serialization Library
Go to file
Florian Wagner e61b00359b
[Kotlin] Improve field nullability based on (required) (#7658)
* [Kotlin] Only generate nullable return types if the field is not required

* [Kotlin] Fix generated code formatting according to kotlin style guide

Co-authored-by: Derek Bailey <derekbailey@google.com>
Co-authored-by: Paulo Pinheiro <paulovictor.pinheiro@gmail.com>
2023-01-06 04:16:31 +00:00
.bazelci [swift] Add bazel configuration for Swift (#7195) 2022-03-29 21:30:33 -07:00
.github Add link to building guide (#7733) 2022-12-22 14:06:57 -08:00
CMake FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
android Expand wildcard imports in the generated Kotlin files. (#7757) 2023-01-05 14:34:44 -08:00
bazel [grpc] Support latest version of grpc PoC (#6338) 2021-03-25 12:12:35 -07:00
benchmarks Started to migrate to target_compile_options (#7222) 2022-04-06 13:25:43 -07:00
conan remove travis config (#7522) 2022-09-10 12:36:51 -07:00
dart FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
docs Fix "Download Doxygen" URL (#7699) 2022-12-06 14:01:12 -08:00
examples/go-echo Use FinshedBytes() in go-echo example instead of manually encoding offset (#7660) 2022-11-29 02:29:48 +00:00
go Fix go.mod name (#7756) 2023-01-04 09:27:44 -08:00
grpc FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
include/flatbuffers Fix operator==() generated for field of fixed sized array (#7749) 2023-01-05 20:11:11 -08:00
java FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
js [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
kotlin Replace `bash JavaTest.sh` with `mvn test` (#7500) 2022-09-11 17:46:46 -07:00
lobster [Lobster] file_identifier support 2022-03-08 15:39:12 -08: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 FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
nim [Nim] Bfbs Nim Generator (#7534) 2022-10-21 14:30:04 -04:00
php Fix PHP byte validation and reenable builds (#7670) 2022-11-29 08:12:28 -08:00
python FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
reflection Add support for metadata attributes for enum values (#7567) (#7568) 2022-10-06 20:18:00 -04:00
rust FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
samples FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
scripts FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
snap use improved versioning (#6691) 2021-06-11 15:27:59 -07:00
src [Kotlin] Improve field nullability based on (required) (#7658) 2023-01-06 04:16:31 +00:00
swift FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
tests [Kotlin] Improve field nullability based on (required) (#7658) 2023-01-06 04:16:31 +00:00
ts [TS] Make strict compliant and improve typings (#7549) 2022-09-29 15:03:35 -07:00
.clang-format Made all C++ files clang-formatted. 2017-12-21 11:45:02 -08:00
.clang-tidy Add clang-tidy, fix some bugpron problems. (#7708) 2022-12-14 21:58:55 -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 Add _deps/ to gitignore 2022-11-13 12:00:07 -08:00
BUILD.bazel code gen flexbuffer verifier (#7207) 2022-04-05 16:29:42 -07:00
CHANGELOG.md FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
CMakeLists.txt [C++] Fix clang `-Wnewline-eof` warning (#7711) 2022-12-14 21:35:54 -08:00
CONTRIBUTING.md Fixed link to Google C++ Style Guide. 2017-02-08 16:37:25 -08:00
FlatBuffers.podspec FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
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
Package.swift Moves swift package to root of repository so it can be used directly … (#7548) 2022-09-27 14:32:05 -07:00
Package@swift-5.5.swift Moves swift package to root of repository so it can be used directly … (#7548) 2022-09-27 14:32:05 -07:00
SECURITY.md Create Security.md 2021-05-19 11:55:50 -07:00
WORKSPACE Upgrade rules_go for Bazel 7.0 support (#7691) 2022-12-05 16:56:02 -08:00
build_defs.bzl Move flatbuffer_ts_library to typescript.bzl (#7183) 2022-03-22 21:41:39 -07:00
composer.json (PHP) add experimental support for PHP language. 2015-11-18 00:26:39 +09:00
conanfile.py Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
package.json FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
readme.md Update Readme.md for versioning 2023-01-05 14:24:56 -08:00
rollup.config.js [TS/JS] Add rollup and config to generate iife flatbuffers bundle (#7449) 2022-08-29 16:37:43 -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
typescript.bzl [TS/Bazel] Minor improvements to typescript.bzl (#7300) 2022-08-05 22:04:05 -07:00
yarn.lock [TS/JS] Move TS tests to dedicated folder and deps upgrade (#7508) 2022-09-12 20:03:23 -07:00

readme.md

logo FlatBuffers

Build status BuildKite status Fuzzing Status OpenSSF Scorecard Join the chat at https://gitter.im/google/flatbuffers Discord Chat Twitter Follow 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
  • Linux
  • Android
  • And any others with a recent C++ compiler (C++ 11 and newer)

Supported programming languages

Code generation and runtime libraries for many popular languages.

  1. C
  2. C++ - snapcraft.io
  3. C# - nuget.org
  4. Dart - pub.dev
  5. Go - go.dev
  6. Java - Maven
  7. JavaScript - NPM
  8. Kotlin
  9. Lobster
  10. Lua
  11. PHP
  12. Python - PyPi
  13. Rust - crates.io
  14. Swift - swiftpackageindex
  15. TypeScript - NPM
  16. Nim

Versioning

FlatBuffers does not follow traditional Semver versioning (see rationale) but rather uses a format of the date of the release.

Contribution

To contribute to this project, see CONTRIBUTING.

Community

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.