Releases: desbma/shh
Releases · desbma/shh
Release list
v2026.3.8
Changelog
v2026.3.8
💡 Features
- Refactor man page & shell completions generation (78f4a85 by desbma)
- Simplify journalctl output parsing (399e226 by desbma)
- Add special handling for syscall classes on divergent code paths (7afe636 by desbma)
- Improve option result parsing from journald, add unique id (7067b61 by desbma)
- Properly handle restarted syscalls (392608e by desbma)
- Revamp per process fd tracking (c2b5820 by desbma)
- Improve dual stack socket handling (3c7d482 by desbma)
🐛 Bug fixes
- Possible incomplete resolved options output (d00301e by desbma)
- Reset restart count in finish-profile (a04c891 by desbma)
- Dual stack socket bind (20438e4 by desbma)
- Test-env/run breaking terminal (f918910 by desbma)
- Test-env/run breaking terminal, the return (3bd4ba8 by desbma)
- Possible truncated option output for debug builds (4f66e0e by desbma)
- Syscall return code misuse corner cases (4d5446a by desbma)
- Improve handling of bind on unspecified address (4229989 by desbma)
- Possible journacltl log overlap in generated options output (3b4a4ca by desbma)
🏃 Performance
- Add syscall name bench (e3a1bdc by desbma)
- Use EcoString for syscall name (20-25% faster in micro bench) (358ec2d by desbma)
- Add i128/i64 bench (733eb2d by desbma)
- Get rid of i128 (426640f by desbma)
- Only parse full syscalls if we need to (>35% speedup) (ab8d0d7 by desbma)
🧪 Testing
- Run integration tests via systemd-vmspawn (ae10a84 by desbma)
- Add CACHEDIR.TAG to default target dir (214ac02 by desbma)
- Fix outdated second snapshots (162c5da by desbma)
- Full hardening workflow for caddy (7d86a22 by desbma)
- Simplify & format test-all script (d4e81dd by desbma)
- Use systemctl wait loop to avoid flakiness (0adaa93 by desbma)
- test-env/setup: Fix machine name clash (76f1c34 by desbma)
- Add stress test script (a12fd98 by desbma)
- Simplify test scripts now that they handle concurrent tests (e47baeb by desbma)
- Refactor logging for e2e test (c5b8e70 by desbma)
- Disable journald rate limit in test VM (b24792a by desbma)
- Auto stop gimp to make test more robust (88e7d85 by desbma)
- Tweak stress test core count (e660e5a by desbma)
- Unit@param.service end to end test (380978c by desbma)
🚜 Refactor
- Reduce syscall handler boilerplate (e639d99 by desbma)
- Factorize fd path resolution + add tests (1b42276 by desbma)
- Untangle resolver (c8f9483 by desbma)
- Add macros to simplify handler code (9288d7a by desbma)
🤖 Continuous integration
- Remove unneeded permission for cargo audit (a38a1bc by desbma)
- Add msrv check (269d592 by desbma)
- Run clippy on all targets, including tests (d9a84a9 by desbma)
- Update actions versions (e8c2957 by desbma)
🧰 Miscellaneous tasks
- Comment typo (4d8aa8f by desbma)
- Update AGENTS.md (8051c61 by desbma)
- Ignore insta .snap.new files (1ff7180 by desbma)
- Ignore claude files (4532bf4 by desbma)
- Update dependencies (7703123 by desbma)
- Fix const_gen lint (c4a02eb by desbma)
- Update release script (c2b0833 by desbma)
v2026.1.27
Changelog
v2026.1.27
💡 Features
- More accurate handling of ProtectClock (b6c80ad by desbma)
- Support opt-in debug logs for release builds (811ce9e by desbma)
- Experimental support for service generated from .container templates (804a09a by desbma)
🐛 Bug fixes
- Ignore open*/socket syscall return value when they fail (f4b7997 by desbma)
- Ignore bincode audit warning for now (fd6fbba by desbma)
- Remove reverse log fetching, unneeded now that we use cursors (9133c4c by desbma)
- Hide journalctl output when getting cursor (95e322e by desbma)
- README: Double title (c4e0835 by desbma)
📗 Documentation
- Add logo (f328d34 by desbma)
- Add preview logo (f582d25 by desbma)
- README: Fix install instructions from crates.io (c81c513 by desbma)
🧪 Testing
- Add ignore reason (1c8e1c4 by desbma)
- Add opt-in gimp integration test (442fcee by desbma)
- Fix integration tests with Python 3.14 (a8b680f by desbma)
🚜 Refactor
- Simplify path lists only once (75cb380 by desbma)
- Factorize some option exception logic (55da9fe by desbma)
- Simplify option definition (628482f by desbma)
- Make OptionUpdater a trait (01808da by desbma)
🧰 Miscellaneous tasks
- Fix cargo_bin deprecated use (0f7d572 by desbma)
- Replace bincode by postcard (5b9af19 by desbma)
- Add AGENTS.md (e56b8b8 by desbma)
- Update dependencies (68ee2da by desbma)
v2025.11.3
Changelog
v2025.11.3
💡 Features
- Use 'systemctl cat' to get unit config (2ed0c51 by desbma)
🐛 Bug fixes
- Type=oneshot units triggering strace named pipe collision (41bdaea by desbma)
- Fstat on unknown fd (f3c935e by desbma)
- CapabilityBoundingSet requires unprivileged_userns_clone for user instance (56380e8 by desbma)
- Fix possible panic when updating some effects (182a17a by desbma)
- MemoryDenyWriteExecute=true not compatible with mprotect adding exec bit (48fc222 by desbma)
🚜 Refactor
- Make use of anyhow::ensure (b9ca66e by desbma)
🧰 Miscellaneous tasks
- Add todo lint (ac17c5c by desbma)
- Remove redundant test prefixes (0a77b41 by desbma)
- Fix lint for Rust 1.91 (d4543de by desbma)
v2025.10.22
v2025.9.22
Changelog
v2025.9.22
💡 Features
- Add EWOULDBLOCK to "maybe successful" errnos (238b20b by desbma)
- Generic hardening mode (closes #15) (455336f by desbma)
- Initial CAP_KILL support (d2edd5b by desbma)
- CAP_IPC_LOCK support (343edb7 by desbma)
- Refresh existing hardening fragment (b991c28 by desbma)
- Initialize current working directory (d2cd3ce by desbma)
🐛 Bug fixes
- Minor comment typo (a6f5281 by desbma)
- Bit shift parsing error (b004891 by desbma)
- Msrv (2b6411c by desbma)
- Path resolution for special files (fe5f2e5 by desbma)
🏃 Performance
- Avoid sorting syscall names if we don't show them (4626c67 by desbma)
🧪 Testing
- Use snapshot testing for verbose unit tests (f737f55 by desbma)
🚜 Refactor
- Sort enum members (76f756d by desbma)
🤖 Continuous integration
- Add cargo audit workflow (3620abe by desbma)
🧰 Miscellaneous tasks
v2025.7.13
Changelog
v2025.7.13
💡 Features
- Try to use RUNTIME_DIRECTORY first for strace pipe location (8f3ce35 by desbma)
- Consider errored syscalls to catch cases like EINPROGRESS (3e8e4ad by desbma)
- Identify more successful sycalls returning -1 (1d971d4 by desbma)
📗 Documentation
- README: Mention nixpkgs repo (53f37ce by kuflierl)
🧰 Miscellaneous tasks
- Ignore verbose clippy lints (2e96cb3 by desbma)
- Update .gitignore (e741484 by desbma)
- Update dependencies (5a398fa by desbma)
- Update clippy template (ee68b02 by desbma)
v2025.6.5
v2025.6.4
Changelog
v2025.6.4
💡 Features
- Static strace path support at compile time (da62cee by kuflierl)
- Add support for shell auto-complete generation with clap_complete (74914dc by kuflierl)
- Initial experimental support for systemd user instances (8114943 by desbma)
- Improve timeout logic when waiting for profiling result (2b0e5ec by desbma)
- strace: Parse mac addresses (8da117a by desbma)
- strace: Handle in/out struct members (40354fa by desbma)
- strace: Array index substraction & comments (b66f934 by desbma)
- strace: Output macro expressions (b7b2d8b by desbma)
- Remove duplicate options (eb1b51b by desbma)
- strace: More debugging macros (cec9289 by desbma)
- Support jujutsu in release script (00a5f8e by desbma)
🐛 Bug fixes
- Use journalctl cursors and a retry loop to fix unreliability/fuzzyness (c91a967 by desbma)
- Improve journald cursor handling logic (ce02c5c by desbma)
- Only set NotifyAccess=all in profiling fragment for notify services (815d0cb by desbma)
🏃 Performance
- Box some large enum members (57c91bb by desbma)
🧪 Testing
- Update for user instance (06dacaf by desbma)
🚜 Refactor
- Man page generation command (849b9a6 by desbma)
- strace: Macro as integer expression (9bb8c28 by desbma)
- NamedConst -> NamedSymbol (4dcebed by desbma)
- strace: Remove unused buffer format handling (ad8866a by desbma)
🧰 Miscellaneous tasks
- Fix rust 1.87 clipp::unnecessary_debug_formatting spam (3ce85c4 by desbma)
v2025.4.12
Changelog
v2025.4.12
💡 Features
- Model disabled mount propagation to host (70637d4 by desbma)
- Support PrivateMounts systemd option (ca293da by desbma)
🐛 Bug fixes
- Handle namespace pseudo files (6f75bd9 by desbma)
🧪 Testing
- Add netns systemd-run test (7162280 by desbma)
- options: Remove checks of options that vary too much between environments (1f18b17 by desbma)
🏗 Build
- Generate systemd syscall classes at build time from systemd-analyze output (c52a860 by desbma)