## softmata/horus — v0.1.8…v0.1.9

_236+ commits._

### Features
- **Refactor Scheduler API: lightweight new(), opt-in RT features** (9dd895b)
- **Add framework overhead analysis to benchmark output** (fc15178)
- **Add intra→cross-process drain protocol for backend migration** (8258a3b)
- **Add missing Eq derives to types with all-Eq fields** (d9892f4)
- **Add path traversal validation to package install handler** (7b5e294)
- **Add compile-time assertion that FixedString<N> requires N <= 255** (87559e4)
- **Add max reassembled message size limit to FragmentManager** (82101cd)
- **Add timeout to Unix socket accept loop and read operations** (f6ab06c)
- **Add MAX_PENDING_GROUPS limit to fragment reassembly** (bddc96d)
- **Add alignment debug_assert to tensor data_as<T> and data_as_mut<T>** (58d70c0)
- **horus: remove dead supports_mmap() and add SAFETY docs to PluginWrapper** (14d1a3e)
- **Add SAFETY comments to all 338 unsafe blocks across 36 files** (061bc22)
- **Refactor error handling: remove Other catch-all, add structured context** (7ff5d0d)

### Fixes
- **Fix scheduler: remove ~1.5k lines dead code, add parallel execution & rate limiting** (3f2487b)
- **Remove dead code, clean CUDA layer, fix CI/CD, wire deploy targets** (f1a6d55)
- **Fix SPSC→MPSC migration: restore header.sequence_or_head + flush tail on epoch change** (3abcf51)
- **Co-located slot layout for SHM POD + PodShm pacing fix + RDTSC overhead subtraction** (003427b)
- **Function pointer dispatch + PodShm broadcast fix + dead module cleanup** (e693036)
- **Rename AdaptiveTopic → Topic, fix multi-producer race conditions** (5ff463c)
- **Add cross-process send fast paths, fix benchmark hot loop overhead** (c44d37d)
- **horus: fix memory leaks and add safety documentation** (03eb885)
- **Fix ABA bug in lock-free free list for tensor and CUDA pools** (a12f149)
- **Fix ActionNode guard skipping on_exit when aborting a running node** (49d0d24)
- **Fix heartbeat handler using hardcoded port instead of peer's actual port** (efc3697)
- **Fix read_latest() returning None when ring buffer head wraps to 0** (874de26)
- **Fix integer overflow in heartbeat payload length parsing** (85a65a1)
- **Fix concurrency bugs in adaptive topic multi-producer/consumer paths** (35683c1)
- **Fix path traversal in package uninstall and clamp test tensor dims** (e3e89c0)
- **Fix flaky timing tests and add bounds clamping in test helper** (1a7f5a2)
- **Fix consumer count slot leak on MAX_CONSUMERS registration failure** (d0b5c69)
- **Fix u16 sum overflow in depth map statistics** (156fc28)
- **Fix integer overflow in recording replay and tensor pool size validation** (20954b4)
- **Fix path traversal vulnerabilities in horus_manager recording handlers** (10b629f)
- **Fix u32 overflow in Image step, ROI capacity, and PointCloud point_count** (4d38bb0)
- **Fix alignment UB in PyTensorHandle::from_descriptor** (96d22e0)
- **Fix UTF-8 safety: FixedString truncation, string slicing, gethostname** (3b5820b)
- **Fix TCP stream desync, integer overflow, and division-by-zero issues** (651c4f3)
- **Fix 6 security/safety issues: unbounded allocations, OOB access, division by zero** (e473ba4)
- **Fix semver comparison using numeric instead of lexicographic ordering** (16a86d2)
- **Fix LandmarkArray size comment and broken load_static() in PluginLoader** (fd0d91a)
- **fix: add bounds check to tensor pool data_slice before from_raw_parts** (41c71b6)
- **fix: preserve serialization error context in QueryError** (9c0d99a)
- **fix: correct tick_with_timeout doc to not claim panic handling** (a25eb78)
- **fix: correct macOS error message to not reference /dev/shm** (977bb45)
- **fix: replace Cell<u32> with AtomicU32 in ShmTopic for soundness** (dce81e2)
- **fix: add Drop impl for RealIoUringBackend to close socket fd** (f276af7)
- **horus: fix trailing blank line in camera.rs** (31e5648)
- **horus: fix storage size mismatch in AdaptiveTopic ring buffer** (2275143)
- **horus: fix private address check bug and route all logs to stderr** (c733500)
- **Fix SIGSEGV in integration tests caused by stale shared memory** (4ed8cbc)
- **Fix clippy warnings, benchmark errors, and improve test stability** (1498dee)
- **Fix formatting in network/mod.rs, shm_region.rs, isolated.rs** (20388cd)
- **Update ratatui 0.29 -> 0.30 to fix lru unsoundness (RUSTSEC-2026-0002)** (d3102e0)
- **Fix formatting in run.rs** (3a6d7e7)
- **Fix clippy warning: simplify map_or to is_some_and** (6c9ec36)
- **Fix dangerous unwrap() calls on path conversions and Option values** (da22d7b)
- **Fix security vulnerabilities: update zenoh, jsonwebtoken, time deps** (7dd0701)
- **Fix compilation errors in feature-gated modules (mdns, quic, cuda, husarnet)** (34ca03c)
- **Fix cross-process IPC backpressure: spin-retry, auto-capacity, benchmark measurement** (787cd83)
- **Fix remaining clippy lints for Rust 1.93.0 stable** (0280238)
- **Fix clippy get_first lint: use .first() instead of .get(0)** (9319daf)
- **Fix clippy needless_borrows_for_generic_args in test** (6655593)
- **Fix clippy is_multiple_of lint and auto_detection test formatting** (e303e34)
- **Fix dead_code warnings in auto_detection_integration tests** (ce8c762)
- **Fix CI/CD: formatting, unused imports, and cross-platform build** (ff3a762)
- **Codebase hygiene: remove dead code, fix unwrap safety, clean clippy lints** (6bb4066)
- **Fix clippy warnings in record.rs: is_multiple_of and too_many_arguments** (147025e)
- **Fix CI failures: formatting, clippy, and rustdoc issues** (e1a8247)
- **Fix rustfmt formatting in extracted command modules** (d12f613)
- **Fix null pointer race in AdaptiveTopic discovery and coverage skip** (5cd9986)
- **Fix CI/CD failures: remove cdylib/staticlib crate-types and fix formatting** (b55aa46)

### Backend
- **Update prerelease.sh v3.0.0 and remove additional dead code** (1ecdcc8)
- **Remove 14 dead/duplicate/stub APIs from Topic and Scheduler** (993a0a1)
- **Clean up dead code in horus_py** (22f7845)
- **Remove unused storage.rs module** (8a77795)
- **Rename _pod file names to clean names** (327bf36)
- **Remove Pod suffix from message types, delete duplicates** (49e0163)
- **Batch header.sequence_or_head stores every 32 messages in SP send** (c42d260)
- **Optimize cross-process IPC: eliminate redundant cache line writes + raw atomic probe** (f621f3a)
- **Trivial try_send/try_recv: move all logic into dispatch functions** (e5d7a89)
- **Outline cold paths in send()/recv() to reduce I-cache pressure** (194ad83)
- **Move IO message types from horus_library to horus-industrial** (b4767b3)
- **Replace per-call SHM epoch check with process-local atomic + periodic fallback** (813a740)
- **Replace runtime dispatch chains with fn-ptr dispatch in Topic<T>** (2f6ef31)
- **Move ML message types from horus_library to horus_ai** (55c3dc3)
- **Optimize intra-process backend latencies (Phase 5 tuning)** (22dd415)
- **Wire horus driver install/remove and plugin install/remove commands** (81dd3dd)
- **Per-path optimized backends for AdaptiveTopic (Phases 1-3)** (0d0c51f)
- **Consolidate Topic<T> and AdaptiveTopic<T> into one type** (9ae79f2)
- **Merge horus_perception into horus_library and make all message types zero-copy Pod** (6738e95)
- **Benchmark JSON optimization, scheduler crash handling, test fixes** (302ebd1)
- **Extract hardware module to registry, enhance scheduler and library** (81dee70)
- **horus: apply cargo fmt formatting fixes** (525947e)
- **horus: consolidate duplicate code across modules** (0a951ca)
- **Validate recording interval and tick rate in apply_config** (88ada8f)
- **Validate node rate and prevent grid_width=0 division** (3eeb6b2)
- **Wrap node init/shutdown in catch_unwind to match tick behavior** (cae4f07)
- **Suppress clippy unit value warning on FixedString assertion** (8aaf87c)
- **Reject fragments with total=0 to prevent empty message bypass** (20cc3c0)
- **Apply cargo fmt formatting fixes across workspace** (8a77106)
- **Use checked_add in packet header parsing to prevent overflow** (8315a12)
- **Simplify checked_add match to ? operator per clippy suggestion** (b0f2c70)
- **Set 0o600 permissions on auth.json and password hash files** (5fcfa68)
- **Increase scheduler DX test timeout for parallel execution** (93975dd)
- **Cap recording index file read at 256MB to prevent OOM** (352d32a)
- **Validate global_rate_hz is positive and finite to prevent spin loops** (a01ed40)
- **Improve magic number error messages and move unused helpers to test module** (a8fb4be)
- **Use NaN-safe sort in profile report to prevent panic on invalid timing data** (a460b59)
- **Validate DLPack tensor shapes and strides are non-negative before cast** (d8ae96b)
- **horus: remove useless .into() conversion on format! String** (80c2549)
- **horus: guard signed→unsigned cast in discovery and fragment overflow** (6fa898f)
- **horus: validate DLPack ndim/device_id and prevent benchmark div-by-zero** (7cc0cfe)
- **horus: self-healing pass 1 sweeps 18-30 (Tier 3-6)** (0ce4b7d)
- **horus: self-healing pass 1 sweeps 1-14 (Tier 1-2)** (becc699)
- **Relax frequency tracker overhead threshold for parallel test stability** (0e2d595)
- **Clean up storage.rs: remove unused constants, silence dead_code warnings** (cc4094e)
- **Improve error messages with actionable context** (c741796)
- **Tighten public API surface: restrict internal types and constants** (56b9bcc)
- **Remove unused AsRawFd import in io_uring module** (6ecdee5)
- **Clean up NodeInfo public API** (c9d41d3)
- **Wire telemetry recording and export into tick loop** (b296446)
- **Restore telemetry, async I/O, background, and isolated executors** (a0ca24d)
- **Remove ~7,400 LOC of speculative scheduling features** (04885e5)
- **Remove hardcoded doctor commands from CLI** (66491bf)
- **Move ML module from horus_core to horus_ai** (5ea2ab0)
- **Clean up remaining JIT/Cranelift references from docs and API** (ea3a7fe)
- **Remove Cranelift JIT compilation system from HORUS** (14b9a8f)
- **Flatten config/mod.rs to config.rs for leaner codebase structure** (1480e9d)
- **Remove dead cloud_recording module and clean up codebase** (8a18234)
- **Remove dead sample methods from ShmTopic** (3afcd0e)
- **Remove unused HorusContext trait from error.rs** (2114f16)
- **Clean up dead code annotations across horus_core** (5f47c3b)
- **Remove dead code across horus_core: -644 lines** (31b3334)
- **Remove dead code from simd.rs: prefetch API, zero_memory, SimdCapabilities** (cb82d87)
- **Remove dead code from hardware discovery and GPIO modules** (0a8a396)
- **Wire SIMD streaming stores into AdaptiveTopic send/recv paths** (c4a01da)
- **Remove dead smart_detect.rs, superseded by adaptive_topic.rs** (f130612)
- **Codebase hygiene: remove ghost features, unused deps, and dead code** (8b3ba28)
- **Clean up public API: remove get_ prefix, merge error variants, slim NodeBuilder** (77f7762)
- **Rename criterion benches to match what they actually test** (7ff3fed)
- **Simplify Topic API: remove with_metrics, keep only with_logging** (3d1d3a8)
- **Remove deprecated send_tracked/send_logged/recv_tracked/recv_logged methods** (a889e8b)
- **Simplify Topic send/recv API: config-based metrics and logging** (942dce6)
- **Remove DX_PROPOSAL.md from horus repo** (6e8a471)
- **Remove completed section 1.1 from DX_PROPOSAL.md** (d3706f1)
- **Refactor horus_manager main.rs: extract 7 command modules (6,442 → 2,084 lines)** (ebcd0d3)
- **Deduplicate type names across horus_library modules** (de98337)
- **Remove redundant coverage threshold CI job** (1bcb24f)
- **Remove duplicated ROS2 bridge from horus_manager** (d1d7ee3)
- **Replace 4 production panics with error returns in topic.rs** (dd862e2)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/softmata/horus?utm_source=github-action)._