OmniWM 0.3.4
New and improved
- Niri runtime is now fully cut over to the Zig runtime API, including layout, interaction, window/column/workspace/lifecycle ops, navigation, and transaction projection paths.
- Dwindle runtime engine and mutation core were migrated to Zig context-backed execution with ABI/settings parity improvements.
- Runtime transaction flow was hardened with index-based ABI paths and hot-path optimizations to improve stability and performance.
- Added phase0 benchmark and perf-gate tooling to catch runtime regressions earlier.
- Status menu visuals were refreshed with clearer green toggle states and stronger hover feedback.
- Build/packaging flow was updated for universal Zig + Swift release binaries prior to signing/notarization.
Fixes
- Fixed monitor reconnect and workspace-to-monitor restoration edge cases, including KVM-style reconnect behavior.
- Fixed per-monitor scroll gesture routing/locking behavior during monitor changes.
- Restored keyboard focus reliability by making raise behavior unconditional.
- Fixed run-loop continuation leak behavior with stronger resume/timeout handling.
- Fixed Niri runtime render drift, cache coherence issues, and transaction ID validation edge cases.
- Preserved Niri width/height mode behavior through Zig runtime state transitions.
Documentation and project updates
- Updated README/project docs to reflect Zig runtime migration and benchmarking/perf-gate workflows.
- Removed legacy Swift backend paths and dead Zig ABI/layout code to reduce maintenance surface.
- Removed legacy test infrastructure flags from the app build path.
Verification and tests
- Expanded Zig parity/ABI/runtime verification coverage across Niri and Dwindle runtime paths.
- Added/updated benchmark baselines, replay fixtures, and strict phase gates for runtime cutover validation.