Changelog for skalibs. In 2.8.0.0 ---------- - Bugfixes. - avltreeb removed. (It used VLAs inside of structures, which is GNU C, not C99.) The AVLTREEN_DECLARE_AND_INIT() macro should be used instead. - New functions: env_dump(), mk?temp(), autosurf(), autosurf_name() - mkdir_unique() removed. (Duplicate functionality with mkdtemp.) In 2.7.0.0 ---------- - Bugfixes. - New functions: ipc_timed_sendv(), unlink_void(), genset_deepfree(), gensetdyn_deepfree(), skagetln_loose(), skagetlnsep_loose() - dir_close() now returns void and leaves errno unchanged - absolutepath(), sarealpath_tmp(), avl*_deletnode(), mininetstring, prot functions removed - djbunix.h doesn't include env.h anymore In 2.6.4.0 ---------- - Bugfixes. - New functions: execvep_loose(), byte_zzero(), openb_read(), sig0_scan() - New function family: skalibs/genqdyn.h In 2.6.3.1 ---------- - Bugfixes. In 2.6.3.0 ---------- - New dir_fd function wrapping dirfd() (Solaris doesn't have dirfd()) - memmem implementation for platforms that don't provide it. - memmem wrappers: byte_search, siovec_search. - New functions: atomic_symlink, skagetlnmaxsep, child_spawn3 - New header: skalibs/posixplz.h, some header reorganization. - New family of functions: textmessage and textclient - skalibs/environ.h and skalibs/getpeereid.h are now obsolescent. - Bugfixes. In 2.6.2.0 ---------- - New functions: access_at() (MacOS and Solaris don't support faccessat), skaclient_timed_aflush(). - stralloc.h and tai.h are suitable for inclusion in C++ headers. - New sysdep: SKALIBS_HASODIRECTORY. (MacOS doesn't support O_DIRECTORY.) In 2.6.1.0 ---------- - New function: lock_unx(). In 2.6.0.2 ---------- - Bugfixes. - Optimized packing/unpacking routines. In 2.6.0.1 ---------- - Better CPPFLAGS/CFLAGS/LDFLAGS management. - openwritenclose() and openwritevnclose() now use mkstemp. In 2.6.0.0 ---------- - Bugfixes. - New unixmessage_receiver_hasmsginbuf() function to address an issue in unixmessage_handle(). - fd_close() now returns void. This mandates a major version bump. - new skalibs_setgroups(), setgroups_with_egid() and setgroups_and_gid() functions to work around supplementary group mismanagement in... can you guess what operating system? (You get 3 tries. One for each BSD.) In 2.5.1.1 ---------- - Bugfixes. In 2.5.1.0 ---------- - Bugfixes. - More workarounds for OpenBSD (who else). - More workarounds for sysdeps detection by broken toolchains. - Added the xpathexec_* family of functions (in djbunix.h). In 2.5.0.0 ---------- - Added this NEWS file. :) - Dropped support for old versions of OpenBSD (at least 4.9 isn't working anymore). Newer versions are still supported: 5.7 and up are working. - --enable-replace-libc flag dropped. All supported systems now have a compliant-enough libc for skalibs' purposes. - Major types overhaul to be more POSIXly correct. 64-bit operations are now supported on 64-bit archs where int is 32-bit. Use of POSIX types wherever important, e.g. where pointers are used: datastruct.h indices, for instance, are uint32_t. stralloc et al. lengths are size_t. - Related API changes: skalibs/ushort.h, skalibs/uint.h and skalibs/ulong.h have disappeared - replaced with skalibs/types.h that also includes basic fmtscan support for common POSIX types. The uint16, uint32 and uint64 integer types have disappeared - replaced with stdint.h types. uint64_t is defined by skalibs/uint64.h when stdint.h omits it. - Lots of minor bugfixes and cleanups related to the types system. - Better support for getrandom() and arc4random().