v3.0.0
(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.