v0.8.6
affaan-m/ECCv0.8.6Sep 19, 2026by github-actions[bot]
Upgrading?
AI Summary
This release focuses on significant code refactoring to improve maintainability, including splitting modules by responsibility and adding Windows test coverage. It introduces a new GUI feature to detect and display installation sources.
Key Highlights
- Extensive refactoring of core modules (IPC, config, device, agent) to split concerns
- GUI improvements including a new feature to detect installation sources and performance optimizations
- Added Windows test coverage and split macOS/Linux hook backends
- Improved documentation for agents and infrastructure workflows
New Features
- feat(gui): detect and display installation sources
Full Release Notes
## What's Changed * refactor(gui): split app_icon around an AppIconExt trait by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1422 * fix(gui): hold a config reload until the agent connects by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1416 * refactor(ipc): own the client handshake once and guard it with ast-grep by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1424 * refactor(core): name the process roles, host profiles, and environment knobs once by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1426 * refactor(ipc,cli): bound the handshake once and give the CLI one agent door by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1427 * refactor(core): build every worker runtime in one place by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1428 * refactor(core): spell the app bundle's layout once by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1429 * docs(infra): add openlogi workflow skills by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1409 * docs(infra): refine agent guidance and diagnostic workflows by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1485 * refactor(cli): give the command modules that carry code a file of their own by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1494 * refactor(hidpp): split the pending-request queue and the mock channel out of channel.rs by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1495 * refactor(hook): split the macOS backend by responsibility by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1496 * refactor(hook): split the Linux backend into the evdev hook and the foreground watcher by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1497 * chore: drop an unused dependency, a dead parameter, and stale docs by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1487 * refactor(gui): let state mutators own their events and views share one relevance filter by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1505 * refactor(gui): give write-on-release sliders one component by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1506 * refactor(ipc): own the observe loop's connection state in one Observer by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1507 * perf(gui): resolve each device's assets once per asset generation by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1508 * refactor(gui): say what the state types are by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1509 * refactor(core): give the key vocabulary one owner by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1488 * refactor(core): give seven copied decisions one owner each by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1489 * refactor(xtask): spell xtask's waits and its bundle builder in the workspace's vocabulary by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1490 * ci(windows): run the tests on Windows by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1491 * refactor(device): drop the capture paths nothing calls and type the session errors by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1500 * refactor(core): split the config module by concern by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1511 * refactor(device): split the inventory and probe modules by responsibility by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1512 * refactor(device): call durations that bound a wait timeouts by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1513 * refactor(device): run gesture and keyboard capture through one session skeleton by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1501 * refactor(device): share one pending-restore token between capture and host switch by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1502 * refactor(agent): run the capture watchers on one harness and name the device-access handles by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1503 * refactor: say what eight identifiers are by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1517 * refactor(camera): suffix the macOS backends like the other platforms' by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1518 * refactor(gui): move the F-key geometry into function_row/key_points.rs by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1525 * refactor(agent): move the device list and re-apply plan into orchestrator/devices.rs by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1526 * refactor(gui): split the AppState tests by what they exercise by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1527 * refactor(inject): run scripts and workflows once, over four platform hooks by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1529 * refactor(core): split the config tests by what they exercise by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1530 * refactor(device): split the inventory and gesture capture tests by what they exercise by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1531 * refactor(agent): split the orchestrator tests by what they exercise by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1532 * refactor(hidpp): split the channel tests by what they exercise by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1533 * refactor(device): move the host-switch session's tests to host_switch/tests.rs by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1535 * refactor(agent): move the button runtime's worker loop into button/worker.rs by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1536 * refactor(inject): break the macOS injector into scroll, browser and SPI modules by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1537 * refactor(gui): move the mouse view's binding labels and tests out of view.rs by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1538 * refactor(gui): move the camera panel's row builders into controls/rows.rs by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1539 * feat(gui): detect and display installation sources by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1515 * docs(gui): mend the desktop crate's intra-doc links by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1541 * chore: release v0.8.6 by @aprilnea[bot] in https://github.com/AprilNEA/OpenLogi/pull/1481 **Full Changelog**: https://github.com/AprilNEA/OpenLogi/compare/v0.8.5...v0.8.6
Related Repositories
react/react★ 251,629
The library for web and native user interfaces.
nodejs/node★ 122,528
Node.js JavaScript runtime ✨🐢🚀✨
Leonxlnx/taste-skill★ 100,731
Agent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
louislam/uptime-kuma★ 92,732
A fancy self-hosted monitoring tool
sveltejs/svelte★ 88,411
web development for the rest of us