Skip to content

Releases: a-lafrance/lfc

v0.1.3

08 Apr 02:07
86fb0f1
Compare
Choose a tag to compare

New Features

  • dynarray_t: managed, dynamically-allocated arrays
  • Stacks, backed by growable, dynamically-allocated arrays
  • Queues, backed by singly-linked lists
  • New vec_len() and ll_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

23 Mar 22:04
0b372db
Compare
Choose a tag to compare

New Features

  • Condition-based error-handling
    • guard: panic if a condition is false, like Swift's guard statement
    • unwrap: panic if a pointer is null, like optional unwrapping in some languages
  • Basic integer to string conversion with itoa and itos
  • 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

05 Nov 20:24
Compare
Choose a tag to compare

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

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 renamed array_at(), and array_set() has been removed
  • int_simple_hash() takes an int* rather than a void* (see bug listed above)
  • str_simple_hash() has been renamed barestr_simple_hash() and takes a char* rather than a void*
  • 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 rules liblfc and lfc_tests have been changed to liblfc.a and tests, respectively
    • The "proper include" rules have been removed completely (thankfully)

v0.1.0

25 Aug 20:19
Compare
Choose a tag to compare

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