Skip to content

v0.12.3

Choose a tag to compare

@github-actions github-actions released this 21 Jul 21:34
· 78 commits to main since this release

Fixed

  • Exit-time static destruction order: singleton tables (memfs/mount/fd/kfd/dir) are now constructed at mount time so packaged binaries no longer abort with "Unhandled exception" (SIGABRT) on process exit.

Release artifacts

Per-platform packages (platform ids: linux-gnu-x86_64, linux-gnu-arm64,
linux-musl-x86_64, macos-arm64, macos-x86_64, windows-ucrt64):

  • libtfs-<version>-<platform>.tar.gz (.zip on Windows):
    • lib/libtfs.a — the libtfs static library
    • lib/libtebako_dirent_helper_c.a — C helper archive (link dependency
      of libtfs where the legacy tebako API is built; not shipped on Windows)
    • include/tebako/** — public headers
    • lib/cmake/libtfs/ — CMake package config (find_package(libtfs))
  • mkdwarfs-<platform> and tebakofs-<platform> — command-line tools
    (.exe suffix on windows-ucrt64)

Linkage notes (from the shipped binaries' ldd/objdump output):

  • All C/C++ third-party dependencies (dwarfs-t, libzip, fmt,
    jemalloc, Boost, …) are statically linked into the binaries on
    every platform.
  • linux-gnu-*: dynamic glibc/libstdc++ (built on ubuntu-24.04;
    requires glibc ≥ 2.38 at runtime, e.g. Ubuntu 24.04 or newer).
  • linux-musl-x86_64: dynamic musl libc + libstdc++/libgcc_s (built
    on Alpine 3.21; on a minimal Alpine install: apk add libstdc++ libgcc).
  • macos-*: dynamic macOS system libraries only (libSystem, libc++;
    built on macos-14 / macos-15-intel).
  • windows-ucrt64: dynamic UCRT + MSYS2 runtime DLLs
    (libgcc_s_seh-1.dll, plus libwinpthread-1.dll/libstdc++-6.dll
    for mkdwarfs); run inside MSYS2 UCRT64 or ship those DLLs alongside.

The Windows package ships the modern C/C++ API only (the legacy tebako
API needs the ruby build context).

SquashFS: shipped artifacts are built WITH_SQUASHFS=OFF — the
backends are dwarfs + zip only, so consumers are not forced to link
LGPL squashfs-tools-ng. POSIX source builds may opt into the SquashFS
backend (LGPL) with -DWITH_SQUASHFS=ON.

SHA-256 checksums for all artifacts: see the SHA256SUMS asset.