Skip to content

Releases: dvidelabs/flatcc

0.6.1 Bugfix and maintenance release

23 May 10:56
Compare
Choose a tag to compare

Release 0.6.1 contains primarily bug fixes and numerous contributions from the community to handle platform edge cases. Additionally, pendantic GCC warnings are disabled, relying instead on clang, since GCC is too aggressive, breaks builds frequently and works against portability. An existing C++ test case ensures that C code also works with common C++ compilers, but it can break some environments, so there is now a flag to disable that test without disabling all tests. Support for Optional Scalar Values in the FlatBuffer format has been added. There is also improved support for abstracting memory allocation on various platforms. <table>_identifier has been deprecated in favor of <table>_file_identifier in generated code due to identifier easily leading to name conflicts. file_extension constant in generated code is now without prefixed dot (.).

0.6.0 Feature Release

17 Aug 11:14
Compare
Choose a tag to compare

Primarily introduces fixed size arrays in structs and a primary attribute for sorting buffers recursively:

Release 0.6.0 introduces a "primary" attribute to be used together with a key attribute to chose default key for finding and sorting. If primary is absent, the key with the lowest id becomes primary. Tables and vectors can now be sorted recursively on primary keys. BREAKING: previously the first listed, not the lowest id, would be the primary key. Also introduces fixed size scalar arrays in struct fields (struct and enum elements are not supported). Structs support fixed size array fields, including char arrays. Empty structs never fully worked and are no longer supported, they are also no longer supported by flatc. NOTE: char arrays are not currently part of Googles flatc compiler - int8 arrays may be used instead. BREAKING: empty structs are no longer supported - they are also not valid in Googles flatc compiler. See CHANGELOG for additional changes. DEPRECATED: low-level cast_to/from from functions in flatcc_accessors.h will be removed in favor of read/write_from/to because the cast interface breaks float conversion on some uncommon platforms. This should not affect normal use but remains valid in this release.

0.5.3 Bugfix and maintenance release

20 Feb 08:11
Compare
Choose a tag to compare

Release 0.5.3 includes various bug fixes (see changelog) and one breaking but likely low impact change: BREAKING: 0.5.3 changes behavour of builder create calls so arguments are always ordered by field id when id attributes are being used, for example MyGame_Example_Monster_create() in monster_test.fbs (#81). Fixes undefined behavior when sorting tables by a numeric key field.

0.5.2 Minor feature release

28 Aug 11:11
Compare
Choose a tag to compare

Release 0.5.2 introduces optional _get suffix to reader methods. By using flatcc -g only _get methods are valid. This removes potential name conficts for some field names. 0.5.2 also introduces the long awaited clone operation for tables and vectors. A C++ smoketest was added to reduce the number void pointer assignment errors that kept sneaking in. The runtime library now needs an extra file refmap.c.

0.5.1 Bugfix and maintenance release

19 Feb 16:10
Compare
Choose a tag to compare

Release 0.5.1 fixes a buffer overrun in the JSON printer and improves the portable libraries <stdalign.h> compatibility with C++ and the embedded newlib standard library. JSON printing and parsing has been made more consistent to help parse and print tables other than the schema root as seen in the test driver in test_json.c. The monster_test.fbs file has been reorganized to keep the Monster table more consistent with Googles flatc version and a minor schema namespace inconsistency has been resolved as a result. Explicit references to portable headers have been moved out of generated source. extern "C" C++ guards added around generated headers. 0.5.1 also cleaned up the low-level union interface so the terms { type, value } are used consistently over { type, member } and { types, members }.

0.5.0 Feature Release

05 Jan 12:20
Compare
Choose a tag to compare

Release 0.5.0 aims to reach feature parity with C++ FlatBuffers as of
end 2017. These new features are union vectors and mixed type unions
that can include tables, structs and strings, and type aliases for int8,
uint8, int16, uint16, int32, uint32, int64, uint64, float32, float64
types in the schema. Support for base64(url) JSON encoded [ubyte]
vectors has been added which will also be added to Googles flatc tool in
a future release. In addition the following changes have been added:
Runtime builder library support for aligned_alloc/free. Handling of
unions is slightly incompatible with previous releases as covered in the
documentation and the changelog. v0.5.0 fixes a bug that could cause a
JSON parser to reject some valid symbols for some schemas and also fixes
a non-critical JSON scoping issue with symbolic union names and a bug
verifying buffers with a struct as root. Low-level custom frame support
has been improved in the builder library which is useful for complex
parsing scenarios.

0.4.3 bug fix release

02 Aug 10:57
Compare
Choose a tag to compare

flatcc 0.4.3 is a bug fix release covering nested FlatBuffers, JSON and grisu3
numeric errors, special cases for JSON keyword parsing, improved C++
compatibility, flexible configuration of malloc alternatives.

0.4.2 bug fix release

12 May 15:18
Compare
Choose a tag to compare

Important bug fix release: Fixes memory corruption when building with a nesting level of 8 or above.

Also improves C++ compatibility with portable headers and a GCC aligned_alloc issue with older GCC versions, and a minor memory leak in the the flatcc compiler without impact on runtime.

Maintenance release with improved JSON handling

12 Apr 08:43
Compare
Choose a tag to compare

This release improves the JSON tests and fixes some bugs found in this context.

A new scan operation is added to the generated reader so all vectors can be searched in O(n) without being sorted.

Non-standard big-endian flatbuffer encoding

26 Oct 19:43
Compare
Choose a tag to compare

Use v0.4.0 for standard little-endian encoded flatbuffers (also for big-endian hosts)