AprilNEA/OpenLogiPublic

⚡️A native, local-first alternative to Logitech Options+, written in Rust 🦀 — remap buttons, DPI, and SmartShift over HID++. No account, no telemetry.

AI summary: A native, lightweight, telemetry-free Rust alternative to Logitech Options+ for peripheral configuration.

Stars
22.7K
+132 today
Forks
746
Watchers
83
Open issues
357
Open PRs
254
Contributors
~81
Commits
1.5K
Branches
30

RustApache-2.0Created May 24, 2026Last push 2d agoLatest release v0.8.7+558 stars this week+4K this month

Quick answers

What is OpenLogi?
A native, lightweight, telemetry-free Rust alternative to Logitech Options+ for peripheral configuration.
What does OpenLogi do?
OpenLogi is a high-performance, native application written in Rust that serves as a direct replacement for proprietary Logitech software. It communicates with Logitech mice and keyboards using low-level HID++ protocols, allowing users to remap buttons, adjust DPI, and configure SmartShift functionality without requiring an account or transmitting telemetry. The application avoids heavy web-based frameworks by utilizing a fast GPUI frontend, ensuring a minimal memory footprint. It focuses on privacy and local-first execution, offering power users complete control over their hardware through a reliable, open-source toolchain.
Who is OpenLogi for?
Developers and power users seeking a lightweight, private, and highly performant alternative for configuring Logitech peripherals.
How do I get started with OpenLogi?
Check the GitHub releases page to download the latest binary for your specific operating system.
How popular is OpenLogi on GitHub?
AprilNEA/OpenLogi has 22,673 stars and 746 forks on GitHub, and gained 558 stars in the last 7 days.
What license does OpenLogi use?
AprilNEA/OpenLogi is released under the Apache-2.0 license.

Star history

since Jul 28, 2026
010K20KJul 2026Aug 2026Sep 2026Oct 2026
22.7K stars as of Oct 3, 2026. Measured daily since Jul 28, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 6 commits2026-05-25: 18 commits2026-05-26: 21 commits2026-05-27: 0 commits2026-05-28: 14 commits2026-05-29: 12 commits2026-05-30: 45 commits2026-05-31: 31 commits2026-06-01: 19 commits2026-06-02: 18 commits2026-06-03: 19 commits2026-06-04: 20 commits2026-06-05: 45 commits2026-06-06: 19 commits2026-06-07: 16 commits2026-06-08: 28 commits2026-06-09: 21 commits2026-06-10: 13 commits2026-06-11: 34 commits2026-06-12: 19 commits2026-06-13: 17 commits2026-06-14: 3 commits2026-06-15: 8 commits2026-06-16: 1 commit2026-06-17: 1 commit2026-06-18: 1 commit2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 19 commits2026-06-22: 17 commits2026-06-23: 0 commits2026-06-24: 2 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 29 commits2026-06-28: 0 commits2026-06-29: 4 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 9 commits2026-07-04: 0 commits2026-07-05: 6 commits2026-07-06: 1 commit2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 19 commits2026-07-14: 2 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 1 commit2026-07-18: 41 commits2026-07-19: 8 commits2026-07-20: 1 commit2026-07-21: 15 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 1 commit2026-08-01: 7 commits2026-08-02: 9 commits2026-08-03: 9 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits2026-08-09: 15 commits2026-08-10: 24 commits2026-08-11: 2 commits2026-08-12: 1 commit2026-08-13: 21 commits2026-08-14: 43 commits2026-08-15: 14 commits2026-08-16: 15 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 22 commits2026-08-20: 45 commits2026-08-21: 34 commits2026-08-22: 13 commits2026-08-23: 63 commits2026-08-24: 51 commits2026-08-25: 68 commits2026-08-26: 29 commits2026-08-27: 39 commits2026-08-28: 3 commits2026-08-29: 11 commits2026-08-30: 41 commits2026-08-31: 3 commits2026-09-01: 1 commit2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 9 commits2026-09-07: 6 commits2026-09-08: 3 commits2026-09-09: 25 commits2026-09-10: 8 commits2026-09-11: 0 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 0 commits2026-09-15: 15 commits2026-09-16: 13 commits2026-09-17: 29 commits2026-09-18: 55 commits2026-09-19: 116 commits2026-09-20: 1 commit2026-09-21: 0 commits2026-09-22: 0 commits2026-09-23: 3 commits2026-09-24: 6 commits2026-09-25: 0 commits2026-09-26: 0 commits
1,496 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    22,673 stars

  • Very active

    1,496 commits in 52 weeks

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

What OpenLogi does

OpenLogi is a high-performance, native application written in Rust that serves as a direct replacement for proprietary Logitech software. It communicates with Logitech mice and keyboards using low-level HID++ protocols, allowing users to remap buttons, adjust DPI, and configure SmartShift functionality without requiring an account or transmitting telemetry. The application avoids heavy web-based frameworks by utilizing a fast GPUI frontend, ensuring a minimal memory footprint. It focuses on privacy and local-first execution, offering power users complete control over their hardware through a reliable, open-source toolchain.

Developers and power users seeking a lightweight, private, and highly performant alternative for configuring Logitech peripherals.

  • Low-Level HID++ Control: Communicates directly with peripherals to adjust hardware-level features like DPI and SmartShift.
  • Telemetry-Free Privacy: Operates entirely locally without requiring user accounts or sending any diagnostic data to remote servers.
  • Native Rust Implementation: Built from the ground up in Rust for maximum performance and minimal system resource consumption.
  • GPUI Frontend: Utilizes a fast, native graphical interface rather than relying on heavy, resource-intensive Electron wrappers.
  • Advanced Button Remapping: Provides comprehensive configuration options to map mouse buttons to custom OS-level actions.

Where teams use it

Privacy-Preserving Configuration

Security-conscious users configure their MX Master mouse without installing bloated, telemetry-heavy vendor software.

Performance Optimization

Gamers utilize the native Rust application to manage DPI settings while keeping background resource usage to an absolute minimum.

Hardware Customization

Power users remap specific mouse buttons to trigger complex macros or OS-level shortcuts natively.

SmartShift Tuning

Professionals easily adjust the sensitivity and toggle behavior of the SmartShift scroll wheel directly through the GPUI interface.

Getting started: Check the GitHub releases page to download the latest binary for your specific operating system.

README

master branch

Warning

OpenLogi is under active development and not yet stable — features and config may still change. Give the repo a Star ⭐ and Watch 👀 it to get notified when a new release lands.

OpenLogi

OpenLogi

⚡️ A native, local-first alternative to Logitech Options+, written in Rust 🦀
Unlock the full capabilities of Logitech mice, keyboards, and webcams over HID++ and UVC

AprilNEA%2FOpenLogi | Trendshift OpenLogi - A local-first alternative to Logitech Options+ | Product Hunt

Fed up with Options+? Try OpenLogi.

Runs on macOS, Linux, and Windows.


Beyond Options+

Things OpenLogi does that Options+ won't:

  • Stay light. Native Rust + GPUI.
  • Run on Linux. Linux is a first-class platform in OpenLogi.
  • Gestures on supported buttons. Assign gesture actions to supported controls — or turn gestures off entirely.
  • Plain-text config. Everything is one TOML file you can sync between machines however you like.
  • Script it. A real CLI alongside the GUI.

Features

  • Devices connected over Logi Bolt receivers, Unifying receivers, Bluetooth, or a wired connection, with battery percentage and charge state
  • Button remapping via the OS input hook: a built-in action catalog plus custom keyboard shortcuts authored in the TOML config, including independent short/long-press actions and hold-until-release chords for push-to-talk¹
  • Per-application profile overlays that auto-switch on app focus (macOS + Windows; Linux on X11 / XWayland only)
  • Litra lights: power, brightness, and color temperature, with optional auto power that follows camera activity

Mouse

  • Capture and remap the middle, mode-shift, and thumbwheel buttons (middle everywhere, the rest where the device exposes them)
  • Per-direction gesture bindings with live capture on supported buttons: Back/Forward, DPI/ModeShift, the dedicated gesture button, and the haptic panel
    • DPI/ModeShift gestures require device-reported diversion and raw-XY support.
    • Primary clicks and wheel controls cannot be newly assigned gestures; existing Middle Click gesture bindings are preserved.
  • Actions Ring: a cursor-centred, eight-slot overlay of actions (ShowActionsRing), with per-application layouts
  • DPI control with presets and Cycle / Set-preset actions (0x2201)
  • SmartShift wheel: mode toggle, sensitivity, and a permanent-ratchet panel (0x2111)
  • Per-device native scroll inversion (0x2121, supported devices)

Keyboard

  • Global F-key remapping: the same action catalog as the mouse, plus power-user actions — typed text, key combos, multi-step workflows (macOS + Windows)
  • Static RGB lighting (0x8070 / 0x8080, supported devices)

Camera

  • Any Logitech UVC webcam (Brio, StreamCam, the C920 series, …), plug and play
  • Live preview that opens the camera only while you watch — leaving it releases the camera entirely and the LED goes off
  • Image controls written straight to the UVC hardware — zoom, focus, exposure, brightness, contrast, saturation, sharpness, white balance, tint, anti-flicker, and low-light compensation, with auto-mode toggles for focus / exposure / white balance — so changes apply in Meet / Zoom / OBS and every other app using the camera
  • One-click profiles: built-in Default / Streaming / Video call plus custom snapshots; settings persist per camera and are written back to the hardware on the next view

¹ Media key actions use D-Bus MPRIS on Linux; a handful of macOS-specific actions have no universal Linux equivalent and are no-ops. Windows maps platform actions to native equivalents where available.

Install

Important

Quit Logi Options+ first: the two applications fight over HID++ access, and only one can own a given receiver at a time.

macOS

Requires macOS 13 or later.

Download the signed, notarized .dmg from the latest release and drag OpenLogi.app to /Applications.

Or install via Homebrew:

brew install --cask openlogi

The official Homebrew cask is the default installation path. To explicitly track the latest GitHub release from aprilnea/tap instead:

brew tap aprilnea/tap
brew install --cask aprilnea/tap/openlogi@latest

openlogi@latest is maintained by OpenLogi's release workflow and may update before the official cask autobump lands. Install either openlogi or openlogi@latest, not both.

Linux

Download the package for your distribution from the latest release:

# Debian / Ubuntu
sudo dpkg -i openlogi-*.deb

# Fedora / RHEL
sudo rpm -i openlogi-*.rpm

# Arch Linux
sudo pacman -U openlogi-*.pkg.tar.zst

Packages are published for both x86_64/amd64 and arm64/aarch64. Pre-built packages require GLIBC 2.35 or newer (Ubuntu 22.04 baseline).

NixOS users can instead import the repository's module, which installs the package and udev rules and starts the agent with the graphical session:

{
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  inputs.openlogi = {
    url = "github:AprilNEA/OpenLogi";
    inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs = { nixpkgs, openlogi, ... }: {
    nixosConfigurations.my-host = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux"; # or aarch64-linux
      modules = [
        openlogi.nixosModules.default
        { programs.openlogi.enable = true; }
      ];
    };
  };
}

All Linux packages install udev rules that grant your user access to /dev/hidraw*, /dev/uinput and your Logitech mouse's /dev/input/event* node without sudo. The NixOS module starts the agent automatically; after a .deb, .rpm, or .pkg.tar.zst installation, enable it for your user:

systemctl --user enable --now openlogi-agent.service

See docs/INSTALL-linux.md for complete NixOS options, manual / source installs, and distros without systemd.

Windows

Signed portable .zip archives and per-user .msi installers (x86_64 and arm64) are attached to each release. Both ship the GUI (OpenLogi.exe) together with the background agent (openlogi-agent.exe), which owns all device I/O. Keep the two files side by side when using the portable zip, or the GUI has nothing to connect to.

Windows support has been validated end-to-end on Windows 11 with real hardware (a wired keyboard and a Unifying-receiver mouse), including install, in-place upgrade, and uninstall of the MSI. It is newer than the macOS build, so if you hit a rough edge please report it. The agent shows a system-tray icon (Show Main Window / Quit) so the app stays reachable after the main window is closed. To disable it on Windows, set show_in_menu_bar = false in the TOML [app_settings] block and restart the agent; the GUI toggle is currently macOS-only.

To build from source, see DEVELOPMENT.md.

Usage (CLI)

See USAGE.md

Configuration

See CONFIGURATION.md

Developing

See DEVELOPMENT.md

Acknowledgments

  • Windows, cameras, and i18n by @davidbudnick — keyboard RGB, Windows support, Logitech webcam support
  • Linux port by @cserby — Linux support
  • Solaar by @pwr — open-source HID++ implementation
  • Mouser by @TomBadash — a local, account-free Options+ replacement

License

The code in this repository is dual-licensed under either of

at your option.

Third-party code

crates/openlogi-hidpp is a vendored fork of hidpp by @lus, licensed 0BSD.

Logo & brand assets

Thanks to @kubai087 for designing the OpenLogi logo. The OpenLogi logo and app icon (the brand assets under design/) are © 2026 AprilNEA, all rights reserved, and are not covered by the MIT/Apache licenses above; see design/LICENSE. Forking the code grants no right to the OpenLogi name, logo, or icon; please don't use them to represent your own projects, forks, or distributions without prior written permission.


Not affiliated with Logitech. "Logitech", "MX Master", and "Options+" are trademarks of Logitech International S.A.

Repo activity

Repobeats analytics image

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 55

Releases and announcements

58 total
  1. v0.8.7v0.8.7Sep 23, 20264.3K downloads

    ## What's Changed * feat(agent): follow pointer for mouse button profiles by default by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1566 * chore: release v0.8.7 by @aprilnea[bot] in https://github.com/AprilNEA/OpenLogi/pull/1567 **Full Changelog**: https://github.com/AprilNEA/OpenLogi/compare/v0.8.6...v0.8.7

  2. v0.8.6v0.8.6Sep 19, 20269.2K downloads

    ## 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 tha

  3. v0.8.5v0.8.5Sep 16, 20269.7K downloads

    ## What's Changed * fix(gui): resolve depot metadata named only by the manifest by @4ni1ak in https://github.com/AprilNEA/OpenLogi/pull/836 * docs(gui): adopt upstream gpui kit skills by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1400 * fix(linux): keep the generated systemd unit out of the user's tier by @AalmanSadath in https://github.com/AprilNEA/OpenLogi/pull/796 * fix(hidpp): stop HID++ replies landing on the wrong request by @isleofgreg in https://github.com/AprilNEA/OpenLogi/pull/1286 * feat(gui): enable supported button gestures by @juan-apa in https://github.com/AprilNEA/OpenLogi/pull/1167 * fix(gui): restore stacked card layout under gpui-kit 0.6 by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1408 * chore: release v0.8.5 by @aprilnea[bot] in https://github.com/AprilNEA/OpenLogi/pull/1399 **Full Changelog**: https://github.com/AprilNEA/OpenLogi/compare/v0.8.4...v0.8.5

  4. v0.8.4v0.8.4Sep 15, 20262.2K downloads

    ## What's Changed * feat(i18n): migrate catalogs to semantic TOML keys by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1169 * perf(i18n): avoid copying borrowed translations by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1184 * fix(i18n): polish supported locale copy by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1180 * fix(i18n): localize DPI steps and correct count labels by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1292 * fix(i18n): polish Brazilian Portuguese profile and settings copy by @uricholiveira in https://github.com/AprilNEA/OpenLogi/pull/1276 * fix(i18n): refine French asset and control descriptions by @didlawowo in https://github.com/AprilNEA/OpenLogi/pull/1278 * fix(hid): keep pairing phase after device selection by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1181 * refactor(gui): model camera preview lifecycle states by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1182 * refactor(agent): consolidate capture manager slots by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1183 * docs(linux): fix the Debian install command and the bug form's platform note by @AalmanSadath in https://github.com/Ap

  5. v0.8.3v0.8.3Aug 30, 202639.2K downloads

    ## What's Changed * fix(ci): align agent guidance with current contracts by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1139 * fix: make Actions Ring selectable in action pickers by @the-long-ride in https://github.com/AprilNEA/OpenLogi/pull/958 * fix(ci): repair focused i18n gate and agent guidance by @AprilNEA in https://github.com/AprilNEA/OpenLogi/pull/1138 * chore: release v0.8.3 by @aprilnea[bot] in https://github.com/AprilNEA/OpenLogi/pull/1163 **Full Changelog**: https://github.com/AprilNEA/OpenLogi/compare/v0.8.2...v0.8.3

Code frequency

additions and deletions
+112.2K-112.2KWeek of 2026-05-24: +33,546 linesWeek of 2026-05-24: -10,126 linesWeek of 2026-05-31: +28,721 linesWeek of 2026-05-31: -8,650 linesWeek of 2026-06-07: +23,931 linesWeek of 2026-06-07: -7,643 linesWeek of 2026-06-14: +3,540 linesWeek of 2026-06-14: -2,533 linesWeek of 2026-06-21: +19,669 linesWeek of 2026-06-21: -6,245 linesWeek of 2026-06-28: +3,841 linesWeek of 2026-06-28: -1,004 linesWeek of 2026-07-05: +123 linesWeek of 2026-07-05: -64 linesWeek of 2026-07-12: +12,133 linesWeek of 2026-07-12: -7,009 linesWeek of 2026-07-19: +3,206 linesWeek of 2026-07-19: -1,416 linesWeek of 2026-07-26: +8,308 linesWeek of 2026-07-26: -203 linesWeek of 2026-08-02: +2,449 linesWeek of 2026-08-02: -603 linesWeek of 2026-08-09: +112,203 linesWeek of 2026-08-09: -78,864 linesWeek of 2026-08-16: +100,048 linesWeek of 2026-08-16: -92,279 linesWeek of 2026-08-23: +61,482 linesWeek of 2026-08-23: -27,374 linesWeek of 2026-08-30: +47,650 linesWeek of 2026-08-30: -25,661 linesWeek of 2026-09-06: +10,388 linesWeek of 2026-09-06: -5,343 linesMay 24, 2026Sep 6, 2026
+471.2K lines added, -275K removed over the last year.

Commits per week

last 52 weeks
2640Week of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 116 commitsWeek of 2026-05-31: 171 commitsWeek of 2026-06-07: 148 commitsWeek of 2026-06-14: 14 commitsWeek of 2026-06-21: 67 commitsWeek of 2026-06-28: 13 commitsWeek of 2026-07-05: 7 commitsWeek of 2026-07-12: 63 commitsWeek of 2026-07-19: 24 commitsWeek of 2026-07-26: 8 commitsWeek of 2026-08-02: 18 commitsWeek of 2026-08-09: 120 commitsWeek of 2026-08-16: 129 commitsWeek of 2026-08-23: 264 commitsWeek of 2026-08-30: 45 commitsWeek of 2026-09-06: 51 commitsWeek of 2026-09-13: 228 commitsWeek of 2026-09-20: 10 commitsSep 28, 2025Sep 20, 2026
1.5K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 6 commitsSun 1:00 — 9 commitsSun 2:00 — 4 commitsSun 3:00 — 3 commitsSun 4:00 — 1 commitsSun 5:00 — 3 commitsSun 6:00 — 4 commitsSun 7:00 — 5 commitsSun 8:00 — 4 commitsSun 9:00 — 12 commitsSun 10:00 — 18 commitsSun 11:00 — 11 commitsSun 12:00 — 17 commitsSun 13:00 — 8 commitsSun 14:00 — 5 commitsSun 15:00 — 20 commitsSun 16:00 — 19 commitsSun 17:00 — 13 commitsSun 18:00 — 18 commitsSun 19:00 — 10 commitsSun 20:00 — 10 commitsSun 21:00 — 17 commitsSun 22:00 — 20 commitsSun 23:00 — 6 commitsMon 0:00 — 14 commitsMon 1:00 — 3 commitsMon 2:00 — 3 commitsMon 3:00 — 3 commitsMon 4:00 — 2 commitsMon 5:00 — 4 commitsMon 6:00 — 1 commitsMon 7:00 — 4 commitsMon 8:00 — 0 commitsMon 9:00 — 9 commitsMon 10:00 — 16 commitsMon 11:00 — 21 commitsMon 12:00 — 6 commitsMon 13:00 — 7 commitsMon 14:00 — 20 commitsMon 15:00 — 10 commitsMon 16:00 — 18 commitsMon 17:00 — 7 commitsMon 18:00 — 16 commitsMon 19:00 — 11 commitsMon 20:00 — 8 commitsMon 21:00 — 9 commitsMon 22:00 — 13 commitsMon 23:00 — 4 commitsTue 0:00 — 4 commitsTue 1:00 — 4 commitsTue 2:00 — 2 commitsTue 3:00 — 1 commitsTue 4:00 — 2 commitsTue 5:00 — 7 commitsTue 6:00 — 0 commitsTue 7:00 — 11 commitsTue 8:00 — 2 commitsTue 9:00 — 8 commitsTue 10:00 — 23 commitsTue 11:00 — 5 commitsTue 12:00 — 6 commitsTue 13:00 — 2 commitsTue 14:00 — 5 commitsTue 15:00 — 10 commitsTue 16:00 — 6 commitsTue 17:00 — 13 commitsTue 18:00 — 5 commitsTue 19:00 — 18 commitsTue 20:00 — 15 commitsTue 21:00 — 6 commitsTue 22:00 — 1 commitsTue 23:00 — 11 commitsWed 0:00 — 1 commitsWed 1:00 — 0 commitsWed 2:00 — 3 commitsWed 3:00 — 1 commitsWed 4:00 — 0 commitsWed 5:00 — 2 commitsWed 6:00 — 3 commitsWed 7:00 — 0 commitsWed 8:00 — 2 commitsWed 9:00 — 1 commitsWed 10:00 — 3 commitsWed 11:00 — 6 commitsWed 12:00 — 4 commitsWed 13:00 — 14 commitsWed 14:00 — 7 commitsWed 15:00 — 7 commitsWed 16:00 — 8 commitsWed 17:00 — 13 commitsWed 18:00 — 5 commitsWed 19:00 — 8 commitsWed 20:00 — 4 commitsWed 21:00 — 18 commitsWed 22:00 — 7 commitsWed 23:00 — 12 commitsThu 0:00 — 12 commitsThu 1:00 — 11 commitsThu 2:00 — 12 commitsThu 3:00 — 1 commitsThu 4:00 — 20 commitsThu 5:00 — 3 commitsThu 6:00 — 3 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 3 commitsThu 10:00 — 6 commitsThu 11:00 — 7 commitsThu 12:00 — 15 commitsThu 13:00 — 22 commitsThu 14:00 — 14 commitsThu 15:00 — 7 commitsThu 16:00 — 19 commitsThu 17:00 — 6 commitsThu 18:00 — 12 commitsThu 19:00 — 19 commitsThu 20:00 — 7 commitsThu 21:00 — 11 commitsThu 22:00 — 3 commitsThu 23:00 — 4 commitsFri 0:00 — 9 commitsFri 1:00 — 3 commitsFri 2:00 — 5 commitsFri 3:00 — 3 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 4 commitsFri 7:00 — 6 commitsFri 8:00 — 5 commitsFri 9:00 — 1 commitsFri 10:00 — 5 commitsFri 11:00 — 1 commitsFri 12:00 — 6 commitsFri 13:00 — 11 commitsFri 14:00 — 9 commitsFri 15:00 — 11 commitsFri 16:00 — 7 commitsFri 17:00 — 13 commitsFri 18:00 — 25 commitsFri 19:00 — 11 commitsFri 20:00 — 10 commitsFri 21:00 — 24 commitsFri 22:00 — 47 commitsFri 23:00 — 6 commitsSat 0:00 — 0 commitsSat 1:00 — 6 commitsSat 2:00 — 37 commitsSat 3:00 — 9 commitsSat 4:00 — 3 commitsSat 5:00 — 1 commitsSat 6:00 — 28 commitsSat 7:00 — 10 commitsSat 8:00 — 10 commitsSat 9:00 — 3 commitsSat 10:00 — 8 commitsSat 11:00 — 2 commitsSat 12:00 — 9 commitsSat 13:00 — 18 commitsSat 14:00 — 14 commitsSat 15:00 — 18 commitsSat 16:00 — 15 commitsSat 17:00 — 20 commitsSat 18:00 — 28 commitsSat 19:00 — 17 commitsSat 20:00 — 20 commitsSat 21:00 — 21 commitsSat 22:00 — 11 commitsSat 23:00 — 4 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits1,211 (81%)
Community commits292 (19%)

1,503 commits in total over the last year.

DateListRankStars gained
Jun 1, 2026daily#17+40
May 31, 2026daily#12+78
  • awesome-selfhosted/awesome-selfhosted

    A list of Free Software network services and web applications which can be hosted on your own servers

    323.8K stars

  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    195.2K stars · Rust

  • farion1231/cc-switch

    A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

    140K stars · Rust

  • openai/codex

    Lightweight coding agent that runs in your terminal

    127.8K stars · Rust

  • denoland/deno

    A modern runtime for JavaScript and TypeScript.

    108.6K stars · Rust

  • nexu-io/open-design

    🎨 Best DeepSeek Harness Design Plugin. The open-source Claude Design alternative. 🖥️ Local-first desktop app. 🖼️ Your coding agent becomes the design engine: prototypes, landing pages, dashboards, slides, images & video — real files, HTML/PDF/PPTX/MP4 export. 🤖 Claude Code / Codex / Cursor / DeepSeek Harness / OpenCode & 20+ CLIs via BYOK.

    99.4K stars · TypeScript