flat_buffers
FlatBuffers reading and writing library for Dart. Based on original work by Konstantin Scheglov and Paul Berry of the Dart SDK team.
25.9.23
193K downloads/mo
#864 most downloaded on pub.dev
google/flatbuffers
What this package is like to depend on
Last release 9 months ago
18 Nov 2025
Release timing varies
gaps range from 2 weeks to 2.0 years
Most releases are documented
notes for 6 of 9 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
12 releases · first in 2018
1 release in the last 12 months
see the full history below
Release timeline
12 releases · May 2018 to Nov 2025Releases
latest 12-
25.9.2318 Nov 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)
Release notes
Open source →- use enhanced enums (#8313)
- fix incorrect write in Float64 write method (#8290)
- code format improvements (#8707)
-
23.5.2618 Nov 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)
Release notes
Open source →- omit type annotationes for local variables (#7067, #7069, #7070)
- remove BSD 3-clause license (#7073)
- correctly parse lists of enums (#7157)
- align naming conventions for generated code (#7187)
- add
putBoolto fix errors when serializing structs with booleans (#7359) - fix handling of +/-inf defaults in codegen (#7588)
- fix import issues in generated code (#7621)
- Fix incorrect storage of floats as ints in some cases (#7703)
- add final modifiers to the library implementation (#7943)
-
2.0.510 Dec 2021Release notes
Open source →- switch to null safety (#6696)
- add Object APIs (pack/unpack) (#6682, #6723, #6846)
- add custom builder buffer allocator support (#6711)
- add
Builder.size()- finished buffer size (#6403) - make
writeString()argument non-nullable (#6737) - make tables fixed size (expect the number of fields when creating) (#6735)
- make table deduplication optional (param
deduplicateTables) (#6734) - change
Builder.reset()to reuse an existing buffer (#6661) - change table building to assert() instead of exceptions (#6754)
- optimize
writeString()for ASCII (paramasciiOptimization) (#6736) - change
StringReaderto make ASCII optimization optional (paramasciiOptimization) (#6758) - change
[byte]and[ubyte]representation todart:typed_dataInt8ListandUint8List(#6839) - rename
lowFinish()tobuffergetter (#6712) - fix
Builder._writeString()- always write trailing zero byte (#6390) - fix
Builder.reset()- clear vTables (#6386) - make sure added padding is zeroed, same as in C++ (#6716)
- many performance improvements (#6755)
-
2.0.5-dev.110 Dec 2021 pre-releaseNothing published for this version
-
2.0.0-dev.117 Nov 2021 pre-releaseNothing published for this version
-
2.0.0-dev.016 Nov 2021 pre-releaseNothing published for this version
-
1.12.012 Mar 2020Nothing published for this version
-
1.11.024 Apr 2019Nothing published for this version
-
1.10.003 Oct 2018Nothing published for this version
-
1.9.213 Aug 2018 -
1.9.127 Jul 2018Release notes
Open source →- Changed constant identifiers to be compatible with Dart 2.x
- No longer supports Dart 1.x
-
1.9.018 May 2018