Skip to content

Latest commit

 

History

History
558 lines (404 loc) · 16.9 KB

ChangeLog.md

File metadata and controls

558 lines (404 loc) · 16.9 KB

Change Log

All notable changes to the project are documented in this file.

v2.6.1 - 2023-10-15

Fixes

  • FTBFS uClibc and musl libc, lite.h missing stdarg.h include

v2.6.0 - 2023-09-17

Changes

  • New APIs from the Infix Project:
    • fexistf()
    • vfopenf()
    • popenf()
    • vreadsnf(), readsnf(), writesf()
    • vreadllf(), readllf(), readdf()
    • writellf(), writedf()

Fixes

  • Spellchecking of API docs

v2.5.3 - 2023-04-08

Changes

  • Refactor copyfile() unit test and verify number of bytes copied
  • Add missing rsync() unit test to ensure proper function

Fixes

  • rsync() does not copy single files correctly
  • copyfile() does not handle empty source files correctly (error)
  • copyfile() does not properly create destination dir

v2.5.2 - 2022-04-17

Changes

  • Add printf format attribute hint to all vararg functions. This will help users of these functions by telling CC what to look for

Fixes

  • Fix fisdir() segfault on GNU/Hurd
  • Fix touch) on Debian/kFreeBSD, use creat() instad of mknod()

v2.5.1 - 2021-12-02

Debian-only fix.

Fixes

  • Use dh_link(1) to install /usr/include/lite -> libite/. The symlink created by libite installer itself is not kept.

v2.5.0 - 2021-11-30

Note: namespace change; the -lite library include files have moved from lite/*.h to libite/*.h due to an unfortunate clash with "LiTE is a Toobox Engine", from the DirectFB project. For a transitional period, however, a compatibility symlink is installed; lite -> libite/.

Changes

  • Header files have moved from lite/*.h to libite/*.h to prevent clashing with DirectFB LiTE library.
  • Include guards in header files have been renamed, much in the same fashion as the move (above), from LITE_foo_H_ to LIBITE_FOO_H_
  • Add configure option to disable compatibility symlink, for systems that do not want name clashes with DirectFB/LiTE, or do not need to be backwards compatible; use configure --without-symlink

Fixes

  • Minor, use defensive coding in strnlen() replacement. Only used on systems that do not have a native implementation.

v2.4.1 - 2021-10-09

Changes

  • Add doxygen API documentation to project, included in tarball, and automatically generated at https://codedocs.xyz/troglobit/libite/
  • Relocate tests/ to test/ in source tree
  • Relocate docs/ to doc/ in source tree

Fixes

  • Prefix CFLAGS/CPPFLAGS/etc with AM_ in test/Makefile.am to prevent clashing with environment. Fix imported from libuEv
  • Replace obsolete AM_CONFIG_HEADER with AC_CONFIG_HEADERS
  • Fix issue with tempfile() returning EOPNOTSUPP on Azure, use fallback to mkostemp() with O_CLOEXEC flag set

v2.4.0 - 2021-03-27

Changes

  • Add support for touchf(), formatted string support for touch()
  • Add support for erasef(), formatted string support for erase()
  • Add support for strtrim(), trims leading and trailing white-space from a string

Fixes

  • Fix systemf() improper handling of system() return value. Now checks if exited OK, then returning the exit status of the command, or if not exited OK, then checks if the command was signaled, and returns -1 with errno set. This also allows for returning 127, like system(), if the shell, or the program itself, did not exist

v2.3.1 - 2021-02-12

Changes

  • Copyright updates, including LICENSE file, year + author last name

Fixes

  • Debian packaging fixes only

v2.3.0 - 2021-02-12

Changes

  • Add support for fremove(), formatted remove() replacement
  • Add support for truncatef(), formatted truncate() replacement
  • Add tar.gz archives to distribution

Fixes

  • Handle ETIMEDOUT error for connect() call in telnet_open()

v2.2.0 - 2020-03-16

Changes

  • Add support for systemf(), formatted string system() replacement
  • Add support for fmkpath(), formatted string mkpath()
  • Add support for fopenf(), formatted string fopen() replacement

Fixes

  • Fix possible memory leak in rsync(), found by Coverity Scan
  • Check return value of fstat() to prevent bogus destination file times when using copyfile(), found by Coverity Scan

v2.1.2 - 2020-02-22

Fixes

  • Fix Debian package upgrade from libite -> libite5

v2.1.1 - 2020-02-22

Changes

  • Add test/example for printhdr()
  • Update copyright years

Fixes

  • chomp: Check for beginning of string while removing \n's

v2.1.0 - 2019-08-26

Changes

  • Add support for strmatch() and strnmatch()
  • Add support for yorn(), safe yes-or-no prompt
  • Add support for telnet expect/session APIs
  • Add modified printhdr() which takes ANSI attribute

Fixes

  • Fix pidfile_signal(): always return result of kill(), or the result of remove() if we successfully sent SIGKILL
  • Fix strtonum(): POSIX strtoll() returns EINVAL, check that
  • Fix #13, support C++ extern "C" {} for header files

v2.0.2 - 2018-05-10

Fixes

  • Fix issue #12, missing includes in strlite.h for standalone use
  • FTBFS strtonum.c on older systems w/o LLONG_MAX and LLONG_MIN

v2.0.1 - 2017-12-22

Changes

  • Add missing initscr() declaration, regression in v2.0.0
  • Add #ifdef guards around min() and max() macros
  • Add const to char * args in multiple API:s:
    • fexist()
    • fgetint()
    • fisslashdir()
    • copyfile()
    • movefile()
    • ifconfig()
    • lfopen()
    • lfgetkey()
    • lfgetint()

Fixes

  • Fix #9, uncommon location of which command in unit test
  • Fix #10, supply unit test with a default $PATH
  • Fix #11, touch() command cannot handle relative paths when updating the mtime of an existing file

v2.0.0 - 2017-11-22

Changes

  • Remove tree(), moved to toolbox.git instead
  • Remove fmode(), please use stat() instead, it's safer
  • Add support for keeping mtime in copy() and rsync()
  • Move source files to an src/ sub-directory
  • Move initscr() from conio.h to conio.c
  • Update docs, recommend mkpath() over makepath()
  • Bump ABI version, major changes to library

Fixes

  • Fix #7, inconsistent return value in mkpath() and makepath()
  • Fix #8, constify mkpath() and makepath()

v1.9.3 - 2017-10-24

Changes

  • initscr(), use stdout, not stderr, like the rest of the conio.h macros. Also, stderr may be redirected by user
  • tree(), update unit test, use standard directries

Fixes

  • initscr(), verify that both stdin and stdout are real TTYs before messing up output or blocking on input for the user
  • tree(), increase internal buffer slightly, output may be truncated otherwise. Found by GCC 7.2

v1.9.2 - 2017-07-09

Changes

  • Add initscr() function to query screen size
  • Convert printheader() to a static inline function

v1.9.1 - 2017-07-03

Changes

  • Add missing whichp() predicate function to accompany which()
  • Allow which("ps aux"), which skips any arguments to command

v1.9.0 - 2017-07-02

Changes

  • Add which(), a C implementation of UNIX which(1)
  • Add printheader(), prints a top-like table heading for client tools
  • Remove UNUSED() macro, recommended to disable GCC warning instead

Fixes

  • Fix issue #6: touch() does not update mtime if file exists
  • Fix non-writable tempfile(), now with proper unit test

v1.8.3 - 2017-01-08

Changes

  • Support absolute path in pidfile(). Needed by, e.g. Inadyn
  • Add initial debian/ packaging
  • Update README with note on remembering to set umask()

Fixes

  • In use-cases when pidfile() is called consecutively, e.g. on SIGHUP, recreate PID file if it no longer exists

v1.8.2 - 2016-09-05

Changes

  • Updated build instructions in README.
  • Converted touch(), makedir(), makefifo(), and erase() from macros to inline functions. Also removed implicit logging to stderr on error.

Fixes

  • Fix small memory leak in pidfile() ... at exit.
  • Fixes for building on musl libc

v1.8.1 - 2016-06-25

Fixes

  • fparseln(), portability fix for NetBSD
  • pidfile(), portability fix for NetBSD and OpenBSD

v1.8.0 - 2016-06-06

Changes

  • Change return type of fsendfile() from size_t to ssize_t
  • Change dir() semantics: do not assert and always return error without calling perror() or similar.
  • The OpenBSD pidfile() function's prefix path _PATH_VARRUN can now be overridden by setting the hidden __pidfile_path variable. E.g., to _PATH_TMP. Make sure read the docs!
  • Add new unit test framework make check.

Fixes

  • Fix bad path in new strndupa() header file.
  • Add missing progress bar API's to lite.h

v1.7.0 - 2016-06-05

Changes

  • Add support for GNU strdupa(), for Inadyn on NetBSD.
  • Add support for GNU strndupa() and strnlen()

Fixes

  • Fix mkpath() to handle creating relative directories.

v1.6.0 - 2016-05-13

Changes

  • Add support for NetBSD fparaseln() for the benefit of Mg
  • Add support for OpenBSD reallocarray() for the benefit of Mg
  • Constify fisdir() argument

v1.5.1 - 2016-04-17

Minor fix release.

Changes

  • Update README.md, add help when libite is used in autotools projects. Spell checking and minor cleanup.

Fixes

  • Activate use of utimensat() when pidfile() is called multiple times. This reduces the overhead of calling open+write+close to simply updating the mtime of the PID file.
  • Westermo fixes for fcopyfile(): nothing copied on embedded PPC system when using tmpfile() as source.

v1.5.0 - 2016-03-20

This release changes the header file namespace. Apologies for any problems this may cause!

Changes

  • Change namespace for header files: libite/ to lite/, e.g. using pkg-config your C program must now #include <lite/lite.h>
  • Update pidfile() to use utimensat() to update atime+mtime instead of opening and writing PID again. Less overhead and nanonsecond res.

v1.4.4 - 2016-02-23

Changes

  • Add ibite.pc.in for pkg-config support.

Fixes

  • Fix issue #3: tempfile() fails with bad O_TMPFILE on some embedded targets, in particular PowerPC. On systems with older GLIBC but with a sufficiently new kernel O_TMPFILE is missing and the local libite definition was wrong, hard coded for x86. Fixed by Johan Askerin.

v1.4.3 - 2016-02-02

Fixes

  • Remove symlinks to Markdown files from GIT
  • Distribute and install Markdown files: README.md, etc.

v1.4.2 - 2016-01-23

Fixes

  • Fix issue #2: GCC6 -Wmisleading-indentation causing FTBFS in pimd, which enables -Werror

v1.4.1 - 2016-01-22

Fixes

  • Fix install path for include files, regression in v1.4.0 With the introduction of GNU autotools include file namespace was unfortunately lost. All include files were therefore installed in $(prefix)/include instead of $(prefix)/include/libite.

v1.4.0 - 2016-01-22

Changes

  • Change to GNU configure and build system
  • Add Niels Provos' splay and red-black tree implementation from OpenBSD sys/tree.h, r1.14
  • Make pidfile() file name accessible as __pidfile_name
  • Step ABI revision to 2.1, with help from http://250bpm.com/blog:41

v1.3.0 - 2016-01-07

Changes

  • Add highly useful typeless min()/max() macros to lite.h, courtesy of Tobias Waldekranz
  • Add BSD queue.h and Borland inspired conio.h to install-dev target. Needed by Finit.
  • Note, this release update queue.h to OpenBSD v1.43, which removes support for circular queues (CIRCLEQ).
  • Update strlcpy.c to OpenBSD v1.12, readability fixes.
  • Update strlcat.c to OpenBSD v1.14, readability fixes.
  • Update strtonum.c to OpenBSD v1.7, tiniest of style tweaks.

Fixes

  • Only update mtime if pidfile() is called more than once, do not install multiple atexit() handlers.
  • Add #ifndef pidfile, as for other BSD functions, in case the user already have a local copy, or a C library with one.

v1.2.0 - 2015-11-23

Changes

  • Add simple parser for UNIX configuration files, e.g. /etc/group, /etc/passwd, and /etc/protocols:
  • lfopen()
  • lfclose()
  • lftok()
  • lfgetkey()
  • lfgetint()
  • fgetint()

Fixes

  • Do not allow VERSION to be overloaded by build system.
  • Make sure we don't inherit LDFLAGS from environment.

v1.1.1 - 2015-09-27

Fixes

  • Silence annoying warnings from GNU ar
  • Fix macro definitions for compat APIs

v1.1.0 - 2015-09-16

Changes

  • Support for make distdir used by automake based projects
  • lite.h move from error.h to more BSD friendly err.h
  • Add highly useful NELEMS() and bitmanip macros
  • Lots of autotests added
  • Add support for running autotests from Travis
  • Add progress() simple progress bar
  • Add tree() simple command line tree replacement
  • Bump SONAME to libite.so.2 on behalf of Finit

Fixes

  • pidfile() upgrade to OpenBSD r1.11
  • Lots of README updates, fixes and additions

v1.0.0 - 2015-07-12

Initial extraction of frog DNA from Finit. See README for API details.