Releases · Mic92/cntr
Breaking Changes
FUSE Removed - Complete Architecture Overhaul
cntr 2.0.0 represents a major architectural redesign. The FUSE-based filesystem approach has been completely removed in favor of a simpler, more reliable implementation using Linux's new mount API and bind mounts.
What this means for users:
- No more FUSE dependency - cntr now works in environments where FUSE is unavailable or restricted
- Simplified codebase with fewer moving parts
- The exec command has now have to be run from outside of
cntrand no longer fromcntr attach; the architecture is now much simpler
New Features
Shell Completions
cntr now ships with shell completions for bash, zsh, fish, and nushell. These are automatically installed with the Nix package.
Run Without Root Using File Capabilities
cntr can now run without full root privileges using Linux file capabilities. Set up with:
sudo setcap 'cap_sys_admin,cap_sys_chroot,cap_sys_ptrace+ep' /path/to/cntrThen set CNTR_ALLOW_SETCAP=1 environment variable when running. The base directory now uses $XDG_RUNTIME_DIR/cntr or ~/.local/share/cntr for non-root users.
Effective User Option Restored
The --effective-user option is back, allowing you to specify which user to run as inside the container.
cgroup v2 Support
Full support for cgroup v2, which is now the default on most modern Linux distributions.
Bug Fixes
- 64-bit timestamps on Debian: Fixed utime compatibility with 64-bit timestamps, resolving issues on Debian systems (#623)
- ProtectProc=invisible compatibility: Fixed "No such file or directory" errors when attaching to systemd units with
ProtectProc=invisibleby readingcap_last_capbefore entering the target namespace (#606) - PTY handling improvements: Fixed various PTY and namespace handling issues in exec mode
- AppArmor support improvements: Better handling of AppArmor transitions and LSM contexts
Testing & CI
- Added comprehensive NixOS VM tests covering:
- systemd-nspawn containers
- k3s (Kubernetes)
- Nix builders
- AppArmor-confined containers
- Enabled more build targets in CI (additional architectures)
Documentation
- Updated README to clarify Linux-only support
- Documented new file capabilities mode
- Updated examples after FUSE removal
Contributors
- @ranomier - README clarification
Full Changelog: 1.6.1...2.0.0