All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.3.0 - 2026-01-25
- Bump the Minimum Support Rust Version (MSRV) to 1.88.0 #343
- Add support for C++-esque name resolution in module paths #314
- Add
--formatflag to planus-cli to allow disable rustfmt formatting of the generated file #341
- Fixed planus inspector not working on MacOS #342
1.2.0 - 2025-08-26
- Added support for
force_alignon table fields #307
1.1.1 - 2025-03-02
- [Rust]: Fix the alignment of structs in unions #289
1.1.0 - 2025-03-02
- Bump the Minimum Support Rust Version (MSRV) to 1.75.0
- The
PrimitiveandVectorWritetraits are now marked as unsafe to remind implementers of alignment constraints - [Rust]: Add support for union vectors #287
- Add support for displaying union vectors with
planus view#287
- Added extra unsafe blocks to templates to fix warnings for the 2024 edition
- Updated tests for the 2024 edition
1.0.0 - 2024-09-29
- [Rust]: Added
#[allow(dead_code)]to the root of the generated rust code #204 - Added the option
ignore_docstring_errorsto the app. #216 - Get rid of dependency on
attyand bump the Minimum Support Rust Version (MSRV) to 1.70.0. #220 - [Rust]: Allow default implementations to be generated for tables that have fields with (required) vectors, strings, integers and bools. #243
0.4.0 - 2023-06-03
- [Rust]: Added more
impls for union and struct references - [Rust]: Add an
ENUM_VALUESconst to enums - [Rust]: Make
Vectormore similar to rust slices by adding more methods - [Rust]: Vectors of
uint8/int8now deserialize directly to rust slices - [Rust]: Implement caching of vtables, byte-slices and strings, hidden
behind the
vtable-cache,bytes-cacheandstring-cachefeature flags (they are enabled by default) - [Rust]: Bump the Minimum Support Rust Version (MSRV) to 1.64.0.
- [Rust]: Add license files to crates
- [Rust]: Implement a builder pattern for serializing tables and unions
- Add support for docstrings, and add them to the Rust output. #152
- Update the
READMEwith information about our Discord server #138 - Split up
planus-cliinto multiple crates #161 - Add
viewcommand toplanus-cli(though it is still somewhat experimental)
- Fix planus failing with "Unexpected token" on CLRF #166
- [Rust]: rustfmt runs twice on generated code to ensure it is formatted correctly #168
- [Rust]: Fix an issue with using structs across different flatbuffer namespaces #172
- [Rust]: Fix bad error reporting when
rustfmtwas not installed #173
- [Rust]: The old ways of serializing tables and unions using
create-functions have been removed.
0.3.1 - 2022-06-15
- [Rust]: Made planus crate
#[deny(missing_docs)] - [Rust]: Add support for strings in unions
- [Rust]: Add support for structs in unions
- [Rust]: Fix a few codegen bugs when using certain field names
- [Rust]: Fix panic when accessing union from invalid input
- [Rust]: Fix a bug where struct attributes were used instead of struct field attributes
- [Rust]: Implement support for the
force_alignattribute on structs
0.3.0 - 2022-02-06
- Improved documentation
- [Rust]: The
Buildernow has impls forSendand andSync - [Rust]: We now derive
Ord,Eq,HashandDefaultin some cases - [Rust]: Added an MSRV policy
- Added a type-check for name overlap between namespaces and declarations
- Added
generate-completionssubcommand toplanus-clito generate shell completions for popular shells - Added a DOT backend
- Added a version check to guard against using out-of-date code
- Fixed some typos by @OliverEvans96
- Various clippy lints
0.2.0 - 2022-01-12
- Add null terminators to strings
- Make generated code work in
no_std - Add support for the
idattribute - (Breaking) Removed the
ToOwnedtrait in favor ofTryInto - (Breaking) The Vector deserialization API changed slightly, see #59 for details
0.1.0 - 2021-12-30
- Initial release