FlatBuffers v25.12.19 Release Notes
Release Date: 2025-12-19 // 6 months ago-
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
- 0️⃣ 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
*...
Previous changes from v25.9.23
-
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
- 0️⃣ [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
- 0️⃣ 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