Skip to content

Releases: Cryptkeeper/libtinyfseq

v3.2.0

19 May 16:49
Compare
Choose a tag to compare
  • Replaces mis-aligned pointer cast/dereferences with __builtin_memcpy calls to remove undefined behavior.

Full Changelog: v3.1.0...v3.2.0

v3.1.0

06 Feb 23:42
Compare
Choose a tag to compare

Fixes variable headers of size 0-4 being able to cause an out of bounds read.
Adds fuzzing and build coverage using CMake and GitHub Actions

v3.0.0

20 Dec 00:22
Compare
Choose a tag to compare

(Incompatible with v2.x usage, although the underlying changes are minor.)

The biggest change is new function/struct names. The snakecase has been replaced to reduce long lines of code when using the library.

Each struct has its name prefixing the function name, followed by _read. This makes a clean assocation between each type (e.g. TFHeader and TFHeader_read).

enum tf_err_t -> TFError
tf_err_str -> TFError_string
struct tf_var_header_t -> TFVarHeader
tf_read_var_header -> TFVarHeader_read
struct tf_file_header_t -> TFHeader
tf_read_file_header -> TFHeader_read
...

Ignoring the new typedefs, the struct names are mostly unchanged with the exception of struct tf_file_header_t being shortened to struct tf_header_t.

There were multiple errors describing undersized buffers provided to _read functions. They have been unified into a single TF_EINVALID_BUFFER_SIZE error value.

The previously definable macro, TINYFSEQ_MEMCPY, was replaced with usage of __builtin_memcpy.

v2.1.0

10 May 19:31
9fc13c7
Compare
Choose a tag to compare

Fixes a decoding error that would result in an unexpectedly 0 struct tf_file_header_t->frameStepTimeMillis value.

v2.0.0

01 Sep 22:26
9e3dd03
Compare
Choose a tag to compare

Merges tinyfseq.c & tinyfseq.h into a single-file library in the style of std libraries.

Additional Changes

  • CMake usage removed due to lack of need
  • Removed string.h include, replaced with a basic memcpy function (override with TINYFSEQ_MEMCPY)
  • Removed packed attributes, safer code for working with padded structures

v1.2.0

30 Aug 20:21
499b4b6
Compare
Choose a tag to compare

build.h (generated using CMake via build.h.in) has been stripped down and merged into tinyfseq.h. This enables people to use the library by simply including tinyfseq.h and tinyfseq.c into their project directly.

Breaking Changes

  • build.h was merged so you must remove the include, but you likely weren't including it anyways
  • The library version macro, TF_VERSION has been renamed to TF_LIB_VERSION
  • The error string strip logic has been improved and is backwards compatible, but it is worth double-checking your usage against the updated documentation

v1.1.0

06 Aug 21:48
68f9264
Compare
Choose a tag to compare
  • Compression types (tf_ctype_t) are now exposed via the tf_file_header_t->compressionType member
  • Improvements to the error return behavior of tf_read_file_header when using reading compressed files (more info in the commit)
  • build.h is now correctly installed when using make install

v1.0.1

12 Apr 16:34
b31c5d8
Compare
Choose a tag to compare

Fixes

  • tf_read_uint24 incorrectly used BITAND operations instead of BITOR, resulting in corrupted return values