v0.2.0

AprilNEA/OpenLogiv0.2.0May 31, 2026by aprilnea[bot]

AI Summary

Major release enabling wired and Bluetooth-direct devices, macOS menu-bar app functionality, gesture button mapping, in-app updates, and Intel binary support.

Key Highlights

  • Wired & Bluetooth-direct devices are now first-class (no Logi Bolt receiver required)
  • macOS menu-bar app with dynamic activation and start-minimized autostart
  • Gesture button is a mappable hotspot with hold-time gating
  • In-app updates (opt-in) with download progress
  • Added Intel (x86_64) macOS binaries

New Features

  • Wired & Bluetooth-direct device support
  • macOS menu-bar app
  • Gesture button mapping
  • In-app updates
  • Intel binary support
  • DMG packaging

Full Release Notes

OpenLogi **0.2.0** rolls up everything since `0.1.0`: directly-attached (wired & Bluetooth) mice are now first-class, plus a macOS menu-bar app, in-app updates, and DMG / Intel distribution. macOS only for now — Linux and Windows are on the roadmap.

## ✨ Highlights

### Wired & Bluetooth-direct devices are now first-class
Every control path used to assume a mouse hanging off a **Logi Bolt receiver**. Devices connected by **USB cable** or **Bluetooth-direct** (no receiver) are now fully supported — DPI, SmartShift, and button / gesture capture all route to them over HID++. Bluetooth devices are no longer read-only, and wired mice with no battery (e.g. a corded **G502**) are no longer dropped. ([#5](https://github.com/AprilNEA/OpenLogi/pull/5))

### macOS menu-bar app
- OpenLogi now runs as a **menu-bar (tray) accessory** — click the 🖱️ icon for live device status and quick **Open** / **Quit**. ([#4](https://github.com/AprilNEA/OpenLogi/pull/4))
- **Dynamic activation policy**: opening a window brings back the Dock icon and app menu; closing the last window drops back to tray-only. ([#7](https://github.com/AprilNEA/OpenLogi/pull/7))
- **Start-minimized autostart** — a login-launched instance comes up in the tray with no window. ([#7](https://github.com/AprilNEA/OpenLogi/pull/7))
- A **"Show in menu bar"** setting, and **⌘W** now closes the focused window (Settings / About too, not just the main one).

### Gesture button
- The gesture button is now a **mappable hotspot** in the mouse diagram, with a hold-time gate so a quick tap registers as a click and a deliberate hold as a swipe. ([#4](https://github.com/AprilNEA/OpenLogi/pull/4))

### In-app updates (opt-in, off by default)
- **Check for Updates** with a first-run prompt, an on-launch check, a clickable version, and live **download progress** — powered by `gpui-updater`.

### Packaging & distribution
- Ships as a **DMG installer** with a hosted background image.
- CI now also builds **Intel (x86_64) macOS** binaries alongside Apple Silicon.

### UI polish
- Demo device cards replaced with a proper **empty state**, the app logo embedded as a runtime asset, and Settings language-picker layout fixes.

## 🔧 Under the hood
- HID++ device addressing unified behind a single `DeviceRoute` — Bolt `{receiver, slot}` vs. `Direct {vid, pid}` resolved in one place; `DpiTarget` / `GestureTarget` collapse into it, and the CLI `diag` commands work on direct devices too. ([#5](https://github.com/AprilNEA/OpenLogi/pull/5))
- macOS status-item wrapper extracted and the menu bar gated to macOS. ([#6](https://github.com/AprilNEA/OpenLogi/pull/6))
- Release / CI hardening: a single root changelog, 1Password-sourced tokens, DMG build inside the devenv, and a real-Xcode Metal env for GUI builds.

**Full changelog**: https://github.com/AprilNEA/OpenLogi/compare/v0.1.0...v0.2.0