❌

Lees weergave

v0.8.2

What's Changed

  • fix(camera): read WhiteBalance, not ColorEnable, on Windows by @yuzi-co in #662
  • refactor(hid): name the divert intents instead of passing flag bools by @AprilNEA in #1071
  • refactor(linux): make the hidraw probe outcome an explicit enum by @AprilNEA in #1073
  • feat(macos): let launchd own the agent lifecycle via SMAppService by @AprilNEA in #1031
  • docs: character stand-in icon rule + crate-homed agent guides by @AprilNEA in #1026
  • Map SLOT_NAME_DPI_BUTTON to DpiToggle and add verification tests by @ediaz2 in #703
  • fix(agent): harden capture sessions, arming, and observe staleness by @AprilNEA in #1077
  • refactor(hid): fold the one-shot retry state into a OneShotScan type by @AprilNEA in #1070
  • refactor(gui): name the scrolling card's facts instead of a five-tuple by @AprilNEA in #1072
  • feat(agent): localize the menu-bar tray by @AprilNEA in #1038
  • refactor: make the audited implicit state machines typed by @AprilNEA in #1080
  • fix: resolve remaining state-machine audit findings by @AprilNEA in #1083
  • feat(gui): add per-app Actions Ring editor by @AprilNEA in #1085
  • feat(i18n): add Belarusian (be) locale by @aliaksandr-trush in #912
  • fix(macos): capture side-button gestures over HID++ by @juan-apa in #722
  • perf(agent): replace capture polling with events by @AprilNEA in #1136
  • perf(agent): replace lifecycle polling with native events by @AprilNEA in #1137
  • fix(macos): prevent HID activity from promoting DarkWake by @AprilNEA in #1142
  • fix(hid): normalize thumbwheel direction per device by @AprilNEA in #1158
  • chore: release v0.8.2 by @AprilNEA[bot] in #1056

New Contributors

Full Changelog: v0.8.1...v0.8.2

  •  

v0.8.1

What's Changed

Full Changelog: v0.8.0...v0.8.1

  •  

v0.8.0

Highlights

  • One device, however you connect it. The same mouse now keeps one device card and one set of settings across receiver and USB connections. Existing configurations migrate automatically and are backed up before the first save. (#876)
  • A redesigned device workspace makes larger setups easier to manage. A responsive grid, compact cards, clearer battery status, custom device names, scalable interface presets, and a dedicated action menu make devices faster to scan and configure.
  • Per-app profiles are now editable in the GUI. Pick an installed application from the new catalog, see which profile is active, and customize its button bindings without editing TOML. (#976)
  • Scrolling is smoother and more configurable. Built-in smooth scrolling, vertical sensitivity controls, preserved fractional motion, rebindable wheel tilt, and fixes for diverted high-resolution wheels deliver more consistent scrolling across main and thumb wheels. (#902, #925, #992)
  • Buttons can now distinguish a tap from a hold. TOML bindings can assign independent short- and long-press actions with a 500 ms threshold, while held shortcuts remain active until the button is released. (#961)

What's Changed

  • chore(gui): bump gpui-component to da4f9369 by @AprilNEA in #655
  • refactor(hid): centralize device identities by @AprilNEA in #831
  • docs(agents): scale local gate to affected packages by @AprilNEA in #696
  • feat(core,gui): make the main wheel's tilt rebindable (MX anywhere 2s,...) by @6lv1-blr in #902
  • fix(linux): install the app icon at every indexed hicolor size by @4ni1ak in #837
  • fix(gui): recognize mx ergo wheel tilt metadata by @AprilNEA in #905
  • ci: automate typo checks and consolidate configs by @AprilNEA in #906
  • refactor(gui): convert app state to entity events by @AprilNEA in #904
  • fix(mouse): compose thumb-wheel preset labels from translated action names by @NatsUIJM in #910
  • fix(linux): restore glibc 2.35 package baseline by @AprilNEA in #911
  • fix(gui): restore full-phrase thumb-wheel preset labels by @AprilNEA in #913
  • refactor(gui): componentize free-function builders by @AprilNEA in #914
  • fix(macos): honor XDG state dir in permission diagnostics by @AprilNEA in #915
  • fix(hid): improve Unifying receiver discovery reliability by @v14 in #853
  • feat(gui): add per-app profiles and redesign device workspace by @AprilNEA in #907
  • fix(macos): use reliable async-hid report writes by @sh3ll3x3c in #889
  • fix(hid): preserve usage pairs in native handle cache by @sh3ll3x3c in #882
  • fix: show Windows MSI completion and failure state by @mvanhorn in #819
  • feat(gui): make custom controls keyboard-operable by @AprilNEA in #916
  • style(gui): refine profile toolbar layout by @AprilNEA in #921
  • refactor(gui): clean up render paths and element ids by @AprilNEA in #926
  • fix(hidpp): read Unifying link encryption from bit 5, not the software-present bit by @AprilNEA in #924
  • refactor(gui): tighten typed rendering and async ownership by @AprilNEA in #931
  • refactor(gui): move device reads onto swr by @AprilNEA in #929
  • feat(gui): add scalable interface presets by @AprilNEA in #934
  • feat(agent): unify button Down/Up/Cancel lifecycle by @AprilNEA in #933
  • feat(i18n): add Turkish (tr) interface locale by @4ni1ak in #835
  • feat(gui): add switchable device gallery views by @AprilNEA in #927
  • refactor(gui): improve shared component quality by @AprilNEA in #966
  • feat(agent): hold shortcut output until button release by @AprilNEA in #960
  • fix(thumbwheel): scale remapped vertical scrolling by @hsearcy in #925
  • refactor(gui): structure app state by domain by @AprilNEA in #974
  • feat(gui): add installed application catalog picker by @AprilNEA in #976
  • feat(gui): add polished battery indicator by @AprilNEA in #983
  • feat(scroll): preserve precise scroll distances by @AprilNEA in #973
  • ci: replace target caches with sccache by @AprilNEA in #984
  • feat(scroll): add finite smooth scroll runtime by @AprilNEA in #975
  • feat(scroll): smooth diverted thumbwheel input by @AprilNEA in #977
  • feat(gui): polish the app catalog picker and device cards by @AprilNEA in #986
  • feat(scroll): add vertical scroll sensitivity by @AprilNEA in #978
  • feat(scroll): expose smooth scrolling setting by @AprilNEA in #979
  • refactor(gui): strengthen typed render boundaries by @AprilNEA in #981
  • fix(core,gui,agent): key device settings by identity, not by transport by @yuzi-co in #876
  • feat(agent): dispatch independent long-press actions by @AprilNEA in #961
  • refactor(agent): complete thumbwheel state machine by @AprilNEA in #968
  • fix(hid): preserve diverted wheel reporting by @AprilNEA in #992
  • chore: release v0.8.0 by @AprilNEA[bot] in #991

New Contributors

Full Changelog: v0.7.10...v0.8.0

  •  

v0.7.10

What's Changed

  • fix(gui): check the open helper's exit status when launching the agent by @AprilNEA in #820
  • fix(nix): provide git to the sandboxed test phase by @AprilNEA in #833
  • feat(ipc): surface HID open failures in agent status by @AprilNEA in #822
  • fix(agent): follow the picked app icon in the menu bar by @AprilNEA in #846
  • feat(cli): read the running agent's inventory in openlogi list by @AprilNEA in #823
  • fix(thumbwheel): stop the tap firing App ExposΓ©, and scroll by the wheel's native amount by @AprilNEA in #857
  • chore: release v0.7.8 by @AprilNEA[bot] in #834
  • fix(gui): stop discarding correctly rebuilt device records by @AprilNEA in #868
  • fix(overlay,agent): stop the anonymous overlay tenant from wedging the Actions Ring by @AprilNEA in #848
  • refactor(gui): put the asset tier on an swr cache by @AprilNEA in #869
  • chore: release v0.7.9 by @AprilNEA[bot] in #870
  • chore: release v0.7.10 by @AprilNEA in #874

Full Changelog: v0.7.7...v0.7.10

  •  

v0.7.7

v0.7.5 and v0.7.6 were tagged but never published β€” their macOS packaging failed before a single artifact was uploaded, so no release exists for either. Everything both of them contained ships here, and the changes below cover everything since v0.7.4.

What's Changed

  • docs(ci): map every CI job to a local command by @davidbudnick in #732
  • feat(i18n): add Ukrainian (uk) locale by @dima-karpenko in #715
  • ci(shell): gate every shell script with shellcheck and shfmt by @AprilNEA in #745
  • docs(core): correct the model_ids transport ordering, and fix the MX Keys mock by @yuzi-co in #668
  • refactor(xtask): move ci-local.sh and write-changelog.sh into xtask by @AprilNEA in #746
  • refactor(xtask): split bundle.rs along what it actually does by @AprilNEA in #753
  • feat(cli): report feature flags and firmware entities in diag features by @yuzi-co in #690
  • refactor(cli): render diagnostics with display adapters by @AprilNEA in #758
  • refactor: stream display-only formatting by @AprilNEA in #768
  • feat(camera): add anti-flicker and low-light controls by @awesamarth in #793
  • refactor(hid): split the HID++ device layer from the host backend by @AprilNEA in #772
  • chore: cut manifest comments that describe instead of constrain by @AprilNEA in #809
  • fix(hook): stop trusting AXIsProcessTrusted as a revocation signal by @AprilNEA in #801
  • fix(hook): keep macOS tap lifecycle instance-owned by @AprilNEA in #808
  • feat(gui): pick the app icon in Settings by @AprilNEA in #812
  • build(macos): name the helper bundles after their display names by @AprilNEA in #814
  • docs(agents): add a macOS permissions task skill by @AprilNEA in #813
  • fix(agent): shut down when the app is uninstalled by @AprilNEA in #810
  • fix(ipc,agent,desktop): surface Input Monitoring via agent status and fix registry bincode by @rekcilyssup in #760
  • fix(hid): take async-hid 0.5.3 so a denied HID open stops leaking by @AprilNEA in #804
  • fix(hid): park the Windows HID read on a permanently dead handle by @yuzi-co in #779
  • chore: release v0.7.5 by @AprilNEA[bot] in #750
  • fix(release): use changelog as release PR body by @AprilNEA in #821
  • refactor(agent): split the binary watcher from how it relaunches by @AprilNEA in #816
  • refactor(agent-core): give the polling watchers one loop by @AprilNEA in #818
  • feat(hid): recognise Lightspeed receiver 046d:c54d (PRO X SUPERLIGHT 2 DEX) by @v14 in #811
  • chore: release v0.7.6 by @AprilNEA[bot] in #824
  • fix(agent): make macOS permission failures diagnosable by @AprilNEA in #817
  • fix(ci): build both macOS legs with an Icon Composer-capable Xcode by @AprilNEA in #815
  • chore: release v0.7.7 by @AprilNEA[bot] in #830

New Contributors

Full Changelog: v0.7.4...v0.7.7

  •  

v0.7.2

What's Changed

  • fix(agent): reapply volatile settings after Windows resume by @davidbudnick in #639
  • build(nix): make Linux packaging first-class by @AprilNEA in #632
  • chore(infra): add CODEOWNERS by @AprilNEA in #646
  • fix: bind the Actions Ring overlay to one agent run by @AprilNEA in #645
  • chore: converge the repository top level by @AprilNEA in #647
  • refactor(gui): split the GPUI side into app, ui, and overlay crates by @AprilNEA in #672
  • refactor(ipc): replace the GUI's poll loop with a level-triggered state channel by @AprilNEA in #675
  • build(windows): ship the openlogi CLI in the zip and MSI by @yuzi-co in #659
  • build(infra): drop dependency debuginfo in dev builds by @AprilNEA in #695
  • refactor(core): extract openlogi-permissions and give shared constants one definition by @AprilNEA in #697
  • fix(gui): use the GPUI executor timer, not tokio::time::interval, for camera scans by @charliecai01 in #686
  • fix(overlay): prevent GPUI from exiting on window close by @clifinger in #700
  • fix(agent): relaunch after granting Input Monitoring by @AprilNEA in #713
  • chore: release v0.7.2 by @AprilNEA[bot] in #642

New Contributors

Full Changelog: v0.7.1...v0.7.2

  •  

v0.16.20

[0.16.20] - 2026-08-30

If you are upgrading from v0.16.x, replace the binary (or run docker pull). If you are upgrading from v0.15.x and below, please read the upgrading documentation for more information on how to upgrade from previous versions.

Added

  • System for Cross-domain Identity Management (SCIM) v2 (Enterprise):
  • JMAP: CalendarEvent/set support for updating and deleting synthetic ids (#2925).
  • Calendar:
    • Conference links in calendar invites and email alarms.
    • Translations for Arabic, Brazilian Portuguese, Bulgarian, Chinese Simplified, Chinese Traditional, Croatian, Czech, Finnish, Hebrew, Hindi, Hungarian, Indonesian, Japanese, Korean, Lithuanian, Norwegian BokmΓ₯l, Persian, Romanian, Russian, Slovak, Slovenian, Thai, Turkish, Ukrainian and Vietnamese.

Changed

  • Calendar: Updated HTTP RSVP page.

Fixed

  • DANE:
    • TLSA records are looked up whenever the MX RRset is signed, even when the MX host's own zone is not.
    • Mandatory DANE failures are permanent rather than temporary, bouncing messages that should be delayed.
    • Valid but unusable TLSA records fall back to the configured TLS strategy, permitting cleartext delivery where TLS is required.
  • S3: Fix outdated upstream af-south-1 region configuration.
  • Setup wizard: SQL directories set to use the main data store are now validated against the data store being configured.
  • CardDAV: Delete default address book id when deleting the default address book.
  • Redis: Sentinel deployments configured with rediss:// URLs now connect to the master over TLS instead of silently falling back to cleartext.
  • Email: Generated Message-ID headers use the hostname of the node that built the message instead of the configured server hostname.
  • MTA:
    • Do not send DMARC reports to local domains.
    • Messages addressed to an inboundReportAddresses match are only discarded when they actually contain a report (#1088).
  • Directory: Impersonation using the recovery admin fails when the impersonated account has not logged in before (LDAP and SQL directories).
  • WebUI: Failed logins open the browser's native credential prompt.
  • Cluster: Expired node id leases are released periodically rather than only during startup, so entries for removed nodes no longer remain Stale or Inactive indefinitely.

Check binary attestation here

  •  
❌