[announce] skarnet.org Christmas 2025 release

From: Laurent Bercot <ska-skaware_at_skarnet.org>
Date: Wed, 24 Dec 2025 22:29:56 +0000

  Hello,

  New versions of all the skarnet.org packages are available. They all
contain bugfixes, code cleanups, and build system changes; upgrading
is recommended.

skalibs-2.14.5.0 (minor)
nsss-0.2.1.1 (release)
utmps-0.1.3.2 (release)
execline-2.9.8.0 (minor)
s6-2.14.0.0 (major)
s6-linux-init-1.2.0.0 (major)
s6-portable-utils-2.3.1.1 (release)
s6-linux-utils-2.6.4.0 (minor)
s6-dns-2.4.1.1 (release)
s6-networking-2.7.2.0 (minor)
mdevd-0.1.8.0 (minor)
smtpd-starttls-proxy-0.0.2.1 (release)
tipidee-0.0.7.0 (minor)
shibari-0.0.2.1 (release)
bcnm-0.0.2.1 (release)
dnsfunnel-0.0.3.1 (release)
apaste-0.0.3.1 (release)

  There will also be an update to s6-rc; it will be a big one so it will
have its own, separate, announcement later.

  Details below. If there are no details for a package, the release does
not contain any feature changes.


  * General
    -------

  - The skaware git repositories are now mirrored on sr.ht (in addition
to GitHub). You can find the mirror at https://git.sr.ht/~skarnet/
  - Dynamic linking on MacOS is now supported. Older versions of MacOS
are now supported, down to 10.4.


  * skalibs-2.14.5.0
    ----------------

  - Lots of new convenience functions, such as symlink_at, mkdirp, qsortr
and bsearchr (portable versions of sorting/searching with an auxiliary
pointer), and more.
  - New "gol" (getoptlong) option parsing system, to portably support
long options. From now on, skaware programs will increasingly come with
long options in addition to short options. Apparently people like them.
  - New "keventbridge" subsystem to handle BSD kevents in an iopause
loop.
(This is only available on BSD systems that have kevent() in the first
place.)
  - New "avltreeb" convenience macros around avltreen, to store complete
AVL trees in a single user-provided buffer, after a suggestion by Anna
Figueiredo Gomes.
  - Some documentation for buffer.h, courtesy of Hoël Bézier.

  https://skarnet.org/software/skalibs/
  git://git.skarnet.org/skalibs


  * execline-2.9.8.0
    ----------------

  - New -l option to emptyenv, to keep the LD_LIBRARY_PATH variable.
Can be combined with -p to keep both PATH and LD_LIBRARY_PATH.

  https://skarnet.org/software/execline/
  git://git.skarnet.org/execline


  * s6-2.14.0.0
    -----------

  - Emulation of daemontools programs and of runit programs, previously
only available in the unreleased (only available via git) s6-frontend
package, is now available in the s6 package: you can use the
--enable-aliases-daemontools or --enable-aliases-runit configure
options.
  - s6-svc now applies its operations to all the service directories it
is given on the command line, instead of ignoring arguments after the
first one. This is why s6 has a major bump: the s6-svc interface has
technically changed - but the new behaviour is more useful and
intuitive.
  - New binary: s6-background-watch. This binary can be used in a run
script before executing an auto-backgrounding daemon, and will provide
some supervision of it. This is essentially a better version of
s6-fghack,
not leaking any fd into the daemon and providing signal transmission
whenever possible. It is still a hack, and does not replace direct
supervision of a non-backgrounded process, but now s6 can handle ill-
behaved daemons in a similar way to systemd's "Type=forking" directive.
  - New -m option to s6-accessrules-cdb-from-fs, to set the permissions
of the cdb file.
  - New Rperiod directive for s6-log, for periodic log rotations.
  - New -P option for s6-softlimit, for RTPRIO, courtesy of Alyssa Ross.

  https://skarnet.org/software/s6/
  git://git.skarnet.org/s6


  * s6-linux-init-1.2.0.0
    ---------------------

  - New option to s6-linux-init and s6-linux-init-maker: -W readyfd.
This is probably only useful in container environments. This option
makes s6-linux-init wait for EOF on fd readyfd before doing anything.
This follows a synchronization protocol sometimes used by container
managers: Docker uses fd 3, and systemd-nspawn uses fd 4.
(Previously fd 3 was hardcoded when specifying -C for container init.)
  - The kernel environment (or initial container environment), when
dumped to the filesystem via s6-linux-init(-maker)'s -s option, must now
be read via "s6-envdir -f" rather than "s6-envdir -fn" (chomping is now
necessary). This is to ensure compatibility and mergeability with
envdirs
provided by other sources, which fixes a bug in s6-overlay.
  - This is a major bump because of the above change, but boot
directories
created by previous versions are still compatible. You do not have to
run
s6-linux-init-maker again.

  https://skarnet.org/software/s6-linux-init/
  git://git.skarnet.org/s6-linux-init


  * s6-linux-utils-2.6.4.0
    ----------------------

  - New binary: fstab2s6rc. It reads a /etc/fstab file and creates a set
of s6-rc service definition directories, one per mount, that's
equivalent
to what "mount -a" would do, with finer granularity and all the
parallelism s6-rc can offer.

  https://skarnet.org/software/s6-linux-utils/
  git://git.skarnet.org/s6-linux-utils


  * s6-networking-2.7.2.0
    ---------------------

  - New binary: proxy-server. It implements haproxy's PROXY protocol
behind s6-tcpserver.
  - New -L option to s6-tlsserver for PROXY protocol support.

  https://skarnet.org/software/s6-networking/
  git://git.skarnet.org/s6-networking


  * mdevd-0.1.8.0
    -------------

  - New -N option to mdevd, to test the validity of a config file rather
than actually running the daemon.

  https://skarnet.org/software/mdevd/
  git://git.skarnet.org/mdevd


  * tipidee-0.0.7.0
    ---------------

  - New tipidee.conf options: noredirect (to carve exceptions to generic
redirections) and rproxy (for basic reverse proxying).
  - tipideed now serves a Referrer-Policy: same-origin header by default.
  - New programs (provided as is by popular request, with no particular
intention of improving on them): tipidee-logaggregate, to see what
clients made what set of requests; and cgiwrapper-nollmcrawler, a
simple CGI wrapper that can help against attacks from LLM crawler bots
using large swaths of client IPs that are difficult to block manually.

  https://skarnet.org/software/tipidee/
  git://git.skarnet.org/tipidee


  Enjoy,
  Bug-reports welcome as always. Happy holidays to all!

--
  Laurent
Received on Wed Dec 24 2025 - 23:29:56 CET

This archive was generated by hypermail 2.4.0 : Wed Dec 24 2025 - 23:30:29 CET