flatbuffers
Official FlatBuffers Rust runtime library.
25.12.19
95M downloads/mo
#838 most downloaded on crates.io
google/flatbuffers
What this package is like to depend on
Last release 8 months ago
19 Dec 2025
Release timing varies
gaps range from 2 weeks to 10 months
Some releases are documented
notes for 10 of 27 stable releases
6 versions withdrawn
withdrawn after publishing
10 years old
33 releases · first in 2016
2 releases in the last 12 months
see the full history below
Release timeline
33 releases · Jun 2016 to Dec 2025Releases
latest 33-
25.12.1919 Dec 2025Release notes
Open source →What's Changed
- docs: clean up whitespace and fix typo in tutorial.md by @daynual in #8695
- Correct span and non-span versions of ToArray() and ToArrayPadded() methods by @vsmcea in #8734
- [Swift] Fixes test failing on macOS when using URL(fileURLWithPath:isDirectory) by @mustiikhalil in #8742
- treat npm_typescript as a dev dependency by @dws in #8719
- [Dart] Fix union unpacking by @jakobkordez in #8748
- [Dart] Fix struct vector ordering in pack function by @jakobkordez in #8747
- Add conditional check by @coder7695 in #8736
- [Dart] Refactor lazy list unpacking by @jakobkordez in #8746
- Prevent
make_spanfrom working with vectors and arrays of pointers by @are-you-tilted-already in #8735 - Swap the dependency of CreateX and X::Pack object API functions. by @cosmith-nvidia in #8754
- [Swift] Implements FlatbuffersVector which confirms to RandomAccessCollection by @mustiikhalil in #8752
- Fix --gen-compare to not generate comparators for native types. by @cosmith-nvidia in #8681
- Support native_type for tables when using the C++ object API. by @cosmith-nvidia in #8668
- [Swift] Improves the performance creating strings by @mustiikhalil in #8772
- [Docs] Update swift supported features by @mustiikhalil in #8769
- [Swift] Bump minimum supported version of swift to 5.10 by @mustiikhalil in #8758
- [Swift] Inline arrays by @mustiikhalil in #8755
- Replace usage of make_unique with unique_ptr for cpp11 by @fliiiix in #8763
- Fix Issue #8653 - Python vtables not considering object size by @jtdavis777 in #8683
- [C++] Add Vector64 specialization for
std::vector<bool>by @jtdavis777 in #8757 - Stop calling setup.py in release CI by @jtdavis777 in #8771
- [lua] Dont' crash on a fbs file with no root table by @jtdavis777 in #8770
- Revival of GH-8285: fix: remove a single type hint to retain python 2.7.x compatibility by @jtdavis777 in #8799
- [Python] Add unit test for github issue 8653 by @satur9nine in #8786
- Size verifier fix 2 by @fergushenderson in #8740
- Fix issue #8389: any nonzero byte is truthy by @bkietz in #8690
- Add Dart changelog entry for v25.9.23 by @vaind in #8785
- [dart] fix bug which generated wrong code by @fawdlstty in #8780
- add assert to fix GCC warning on Ubuntu 24.04 LTS by @gafferongames in #8804
- chore: fix quick start typos by @Homeblest in #8520
- [Java] Generate Longs from uint enums by @nevi-me in #8727
- [Java] Add
notifyto Java keywords by @nevi-me in #8724 - More robust C++20 check by @cyyever in #8631
- [Dart] Fix dart object api test by @jakobkordez in #8751
- feat: library definition for PlatformIO by @obones in #8261
- Use macos-15-intel not macos-latest-large for Intel macOS by @kou in #8777
- [C++] Fix vtable deduplication for 64-bit buffers >2GB by @gowsiany in #8591
- Bump js-yaml from 4.1.0 to 4.1.1 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #8779
- TypeScript: read vtable entries as uint16 by @jtbandes in #8435
- [fuzzer] Adds code generation target. by @coder7695 in #8795
- [CI] Revert back to using swift-actions by @mustiikhalil in #8806
- [Python] Fix inconsistent creator function naming in generated code by @peter-soos in #8792
- Remove legacy Conan recipe and update documentation by @uilianries in #8712
- [Python] Fix generating init.py for invalid path by @fliiiix in #8810
- [Python] Optimize Builder startup: lazy sharedStrings and fast vtable init by @satur9nine in #8807
- Fix platform ifdefs for locale independent str functions by @jamesr in #8678
- fix CScript string.compare by @whitecostume in #8547
- [Go] add BenchmarkBuildAllocations by @jdemeyer in #8287
- [Go] Write required string fields into the buffer when using Object API by @razvanalex in #8402
- [Java] Use Table's fully qualified path by @nevi-me in #8729
- [Python] Optimize Offset/Pad/Prep: use cached head and slicing by @satur9nine in #8808
- [CI] Migrating to swift Wasm on for Github actions by @mustiikhalil in #8814
- Modernize GitHub CI actions by @fliiiix in #8812
- [Swift] Flexbuffers tests for Wasm by @mustiikhalil in #8815
- CI: Fix typo in version by @fliiiix in #8817
- Handle missing output directory better by @fliiiix in #8764
- Improves Rust code generation by @csmulhern in #8564
- update labeler.yml to v5+ format by @jtdavis777 in #8818
- fix(idl_gen_rust): Fix lifetime warning added in Rust 1.89 by @RobJellinghaus in #8709
- [rust] add deser support for enum type by @fawdlstty in #8803
- rust: impl TrustedLen for VectorIter by @riptl in #8797
- Implement
--file-names-onlyby @jtdavis777 in #8788 - Add .NET Standard 2.0 to documentation by @jtdavis777 in #8819
- Fix(ts): escape doc comment terminator in generated JSDoc by @Ky0toFu in #8820
- Add
--file-names-onlytoflatc.mdby @jtdavis777 in #8821 - Fixes unused imports in Rust code generator by @csmulhern in #8828
- Fix docs: typo & dead link by @kendegemaro in #8826
- Fix TS object API generation of schema containing array of enumeration having no zero default by @jtdavis777 in #8832
- Fix vector of table with naked ptr by @jtdavis777 in #8830
- Deprecate
--ts-flat-filesand--ts-entry-pointsby @jtdavis777 in #8831 - chore: switch package to license expression by @thompson-tomo in #8840
- Arrays of Enumerations without a value for
0are no longer valid by @jtdavis777 in #8836 - Upgrade Kotlin to MacOS 15 by @jtdavis777 in #8845
- [TS] Flexbuffers root vector fix by @jtdavis777 in #8847
- [Kotlin] Fix nullability of generated Kotlin ByteBuffer accessors by @souma987 in #8844
- [Kotlin] Fix casing in generated Kotlin struct constructor function by @souma987 in #8849
- Remove progaurd-rules.pro by @dbaileychess in #8866
- Run clang-format by @dbaileychess in #8865
- Add --gen-absl-hash option to generate AbslHashValue for structs. by @dbaileychess in #8868
- Default Vector Support C++ by @dbaileychess in #8870
- FlatBuffers Version 25.12.19 by @dbaileychess in #8871
New Contributors
- @daynual made their first contribution in #8695
- @vsmcea made their first contribution in #8734
- @dws made their first contribution in #8719
- @jakobkordez made their first contribution in #8748
- @coder7695 made their first contribution in #8736
- @are-you-tilted-already made their first contribution in #8735
- @cosmith-nvidia made their first contribution in #8754
- @satur9nine made their first contribution in #8786
- @fawdlstty made their first contribution in #8780
- @gafferongames made their first contribution in #8804
- @Homeblest made their first contribution in #8520
- @nevi-me made their first contribution in #8727
- @cyyever made their first contribution in #8631
- @obones made their first contribution in #8261
- @kou made their first contribution in #8777
- @gowsiany made their first contribution in #8591
- @jtbandes made their first contribution in #8435
- @peter-soos made their first contribution in #8792
- @jamesr made their first contribution in #8678
- @whitecostume made their first contribution in #8547
- @RobJellinghaus made their first contribution in #8709
- @riptl made their first contribution in #8797
- @Ky0toFu made their first contribution in #8820
- @kendegemaro made their first contribution in #8826
- @thompson-tomo made their first contribution in #8840
- @souma987 made their first contribution in #8844
Full Changelog: v25.9.23...v25.12.19
Release notes
Open source →- [C++] Default emptry vector support (#8870)
- [C++] Add --gen-absl-hash option (#8868)
- [Kotlin] Upgrade to MacOS 15 (#8845)
- [C++] Fix vector of table with naked ptrs (#8830)
- [Python] Optimize Offset/Pad/Prep (#8808)
- Implement
--file-names-only(#8788) - [C++] Fix size verifer (#8740)
-
25.9.2324 Sep 2025Release notes
Open source →What's Changed
- [Swift] Adds new API to reduce memory copying within swift by @mustiikhalil in #8484
- [C++] Fixes access to union members when generating code with options "--cpp-field-case-style upper" and "--gen-object-api" by @Ailuridae in #8447
- [C++] Fix dereference operator of VectorIterator to structures by @admo in #8425
- [TS] Enum value default null by @bjornharrtell in #8619
- [Swift] Flexbuffers native swift port by @mustiikhalil in #8577
- [TS] Upgrade deps by @bjornharrtell in #8620
- Avoid outputting Python files for already generated types by @akb825 in #8500
- Bugfix: grpc python code generation location and file suffix by @fliiiix in #8359
- Decode bytes to strings in Python Object API by @sethraymond in #8551
- [Swift] Adds windows support by @mustiikhalil in #8622
- [TS] Fix relative paths for exports by @trumully in #8517
- [CI] Moves swift actions to use next by @mustiikhalil in #8632
- Bugfix/new decode flag by @fliiiix in #8634
- Use correct default type for str by @fliiiix in #8623
- Fixed typo in quick_start.md by @Dylan-Gallagher in #8592
- Fix typo in code comment by @fliiiix in #8549
- Update README logo path by @gio3k in #8602
- [Python] Avoid include own type by @fliiiix in #8625
- [Swift] Fixes inlining & module importing by @mustiikhalil in #8637
- Fix Enum type definition by @fliiiix in #8624
- Fix JavaScript typo in mkdocs.yml by @luksab in #8515
- [Python] Avoid double flatbuffers include in pyi files by @fliiiix in #8626
- doc: PHP fread typo by @rogeriolino in #8566
- [Swift] Allows keepingCapacity for the underlying memory by @mustiikhalil in #8643
- [Python] Enhance object API
__init__with typed keyword arguments by @crackcomm in #8615 - Fix start page: Backwards and Forwards Compatibility by @fliiiix in #8645
- Support Rust edition 2024 by @aleb in #8638
- Bugfix eq for numpy data types by @fliiiix in #8646
- [Swift] Moves capacity from storage to struct by @mustiikhalil in #8650
- [Swift] Fixes load from misaligned raw pointer by @mustiikhalil in #8649
- Fix native_type non-native_inline fields, add tests by @souryavarenya in #8655
- Remove stray required in docs by @fliiiix in #8663
- Doc fix verifier example code for cpp by @fliiiix in #8664
- docs: fix broken link in readme by @Nugine in #8656
- Fix small typo in word JavaScript (JavasScript -> JavaScript) by @isaiahpettingill in #8530
- Add Rust reflection documentation by @candysonya in #8536
- CMakeLists: include(CheckSymbolExists) so check_symbol_exists() will work by @vzjc in #8580
- Fix: Actually call ValidateOptions by @thejtshow in #8665
- Update TS codegen - change
getFullyQualifiedNamereturn type from string to string literal by @rametta in #8421 - [CI] Fixes swift tests on windows by @mustiikhalil in #8685
- fix(go/grpc): avoid panic on short FlatBuffers input by @thevilledev in #8684
- Bugfix: grpc supress incorrect warning by @fliiiix in #8669
- gRPC callbackService support added by @shankeleven in #8666
- [C#] Fix union verifier by @TorsteinTenstadNorsonic in #8593
- Add bounds checking to a C# method where it was missing by @CurtHagenlocher in #8673
- [C#] Improve Span<> utilization by @bigjt-dev in #8588
- [C#] Added ToSizedArrayPadded(int padLeft, int padRight) to ByteBuffers to avoid unnecessary copying. by @petersvp in #8658
- fix(idl_gen_ts): bool to number conversion in mutable API (#8676) by @nurbo in #8677
- [Swift] Fixes windows CI by @mustiikhalil in #8702
- Use the Google Style for clang-format without exceptions by @dbaileychess in #8706
- bulk code format fix by @dbaileychess in #8707
- Bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in #8704
- FlatBuffers Version 25.9.23 by @dbaileychess in #8708
New Contributors
- @Ailuridae made their first contribution in #8447
- @sethraymond made their first contribution in #8551
- @trumully made their first contribution in #8517
- @Dylan-Gallagher made their first contribution in #8592
- @gio3k made their first contribution in #8602
- @luksab made their first contribution in #8515
- @rogeriolino made their first contribution in #8566
- @crackcomm made their first contribution in #8615
- @aleb made their first contribution in #8638
- @souryavarenya made their first contribution in #8655
- @Nugine made their first contribution in #8656
- @isaiahpettingill made their first contribution in #8530
- @vzjc made their first contribution in #8580
- @thejtshow made their first contribution in #8665
- @rametta made their first contribution in #8421
- @thevilledev made their first contribution in #8684
- @shankeleven made their first contribution in #8666
- @TorsteinTenstadNorsonic made their first contribution in #8593
- @bigjt-dev made their first contribution in #8588
- @petersvp made their first contribution in #8658
- @nurbo made their first contribution in #8677
Full Changelog: v25.2.10...v25.9.23
Release notes
Open source →- flatc:
--grpc-callback-apiflag generates C++ gRPC Callback API serverCallbackServiceskeletons AND client native callback/async stubs (unary + all streaming reactor forms) (opt-in, non-breaking, issue #8596). - Swift - Adds new API to reduce memory copying within swift (#8484)
- Rust - Support Rust edition 2024 (#8638)
- [C++] - Use the Google Style for clang-format without exceptions (#8706)
-
25.2.1011 Feb 2025Release notes
Open source →What's Changed
- Rust reflection: simplify dependencies, fix Android build compatibility by @dextero in #8512
- [Swift] Adds swift 6 to the build matrix & bumps swift to 5.9 by @mustiikhalil in #8414
- Upgrade dependencies by @mering in #8516
New Contributors
Full Changelog: v25.1.24...v25.2.10
Release notes
Open source →- Removed the old documentation pages. The new one is live at https://flatbuffers.dev
- Swift version 6.0 support (#8414)
-
25.1.2425 Jan 2025Release notes
Open source →What's Changed
- Also use rules_bazel_bazel_integration_test dependency with Bzlmod by @mering in #8498
- Add bazel ci by @dbaileychess in #8497
- Fix Bzlmod by @mering in #8503
- Fix Bazel ts support by @mering in #8499
- Improve Bazel CI by @mering in #8502
- Fix npm bzlmod by @mering in #8506
- Add support for Bazel 7 and 8 in Bazel CI by @mering in #8505
- Test external modules explicitly in CI by @mering in #8507
- Bump the versions of all aspect Bazel dependencies by @sbarfurth in #8508
- Remove Bazel WORKSPACE setup. by @mering in #8509
- Add Bazel instructions to docs by @mering in #8510
- [C++] Avoid adding semicolon after a statement by @tzik in #8488
New Contributors
- @sbarfurth made their first contribution in #8508
Full Changelog: v25.1.21...v25.1.24
Release notes
Open source →- Mostly related to bazel build support.
- Min bazel supported is now 7 or higher, as WORKSPACE files are removed (#8509)
- Minor C++ codegen fix removing extra semicolon (#8488)
-
25.1.2122 Jan 2025Release notes
Open source →What's Changed
- Add new Docs source files by @dbaileychess in #8461
docs.ymlAdd workflow for updating docs by @dbaileychess in #8462- docs.yml enable for pushes to main branch by @dbaileychess in #8463
contributions.mdAdd doc about how to contribute to flatbuffers by @dbaileychess in #8464- CNAME: add custom domain by @dbaileychess in #8465
- [Swift] Bug fix for verifier where its being copied by @mustiikhalil in #8451
flatc.mdAdd more documentation by @dbaileychess in #8467quick_start.md: Add quick start guide by @dbaileychess in #8469- Add Annotating Docs by @dbaileychess in #8470
mkdocs.ymladd footer and other info by @dbaileychess in #8471schema.mdFixed some warnings by @dbaileychess in #8472- Fix crash for TypeScript enum in substruct by @fergushenderson in #8430
- fix typo in tutorial by @shynur in #8476
- A couple of small updates to the docs by @srinarasi in #8477
- Add imports for bazel by @dbaileychess in #8486
- Rust full reflection by @candysonya in #8102
- Fix a minor typo in flatc --help output by @musicinmybrain in #8468
- Add missing headers to runtime_cc target by @mering in #8492
- Use Label() to resolve repo name by @mering in #8493
- Use rules_bazel_integration_test to download Bazel binary by @mering in #8495
- Add support for Bzlmod by @mering in #8494
New Contributors
- @shynur made their first contribution in #8476
- @srinarasi made their first contribution in #8477
- @candysonya made their first contribution in #8102
- @mering made their first contribution in #8492
Full Changelog: v24.12.23...v25.1.21
Release notes
Open source →- Rust Full Reflection (#8102)
- Mostly documentation updates hosted at https://flatbuffers.dev
-
24.12.2323 Dec 2024Release notes
Open source →What's Changed
- Avoid ODR violations with flatbuffers::Verifier. by @fergushenderson in #8274
- Improve error handling on Object API name collision. by @mbeards in #8275
- [Kotlin] Add workflow to release kotlin multiplatform version by @paulovap in #8014
- Remove npm/rules_js dependency for C++ only use cases by @philsc in #7990
- [Python] Fix various codegen problems by @anton-bobukh in #8292
- [gRPC] Add new options to control the gRPC code generation by @anton-bobukh in #8298
- Update build.yml to ubuntu-24.04 by @dbaileychess in #8319
- Trying to fix bazel on macOS and Xcode 14.3 by @mustiikhalil in #8304
- Update build.yml by @dbaileychess in #8321
- Add missing opertors to VectorIterator by @Icantjuddle in #8309
- [.NET] Add netstandard2.0 as target by @bjornharrtell in #8295
- [Kotlin] Update to kotlin 1.9.10 by @paulovap in #8307
- dart: Fix incorrect write in Float64 write method by @NotTsunami in #8290
- Added automatic publishing to crates.io on publish by @rdelfin in #8263
- Update release.sh by @dbaileychess in #8322
- Fix operator== for flatbuffers::optional by @mikudehuane in #8223
- [C++] Make code compile with -Wfloat-equal by @fliiiix in #8221
- [C++] Allow using FLATBUFFERS_MIN_BUFFER_SIZE in other namespaces by @dominiklohmann in #8229
- [Python] Generate
.pyistub files when--python-typingis on. by @anton-bobukh in #8312 - [Swift] Sets Swift minimum support to 5.8 by @mustiikhalil in #8228
- [C++] Update the validator to skip structs in namespaces other than the current one. by @anton-bobukh in #8324
- [BinaryAnnotator] Add more options that control the generation of
.afbfiles by @anton-bobukh in #8323 - [Python] Render enums as Python IntEnum by @fliiiix in #8145
- [gRPC] Update the code generator for Python to produce typed handlers by @anton-bobukh in #8326
- Add parentheses in FLATBUFFERS_MAX_BUFFER_SIZE, FLATBUFFERS_MAX_64_BUFFER_SIZE to avoid preprocessor definition collision by @mspanc in #8377
- Add "empty()" to vector by @alphalex-google in #8369
- Remove unused comment and fix typo. by @lamtrinhdev in #8366
- Upgrade Rust dependencies by @gschulze in #8372
- [jumbo] Add begin()/end() to DetachedBuffer. by @pkasting in #8370
- Add a unit test for odd-sized small structs (for #8117) by @nolen777 in #8363
- Update libs.versions.toml by @mikhsol in #8387
- docs: update README.md by @eltociear in #8383
- Use actions/upload-artifact@v4 on CI by @aardappel in #8410
- Attempt to fix Rust CI by @aardappel in #8411
- [Swift] Fixes spelling mistake in the word position by @mustiikhalil in #8330
- [Swift] Addresses a bug where verifier skips capacity when verifying ID on buffers by @mustiikhalil in #8413
- [Swift] Updates CocoaPods author info & fixes bug with versioning not working as expected by @mustiikhalil in #8328
- Update grpc-core version by @mikhsol in #8412
- FlexBuffers: support "natural utf8" output in ToString by @aardappel in #8426
- use ALIGN for Push::alignment in struct types by @bkietz in #8398
- Removes 'size' and 'alignment' as Rust keywords by @csmulhern in #8139
- dart: use enhanced enums by @vaind in #8313
- [Swift] Improves vectors performance & arrays within lib by @mustiikhalil in #8415
- FlatBuffers Version 24.12.23 by @dbaileychess in #8459
New Contributors
- @fergushenderson made their first contribution in #8274
- @Icantjuddle made their first contribution in #8309
- @NotTsunami made their first contribution in #8290
- @rdelfin made their first contribution in #8263
- @mikudehuane made their first contribution in #8223
- @dominiklohmann made their first contribution in #8229
- @mspanc made their first contribution in #8377
- @alphalex-google made their first contribution in #8369
- @lamtrinhdev made their first contribution in #8366
- @gschulze made their first contribution in #8372
- @nolen777 made their first contribution in #8363
- @mikhsol made their first contribution in #8387
- @eltociear made their first contribution in #8383
- @bkietz made their first contribution in #8398
- @csmulhern made their first contribution in #8139
Full Changelog: v24.3.25...v24.12.23
-
24.3.2512 Apr 2024Release notes
Open source →What's Changed
- Fix License by @p0fi in #8253
- Fix handling non null-terminated string_views in LookupByKey by @mpawlowski-eyeo in #8203
New Contributors
- @p0fi made their first contribution in #8253
- @mpawlowski-eyeo made their first contribution in #8203
Full Changelog: v24.3.7...v24.3.25
Release notes
Open source →- Fixed license metadata parsing (#8253)
- [C++] Allow string_view in
LookUpByKeyin addition to null-terminated c-style strings (#8203)
-
23.5.2603 Jun 2023Release notes
Open source →- Mostly bug fixing for 64-bit support
- Adds support for specifying underling type of unions in C++ and TS/JS (#7954)
-
23.1.2124 Jan 2023Release notes
Open source →- Reworked entry points for Typescript/Javascript and compatibility for single file build (#7510)
-
22.12.624 Jan 2023Nothing published for this version
-
22.10.2603 Nov 2022Nothing published for this version
-
22.9.2918 Oct 2022Release notes
Open source →- Rust soundness fixes to avoid the crate from bing labelled unsafe (#7518).
-
2.1.225 Apr 2022Nothing published for this version
-
2.1.125 Feb 2022Nothing published for this version
-
2.1.022 Feb 2022Nothing published for this version
-
2.0.019 May 2021Nothing published for this version
-
0.9.002 May 2021Nothing published for this version
-
0.8.629 Apr 2021 withdrawnNothing published for this version
-
0.8.529 Apr 2021 withdrawnNothing published for this version
-
0.8.416 Apr 2021Nothing published for this version
-
0.8.312 Feb 2021Nothing published for this version
-
0.8.219 Jan 2021Nothing published for this version
-
0.8.111 Jan 2021Nothing published for this version
-
0.8.009 Dec 2020Nothing published for this version
-
0.7.029 Oct 2020Nothing published for this version
-
0.6.130 Jan 2020Nothing published for this version
-
0.6.024 Apr 2019Nothing published for this version
-
0.5.003 Oct 2018Nothing published for this version
-
0.4.004 Sep 2018Nothing published for this version
-
0.3.006 Jun 2016 withdrawnNothing published for this version
-
0.2.105 Jun 2016 withdrawnNothing published for this version
-
0.2.003 Jun 2016 withdrawnNothing published for this version
-
0.1.001 Jun 2016 withdrawnNothing published for this version