Releases
The full history is CHANGELOG.md. The command-line interface and the exit statuses documented in man cpulimit are the public interface that 1.x keeps stable (semantic versioning).
1.0.3 2026-10-28
OpenBSD and NetBSD support, one shared selection of a process and its descendants for all iterators, a FreeBSD iterator that follows the whole tree under -i (it stopped at the direct children before), clang-format, a wider CI matrix of virtual machines. Options, exit statuses and log text unchanged.
1.0.2 2026-10-24
Source tree reorganized by role, CI and benchmark workflows repaired, CBMC moved to its own workflow. No change to options, exit statuses or log text.
1.0.1 2026-10-22
The bounded model checker found a real defect: compute_slices() computed 0 / NaN and cleaned it up afterwards. It now never produces a NaN; the result is identical for every input. Verification harnesses reworked.
1.0.0 2026-10-21
First release of the fork: daemon mode, syslog, pid file, single-limiter lock, single-process command mode, strict option parsing, pid and start-time identity, a rewritten /proc reader, a non-recursive build, GitHub Actions instead of Travis.
Moving between versions: Upgrading.
Verify a download
Release assets are static musl binaries named cpulimit-ARCH-linux-musl, each with a .sha256 file. The release workflow has not produced a release yet; if the releases page lists assets, check them like this:
sha256sum -c cpulimit-x86_64-linux-musl.sha256
chmod +x cpulimit-x86_64-linux-musl && ./cpulimit-x86_64-linux-musl -VThe checksum guards against a damaged download, not against a compromised release page. Building from source remains the reference: make && make check && sudo make install.