skalibs

Mirror/fork of https://skarnet.org/software/skalibs/
git clone https://ccx.te2000.cz/git/skalibs
Log | Files | Refs | README | LICENSE

NEWS (9025B)


      1 Changelog for skalibs.
      2 
      3 In 2.4.2.0
      4 ----------
      5 
      6  - Support for midipix and old MacOS X. (More sysdeps.)
      7  - New gol.h header (a take on getopt_long)
      8  - New mkptemp3 function
      9 
     10 
     11 In 2.14.1.1
     12 -----------
     13 
     14  - Bugfixes.
     15 
     16 
     17 In 2.14.1.0
     18 -----------
     19 
     20  - Bugfixes.
     21  - Portability improvements.
     22  - New socket_sendnb46_g() and socket_recvnb46_g() macros.
     23 
     24 
     25 In 2.14.0.1
     26 -----------
     27 
     28  - Bugfixes.
     29 
     30 
     31 In 2.14.0.0
     32 -----------
     33 
     34  - Bugfixes.
     35  - New accessor function: selfpipe_fd().
     36  - New functions: slurpn(), openslurpnclose().
     37  - slurp() and openslurpclose() are now macros.
     38  - New strerr macros to warn with a "fatal" message.
     39  - New cdb functions: cdb_hashv(), cdbmake_addv().
     40  - child_spawn() revamp. Prototype change (last arg is a size_t).
     41  - case_lowerb() and friends now use ctype.h functions.
     42  - case_str() removed, strcasestr() fallback implementation added.
     43  - cspawn(): finally unifying fork() and posix_spawn().
     44  - Better support for nonstandard posix_spawn subfunctions.
     45  - Lots of new sysdeps.
     46 
     47 
     48 In 2.13.1.1
     49 -----------
     50 
     51  - Bugfixes.
     52 
     53 
     54 In 2.13.1.0
     55 -----------
     56 
     57  - New macro: SKALIBS_PATH_MAX, in posixishard.h.
     58 Defined to 4096 on systems that do not define PATH_MAX.
     59  - New function: sals().
     60 
     61 
     62 In 2.13.0.0
     63 -----------
     64 
     65  - Bugfixes.
     66  - New functions: buffer_timed_put(), buffer_timed_puts().
     67  - strerr.h revamped. strerr_die, strerr_warn, strerr_diesys, strerr_warnsys
     68 and all the previous strerr2 macros are now __VA_ARGS__ macros around
     69 strerr_diev() and friends.
     70 
     71 
     72 In 2.12.0.1
     73 -----------
     74 
     75  - Bugfixes.
     76 
     77 
     78 In 2.12.0.0
     79 -----------
     80 
     81  - librandom revamped (again).
     82    * random_init() and random_finish() removed.
     83    * random_char() removed.
     84    * random_string() renamed to random_buf().
     85    * early versions added.
     86  - New djbunix functions: waitn_posix(), waitn_reap_posix().
     87  - readnclose() made public, now doesn't touch errno on success.
     88  - openreadnclose_at() now returns a ssize_t.
     89 
     90 
     91 In 2.11.2.0
     92 -----------
     93 
     94  - Bugfixes.
     95  - User-provided CPPFLAGS, CFLAGS and LDFLAGS are now honored in
     96     sysdep autodetection.
     97  - envdir_internal() now supports a SKALIBS_ENVDIR_NOCLAMP option, for
     98     unlimited-size variable reading.
     99 
    100 
    101 In 2.11.1.0
    102 -----------
    103 
    104  - fd_close() doesn't retry if close() fails. (i.e. adapts to Linux's
    105 behaviour over HP-UX's.)
    106  - New function: opendir_at.
    107 
    108 
    109 In 2.11.0.0
    110 -----------
    111 
    112  - libbiguint removed.
    113  - Obsolete skalibs/environ.h and skalibs/getpeereid.h removed.
    114  - rc4 and md5 removed.
    115  - iobuffer removed.
    116  - fd_cat and fd_catn changed signatures.
    117  - All *_t types renamed to avoid treading on POSIX namespace.
    118  - subgetopt() renamed to lgetopt().
    119  - signal functions reworked; skasigaction removed; sig_stack removed
    120  - Various functions removed: skaoffsetof(), selfpipe_untrap()
    121  - cdb_make renamed to cdbmake; ui changed to 1=success/0=failure.
    122  - cdb redesigned. cdb is now fixed, cdb_reader holds the state for cdb_find,
    123     which puts data pointer and len directly into a cdb_data. A cdb
    124     is always a map, pointers should always work.
    125  - cdb_successor removed (unsafe to use); cdb_nextkey changed to
    126     cdb_traverse_next, which puts key and data into two cdb_data's.
    127  - cdb does not touch errno anymore.
    128  - New posixplz function: munmap_void.
    129 
    130 
    131 In 2.10.0.3
    132 -----------
    133 
    134  - Bugfixes.
    135 
    136 
    137 In 2.10.0.2
    138 -----------
    139 
    140  - Bugfixes.
    141 
    142 
    143 In 2.10.0.1
    144 -----------
    145 
    146  - Bugfixes.
    147 
    148 
    149 In 2.10.0.0
    150 -----------
    151 
    152  - New openc_* functions.
    153  - New function: ipc_bind_reuse_lock(), taking a lock before
    154 unconditionally deleting the socket.
    155  - ipc_bind_reuse() rewritten to use ipc_bind_reuse_lock(),
    156 so it does the right thing instead of clobbering sockets.
    157  - Complete revamping of the pathexec functions, see exec.h.
    158  - Revamping of the locking functions.
    159  - Use of standard O_NONBLOCK and O_CLOEXEC instead of adhoc
    160 DJBUNIX_FLAG_NB and DJBUNIX_FLAG_COE.
    161  - Better header separation; webipc.h removed (stuff moved to
    162 socket.h)
    163  - New function: mkptemp2(), creating a fifo with a templated
    164 name (like mkptemp) but with options for O_NONBLOCK and O_CLOEXEC.
    165  - New sysdep to test for chroot().
    166 
    167 
    168 In 2.9.3.0
    169 ----------
    170 
    171  - New stralloc_readyplus_tuned() function.
    172  - Bugfixes.
    173 
    174 
    175 In 2.9.2.1
    176 ----------
    177 
    178  - Bugfixes.
    179 
    180 
    181 In 2.9.2.0
    182 ----------
    183 
    184  - Bugfixes.
    185  - New bigkv_* set of functions in libdatastruct.
    186 
    187 
    188 In 2.9.1.0
    189 ----------
    190 
    191  - Bugfixes.
    192  - Better support for GNU Hurd.
    193  - Added path_canonicalize().
    194 
    195 
    196 In 2.9.0.0
    197 ----------
    198 
    199  - Bugfixes.
    200  - Better support of out-of-path toolchains (among other things,
    201 that means better autotools emulation).
    202  - Build more friendly to recent glibc.
    203  - Refactoring and optimization of scanning and formatting functions.
    204  - Refactoring of stopwatch/wallclock functions. The --enable-clock
    205 and --enable-monotonic configure switches have been removed.
    206 tain_now() can now be set at run time to use a wall clock (default,
    207 or via tain_now_set_wallclock()) or a stopwatch (via
    208 tain_now_set_stopwatch()), instead of it being fixed at build time.
    209  - Easy cross-compilation: no need to provide a whole sysdeps
    210 directory anymore. Only a few sysdeps have to be provided manually,
    211 via a --with-sysdep-K=V option to configure. Currently, that means
    212 one: --with-sysdep-devurandom=yes|no
    213 
    214 
    215 In 2.8.1.0
    216 ----------
    217 
    218  - Added skalibs_regcomp(), accepting empty regexes on BSDs.
    219 
    220 
    221 In 2.8.0.1
    222 ----------
    223 
    224  - Bugfixes.
    225  - Better reporting in utc_from_tai() and localtm_from_*()
    226 
    227 
    228 In 2.8.0.0
    229 ----------
    230 
    231  - Bugfixes.
    232  - avltreeb removed. (It used VLAs inside of structures, which is
    233 GNU C, not C99.) The AVLTREEN_DECLARE_AND_INIT() macro should be
    234 used instead.
    235  - New functions: env_dump(), mk?temp(), autosurf(), autosurf_name()
    236  - mkdir_unique() removed. (Duplicate functionality with mkdtemp.)
    237  - ancilautoclose and nbwaitall sysdeps removed.
    238  - New header: skalibs/posixishard.h
    239  - Static libraries are now PIC by default.
    240 
    241 
    242 In 2.7.0.0
    243 ----------
    244 
    245  - Bugfixes.
    246  - New functions: ipc_timed_sendv(), unlink_void(), genset_deepfree(),
    247 gensetdyn_deepfree(), skagetln_loose(), skagetlnsep_loose()
    248  - dir_close() now returns void and leaves errno unchanged
    249  - absolutepath(), sarealpath_tmp(), avl*_deletnode(), mininetstring, prot functions removed
    250  - djbunix.h doesn't include env.h anymore
    251 
    252 
    253 In 2.6.4.0
    254 ----------
    255 
    256  - Bugfixes.
    257  - New functions: execvep_loose(), byte_zzero(), openb_read(), sig0_scan()
    258  - New function family: skalibs/genqdyn.h
    259 
    260 
    261 In 2.6.3.1
    262 ----------
    263 
    264  - Bugfixes.
    265 
    266 
    267 In 2.6.3.0
    268 ----------
    269 
    270  - New dir_fd function wrapping dirfd() (Solaris doesn't have dirfd())
    271  - memmem implementation for platforms that don't provide it.
    272  - memmem wrappers: byte_search, siovec_search.
    273  - New functions: atomic_symlink, skagetlnmaxsep, child_spawn3
    274  - New header: skalibs/posixplz.h, some header reorganization.
    275  - New family of functions: textmessage and textclient
    276  - skalibs/environ.h and skalibs/getpeereid.h are now obsolescent.
    277  - Bugfixes.
    278 
    279 
    280 In 2.6.2.0
    281 ----------
    282 
    283  - New functions: access_at() (MacOS and Solaris don't support faccessat),
    284 skaclient_timed_aflush().
    285  - stralloc.h and tai.h are suitable for inclusion in C++ headers.
    286  - New sysdep: SKALIBS_HASODIRECTORY. (MacOS doesn't support O_DIRECTORY.)
    287 
    288 
    289 In 2.6.1.0
    290 ----------
    291 
    292  - New function: lock_unx().
    293 
    294 
    295 In 2.6.0.2
    296 ----------
    297 
    298  - Bugfixes.
    299  - Optimized packing/unpacking routines.
    300 
    301 
    302 In 2.6.0.1
    303 ----------
    304 
    305  - Better CPPFLAGS/CFLAGS/LDFLAGS management.
    306  - openwritenclose() and openwritevnclose() now use mkstemp.
    307 
    308 
    309 In 2.6.0.0
    310 ----------
    311 
    312  - Bugfixes.
    313  - New unixmessage_receiver_hasmsginbuf() function to address an issue
    314 in unixmessage_handle().
    315  - fd_close() now returns void. This mandates a major version bump.
    316  - new skalibs_setgroups(), setgroups_with_egid() and setgroups_and_gid()
    317 functions to work around supplementary group mismanagement in... can you
    318 guess what operating system? (You get 3 tries. One for each BSD.)
    319 
    320 
    321 In 2.5.1.1
    322 ----------
    323 
    324  - Bugfixes.
    325 
    326 
    327 In 2.5.1.0
    328 ----------
    329 
    330  - Bugfixes.
    331  - More workarounds for OpenBSD (who else).
    332  - More workarounds for sysdeps detection by broken toolchains.
    333  - Added the xpathexec_* family of functions (in djbunix.h).
    334 
    335 
    336 In 2.5.0.0
    337 ----------
    338 
    339  - Added this NEWS file. :)
    340  - Dropped support for old versions of OpenBSD (at least 4.9 isn't working
    341 anymore). Newer versions are still supported: 5.7 and up are working.
    342  - --enable-replace-libc flag dropped. All supported systems now have a
    343 compliant-enough libc for skalibs' purposes.
    344  - Major types overhaul to be more POSIXly correct. 64-bit operations are
    345 now supported on 64-bit archs where int is 32-bit. Use of POSIX types
    346 wherever important, e.g. where pointers are used: datastruct.h indices,
    347 for instance, are uint32_t. stralloc et al. lengths are size_t.
    348  - Related API changes: skalibs/ushort.h, skalibs/uint.h and skalibs/ulong.h
    349 have disappeared - replaced with skalibs/types.h that also includes basic
    350 fmtscan support for common POSIX types. The uint16, uint32 and uint64
    351 integer types have disappeared - replaced with stdint.h types. uint64_t is
    352 defined by skalibs/uint64.h when stdint.h omits it.
    353  - Lots of minor bugfixes and cleanups related to the types system.
    354  - Better support for getrandom() and arc4random().