Releases: a-lafrance/lfc
Releases · a-lafrance/lfc
v0.1.3
New Features
dynarray_t
: managed, dynamically-allocated arrays- Stacks, backed by growable, dynamically-allocated arrays
- Queues, backed by singly-linked lists
- New
vec_len()
andll_len()
functions to prevent direct field access
Bug Fixes
- Resolved bugs that prevented Linux from being supported
- Fixed a variety of memory leaks and errors in unit tests
Breaking Changes
None
v0.1.2
New Features
- Condition-based error-handling
guard
: panic if a condition is false, like Swift'sguard
statementunwrap
: panic if a pointer is null, like optional unwrapping in some languages
- Basic integer to string conversion with
itoa
anditos
- A new string initialization function,
str_frombuf
, which takes ownership of the buffer rather than copying
Bug Fixes
None
Breaking Changes
None
v0.1.1
New Features
- Vectors (growable array lists)
- Owned, mutable strings: think string buffers in some languages,
String
in Rust - Hash maps
- A pair data structure to support key-value pairs
- A new type alias for a generic free function API
- Substantial project infrastructure & layout changes
- Reorganized project into 3 components:
lfc
,internals
,tests
- Reorganized project into 3 components:
Bug Fixes
- Fixed a bug with
int_simple_hash()
that corrupted hash calculation by upcasting the hash value pointer
Breaking Changes
array_get()
has been renamedarray_at()
, andarray_set()
has been removedint_simple_hash()
takes anint*
rather than avoid*
(see bug listed above)str_simple_hash()
has been renamedbarestr_simple_hash()
and takes achar*
rather than avoid*
- The new
free_fn_t
type alias is used instead of raw function pointers throughout - Due to the above layout changes, the build infrastructure has changed slightly:
make
rulesliblfc
andlfc_tests
have been changed toliblfc.a
andtests
, respectively- The "proper include" rules have been removed completely (thankfully)
v0.1.0
New Features
- Basic collections
- Arrays
- Linked lists
- Hash sets
- Miscellaneous utilities
- Simple hash functions
- Error-checked dynamic memory allocation
- A simple error-handling system
Bug Fixes
- Well... none, since it's the first version
Breaking Changes
- No public API to break -> no breaking changes