1
0
Fork 0
mirror of https://github.com/tailix/libkernaux.git synced 2024-11-13 11:04:27 -05:00
libkernaux/NEWS.md

3.8 KiB

Releases

0.5.0 (2022-11-26)

138 files changed, 2962 insertions(+), 1741 deletions(-)

Breaking changes

  • ./configure - feature --with[out]-io has been removed.
  • <kernaux/io.h> - the header has been removed.
  • <kernaux/printf.h> - the API of the functions functions "[v]fprintf" has been changed.

New features

  • ./configure - package --with[out]-asm has been added.
  • ./configure - packages --with[out]-arch-(all|i386|riscv64|x86-64) have been added.
  • ./configure - package --with[out]-drivers has been added.
  • ./configure - package --with[out]-free-list has been added.
  • <kernaux/free_list.h> - new header. It's a free list memory allocator.
  • <kernaux/macro.h> - new header. It's a set of macros.
  • <kernaux/macro.h> - macro KERNAUX_PRIVATE_FIELD has been added.
  • <kernaux/macro.h> - macro KERNAUX_PROTECTED_FIELD has been added.
  • <kernaux/macro.h> - macros KERNAUX_BITS[8|16|32|64] have been added.
  • <kernaux/macro.h> - macros KERNAUX_CONTAINER_OF have been added.
  • <kernaux/generic/malloc.h> - new header. It's a generic memory allocator interface.
  • <kernaux/generic/mutex.h> - new header. It's a generic mutex interface.
  • Definition KERNAUX_ACCESS_PRIVATE has been added.
  • Definition KERNAUX_ACCESS_PROTECTED has been added.

0.4.0 (2022-06-16)

225 files changed, 8625 insertions(+), 3744 deletions(-)

Breaking changes

  • ./configure - feature --(enable|disable)-bloat has been removed.
  • ./configure - feature --(enable|disable)-pic has been removed.
  • <kernaux/assert.h> - API has been completely changed.
  • <kernaux/libc.h> - header has been removed.
  • <kernaux/ntoa.h> - API has been completely changed.
  • <kernaux/printf.h> - Easter egg has been removed.
  • <kernaux/printf.h> - functions "[v]printf" have been renamed to "[v]fprintf", API has been changed.

New features

  • ./configure - new feature --(enable|disable)-debug.
  • ./configure - new package --with[out]-io.
  • ./configure - new package --with[out]-memmap.
  • <kernaux/memmap.h> - new header. It's a memory map.

0.3.0 (2022-05-28)

134 files changed, 6149 insertions(+), 1770 deletions(-)

Breaking changes

  • <kernaux/assert.h> - a semicolon is required after macros.
  • <kernaux/assert.h> - the constant KERNAUX_ITOA_BUFFER_SIZE is renamed to KERNAUX_ITOA10_BUFFER_SIZE.

New features

  • ./configure - testing may be enabled with --enable-tests, --enable-tests-all, --enable-tests-python.
  • ./configure - the heavy binary data may be disabled with --disable-bloat.
  • ./configure - position-independent code is generated by default, disable with --disable-pic.
  • ./configure - compiler warnings turn into errors by default, disable with --disable-werror.
  • <kernaux/libc.h> - added functions atoi, isdigit, isspace.
  • <kernaux/ntoa.h> - added functions kernaux_[u|i]toa, kernaux_[u|i]toa16 and related constants.

Other changes

  • Assertions are used more broadly.
  • <kernaux.h> - the header is now generated from template depending on configuration options, so you may safely include it when some packages are missing, it won't cause compilation error.
  • <kernaux/printf.h> - a potential buffer overflow is fixed.

0.2.0 (2022-01-22)

51 files changed, 1647 insertions(+), 501 deletions(-)

Breaking changes

  • ./configure - removed options to disable panic calls and returns in <kernaux/assert.h>.
  • <kernaux/assert.h> - removed preprocessor directives that can disable panic calls and returns.

New features

  • <kernaux/cmdline.h> is stable now. It's a simple command line parser.

Other changes

  • Now ./configure options also follow semantic versioning.
  • Bug fixes in <kernaux/printf.h>.

0.1.0 (2022-01-20)

Initial release.