NEWS.md

zukomp 0.1.0

First release of the v1 feature set: a codec registry with a uniform byte-in/byte-out API, one vendored codec family, and a stable C ABI.

R API

The names are declared by each codec rather than derived from level_min/level_max, because the range is which integers are accepted, not which ones mean cheap and thorough: DEFLATE's level 0 is stored blocks, and a codec whose level is an acceleration factor inverts the mapping entirely. komp_codec_available() and komp_info(). komp_info()$version is a character string, so it pastes into a log line directly. Structured conditions carrying codec, input_bytes, output_bytes and native_status, so callers branch on the class rather than on the message.

Safety

For package authors

Resolve it with system.file("lib", .Platform$r_arch, package = "zukomp"). It is architecture-specific object code, so it installs under R_ARCH beside the shared object's directory -- lib/ on every single-arch platform and lib/x64/ on Windows.

Compile miniz.h with MINIZ_NO_ZLIB_COMPATIBLE_NAMES defined and nothing else. MINIZ_NO_TIME in particular changes MZ_TIME_T, and with it the layout of mz_zip_archive_file_stat, between the consumer's translation unit and the archive -- a silent mismatch rather than a link error.

Notes



Try the zukomp package in your browser

Any scripts or data that you put into this service are public.

zukomp documentation built on Oct. 16, 2026, 5:09 p.m.