5.5.0 - 2026-10-02
Added
- fchmodat2 syscall support (#408)
- A Bats-based black-box test suite (
bind.bats,cwd.bats,auxv.bats,readlink.bats,no-new-privs.bats), parameterized to run the samebind/cwdcases as a conformance check against both proot and proot-rs - A libcheck-based unit test layer for internal functions such as
compare_paths()andjoin_paths() - A shellcheck CI job covering every changed shell script
- Docker test images for every supported distro, published to the GitHub Container Registry
- CI coverage for Ubuntu 26.04 and an aarch64 cross-compile smoke test
Changed
- Renamed the 122 hash-named test files (
test-5bed7141.c,test-33333333.c, etc.) to names that describe what they actually test (#164) - GitLab CI updated to a current gcc image, with pass/fail behavior brought back in line with GitHub Actions
Fixed
errnonot cleared beforePTRACE_PEEKDATA, which could misreport a valid-1result as an errorreadlink(2)crashing on a top-level/procentry (#438)readlink(2)silently truncating and reporting a wrong guest path when the host-side target is longer than the caller's bufferAT_EXECFNnaming the loader instead of the traced program, which broke Rust coreutils (uutils) under PRootPR_GET_NO_NEW_PRIVSreporting PRoot's own flag instead of the traced program's, which brokesudo-rs- The
-Ppython extension failing to load;WITHOUT_PYTHONnot fully disabling it in some build configurations pkg-configandldnot respectingCROSS_COMPILE- A missing
basenameinclude breaking the build against glibc'slibgen.h(#378) - Python 2's
impimport, incompatible with Python 3 (#398) - Outdated documentation links