Repository navigation
Releases: DonGeronimo7/OMUS
Release list
OMUS v1.1.0 — Every mouse. One system.
OMUS v1.1.0 — Bounded Automatic Discovery and evidence-driven Lab
Release acceptance note (2026-09-24): The initial scan of the immutable
AppImage (078efc18ccf26ad5233ea8dee2346a5af2fdc629f4ac0f8a3bf19b176c46d6bf)
reported one Microsoftmaliciousresult,
Trojan:Script/Wacatac.B!ml; the RPM, DEB, wheel, and source archive reported
zero detections. A controlled rescan of the same artifact bytes at
2026-09-24 21:37:34 UTC reported 0/64 detections, including Microsoft as
undetected. The initial analysis
and current point-in-time results are preserved; no tag or release asset was
changed.
Automatic Discovery
OMUS now runs one canonical, explainable pipeline from exact interface
quarantine and physical identity through Protocol Genome recognition, active
fingerprint selection, Advice compilation, bounded grammar/integrity/structure
inference, and proof or Lab escalation. All 20 currently compiled repertoire
families produce 62 operation-specific Genome records. These records represent
known structure and evidence; they do not imply that every listed mouse is
physically validated or writable.
Inference is deterministic and explicitly budgeted. When safe automatic
analysis cannot continue, OMUS reports the missing evidence and one exact human
action instead of guessing. Compact runtime recipes are validated against
identity, descriptor, firmware, generation, evidence ancestry, and evidence
revision before reuse.
Discovery Lab and TUI
The existing full-screen Hardware Discovery and Lab pages now present the same
canonical outcome. Recognition, inference, proof, fast-path reuse, stopping
reason, and required Lab action remain visibly distinct. Evidence collected in
the Lab returns to the same EvidenceGraph rather than creating a parallel
authority path. Existing navigation, setup, service, update, and review/save
behavior is preserved.
Safety
- Hardware authority remains fail-closed and bound to exact identity,
interface, generation, evidence, adapter ownership, and protocol proof. - Recipe persistence is atomic and rejects symlinks, corruption, oversized
data, schema drift, stale revisions, and invalid value domains. - Corpus, vendor, public, and community evidence can improve recognition but
cannot grant write authority. - Generic HID inspection remains read-only; ambiguous or unknown hardware is
never probed with speculative writes.
Native support
The Logitech G305 remains the physically validated HID++ reference device.
Native Razer remains an independently implemented, exact-model path covered by
offline regression tests. Other repertoire families range from sourced
recognition through experimental/Lab-assisted discovery and require their own
physical evidence before write support can be claimed.
Licensing
OMUS v1.1.0 is distributed under AGPL-3.0-or-later. Organizations requiring
other terms may contact the project for separate commercial licensing. The
public AGPL source is not intentionally feature-limited, and rights already
received under the AGPL are unaffected by commercial availability. Historical
releases retain the licenses applicable when they were distributed; third-party
research, data, and assets retain their recorded licenses or provenance.
Security and supply chain
Release gates retain immutable-pinned GitHub Actions, least-privilege workflow
permissions, hash-locked dependency environments, CodeQL, OpenSSF Scorecard,
CycloneDX project SBOM generation, SHA-256 manifests, SLSA provenance and SBOM
attestations, exact artifact allowlists, VirusTotal follow-up verification, and
reproducible wheel comparison. Hosted checks are required for publication and
are not represented as locally executed by these notes.
Primary candidate artifacts are omus-1.1.0-1.fc44.noarch.rpm,
omus_1.1.0_all.deb, OMUS-1.1.0-x86_64.AppImage,
omus-1.1.0-py3-none-any.whl, and omus-1.1.0.tar.gz.
VirusTotal analysis
VirusTotal scanned the five primary distributable artifacts. Results are a point-in-time signal, not a certification of safety.
| Artifact | SHA-256 | Result at scan time | Analysis |
|---|---|---|---|
OMUS-1.1.0-x86_64.AppImage |
078efc18ccf26ad5233ea8dee2346a5af2fdc629f4ac0f8a3bf19b176c46d6bf |
0 detections at scan time | VirusTotal analysis |
omus-1.1.0-1.fc44.noarch.rpm |
b566f0fed3eeb57dbdc92d0df65778063e4ec178ee0e21c1dce2c50586a32944 |
0 detections at scan time | VirusTotal analysis |
omus-1.1.0-py3-none-any.whl |
03c99abbc505653821c1c09ea2b915a85c1d17a04f7727c331726249ed026f67 |
0 detections at scan time | VirusTotal analysis |
omus-1.1.0.tar.gz |
c6281f6ded58c9d983d70d895574738ce69a2d6a6b8831aa8fa060227d12bde5 |
0 detections at scan time | VirusTotal analysis |
omus_1.1.0_all.deb |
d93e833c6da6d0780ba38868d90c8b5deeebbbd2fd89f80b8fdc3ccec45b381f |
0 detections at scan time | VirusTotal analysis |
OMUS v1.0.4 — Every mouse. One system.
OMUS v1.0.4 — Reliable runtime recovery and safe fast proof
Reliability
- OMUS now restores enabled runtime features automatically after reboot/login,
service restart, process failure, delayed tray availability, desktop-shell
restart, temporary D-Bus loss, and device reconnect. - The purple OMUS battery tray recovers automatically when the graphical
environment becomes ready. A real cold-boot acceptance test required no
manual intervention.
DPI correctness
- Fixed startup and reconnect synchronization when saved software state differed
from the mouse's actual native DPI. - Hardware now determines current DPI while configuration determines the
available DPI choices. Notifications reflect confirmed hardware state, and
startup reconciliation does not produce a false DPI-change notification.
Performance
- On the tested Logitech G305/Fedora environment, observed startup improved from
about 6,170 ms to 2,428 ms and USB DPI-management recovery from about 16,042 ms
to 5,074 ms. Corrected reconnect acceptance measured about 86.9 ms for
remapping and 5,001 ms for DPI management. - Normal DPI cycling remained about 20 ms and two HID requests. Warm proof from
a current known owner measured a 73.474 microsecond median and added zero HID
requests. These observations are specific to the tested system and are not
guarantees for every mouse or host.
Discovery and safety
- Capability proof is now explicit and capability-specific:
UNKNOWN,
READ_PROVEN,WRITE_SEMANTICS_KNOWN,WRITE_BOUNDED,WRITE_VERIFIED, and
PERSISTENCE_PROVEN. - Known protocol implementations reuse established immutable knowledge instead
of treating known hardware as a blank slate. Write permission still depends
on concrete identity, bounds, packet isolation, routing, confirmation, failure,
compatibility, and runtime-policy evidence. - Persistent writes, unresolved shared-packet writes, generic HID writes,
ambiguous targets, unsupported report-rate ownership, and insufficiently
proven storage operations remain blocked.
Primary artifacts are omus-1.0.4-1.fc44.noarch.rpm,
omus_1.0.4_all.deb, OMUS-1.0.4-x86_64.AppImage,
omus-1.0.4-py3-none-any.whl, and omus-1.0.4.tar.gz.
VirusTotal analysis
VirusTotal scanned the five primary distributable artifacts. Results are a point-in-time signal, not a certification of safety.
| Artifact | SHA-256 | Result at scan time | Analysis |
|---|---|---|---|
OMUS-1.0.4-x86_64.AppImage |
0318a1faf36a9a6f413edbda3ce6ead1c999ef8e44830541080173a5056190f6 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.4-1.fc44.noarch.rpm |
fc6b8b72f3fcf3a2c565886af29bebfa93dfc3e1612311da799e71f766513682 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.4-py3-none-any.whl |
cc6377f1f46d4f2e1917c1ad181de39e21cd4877e529ccf8f9e0b7a0e0fc7281 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.4.tar.gz |
ec7d2ef65c9b5840b3969c2dbb8ae0a00b7e23e536ba2ad3e5402e985789185f |
0 detections at scan time | VirusTotal analysis |
omus_1.0.4_all.deb |
3486e88af2125d2699621948ca8ab4d5f94aaa594dbe8742726d11f46bae6f9d |
0 detections at scan time | VirusTotal analysis |
OMUS v1.0.3 — Every mouse. One system.
OMUS v1.0.3 — Battery tray visual refresh
OMUS v1.0.3 introduces the new OMUS-branded rounded purple-gradient battery
tray indicator. The horizontal battery remains readable at common 16, 20, 22,
24, and 32 pixel panel sizes, represents charge through proportional fill, and
uses a restrained brighter purple outline for low-battery states.
This is a visual and user-experience improvement, not expanded hardware
support. Battery detection, polling, backend behavior, reconnect recovery,
StatusNotifier registration, tooltip, DBusMenu, Ayatana percentage label, and
tray lifecycle behavior are unchanged.
The design was accepted in the live desktop panel with shell tray tinting
disabled. Primary candidate artifacts are omus-1.0.3-1.fc44.noarch.rpm,
omus_1.0.3_all.deb, OMUS-1.0.3-x86_64.AppImage,
omus-1.0.3-py3-none-any.whl, and omus-1.0.3.tar.gz.
VirusTotal analysis
VirusTotal scanned the five primary distributable artifacts. Results are a point-in-time signal, not a certification of safety.
| Artifact | SHA-256 | Result at scan time | Analysis |
|---|---|---|---|
OMUS-1.0.3-x86_64.AppImage |
181d5e915aabbac0bc118bb4270091ddc68b7788e72448bd470b082ee88458b2 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.3-1.fc44.noarch.rpm |
c60aee9a63bb244b19d5f741cc0ddeba95fe18d2e8855b6ae36157fb4d940cbc |
0 detections at scan time | VirusTotal analysis |
omus-1.0.3-py3-none-any.whl |
09d5ee502cf744b34fcbd60514aa7e155cba9e3e6521a353064429df20246f11 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.3.tar.gz |
c95b0529979684d7f8a675b2e0951f1c0b2b39bb0374f2a5bef3ddc997f10d4e |
0 detections at scan time | VirusTotal analysis |
omus_1.0.3_all.deb |
b47a035a90d00767a2373eaf1870dee542a43c9f7c682eb9363bb15fea2bf862 |
0 detections at scan time | VirusTotal analysis |
OMUS v1.0.2 — Every mouse. One system.
OMUS v1.0.2 — Secure updater redirect correction
OMUS v1.0.2 corrects the RPM, DEB, and AppImage updater's handling of GitHub
Release downloads. Canonical release URLs may redirect over HTTPS to GitHub's
exact release-asset infrastructure; OMUS now validates every hop, enforces a
bounded chain, strips sensitive headers across origins, and rejects downgrade,
external, deceptive, malformed, credential-bearing, and excessive redirects.
Artifact integrity remains independent of transport security. OMUS still
requires the canonical repository, exact release/version filename, complete
trusted SHA256SUMS manifest, and matching SHA-256 digest before installation.
The exact versioned SLSA provenance bundle remains intentionally outside the
checksum manifest, as required to avoid a checksum/provenance cycle; no other
release asset receives that exemption.
For repository-managed RPM installations, DNF is tried once first; if no newer
repository package exists, OMUS intentionally downloads the verified canonical
release RPM and asks DNF to install it.
Primary candidate artifacts are omus-1.0.2-1.fc44.noarch.rpm,
omus_1.0.2_all.deb, OMUS-1.0.2-x86_64.AppImage,
omus-1.0.2-py3-none-any.whl, and omus-1.0.2.tar.gz.
VirusTotal analysis
VirusTotal scanned the five primary distributable artifacts. Results are a point-in-time signal, not a certification of safety.
| Artifact | SHA-256 | Result at scan time | Analysis |
|---|---|---|---|
OMUS-1.0.2-x86_64.AppImage |
1f5d4346f5c5a241549cc247374833675075a80ed757dbeb1f6eeb8566ef7d0f |
0 detections at scan time | VirusTotal analysis |
omus-1.0.2-1.fc44.noarch.rpm |
a1f5946826bbce5a2e6d0e98a7e4fee64d9ad4cf93e0348e54ac7bbb7340a090 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.2-py3-none-any.whl |
75773fb5a6fe1adeaf0346ccee1cf794e525c7ddec64787e735d140e11302525 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.2.tar.gz |
b005bfcf3c5e214a76b5c292b1f9ecd9a32f949274f031c01d672649225ef5cb |
0 detections at scan time | VirusTotal analysis |
omus_1.0.2_all.deb |
7a81bc506dae31eb959243396248816819c8160002b1018f1f6715d506865dc6 |
0 detections at scan time | VirusTotal analysis |
OMUS v1.0.1 — Every mouse. One system.
OMUS v1.0.1 — Final Python baseline stabilization
OMUS v1.0.1 makes pointer handling smoother and more faithful by preserving the
mouse's native evdev report frames all the way through remapping. Relative X/Y,
wheel, and button events from one physical report remain together and produce
one corresponding virtual synchronization boundary. If the kernel reports
SYN_DROPPED, OMUS now discards the unreliable interval and safely releases
tracked synthetic keys and buttons instead of inventing input.
Sleep, wake, and reconnect handling are stronger. Ordinary pointer input can
recover independently of slower optional hardware management, and stale
workers cannot consume DPI operations belonging to a newer reconnect
generation. Discovery, backend reconciliation, HID DPI work, notifications,
battery, and other optional management activity stay outside the physical input
frame path.
These corrections retain OMUS's security protections: exact device identity,
permissions, ambiguity refusal, backend affinity, proof-gated hardware writes,
safe shutdown ordering, and terminal STOPPING behavior were not weakened for
performance.
The exact Logitech G305 validation run matched 99,932 physical and virtual
frames and 160,291 events with zero observed loss, duplication, modification,
ordering, unexpected coalescing, framing, batching, or reported latency-spike
violations. The fast workload sustained approximately 993 physical and virtual
frames per second, with about 0.016 ms median measured forwarding latency.
Ten of ten genuine wake trials passed. These are measured results for that
specific G305 and Fedora 44 test system, not universal mouse or system claims.
The final whole-program audit found no additional proven production defect
after the input and wake corrections. This release establishes the final
validated Python behavioral baseline for a separately planned Rust migration.
The Rust migration has not started and is not included in this release.
Primary artifacts are omus-1.0.1-1.fc44.noarch.rpm,
omus_1.0.1_all.deb, OMUS-1.0.1-x86_64.AppImage,
omus-1.0.1-py3-none-any.whl, and omus-1.0.1.tar.gz.
VirusTotal analysis
VirusTotal scanned the five primary distributable artifacts. Results are a point-in-time signal, not a certification of safety.
| Artifact | SHA-256 | Result at scan time | Analysis |
|---|---|---|---|
OMUS-1.0.1-x86_64.AppImage |
60aae56e00ccff3c75518a15d5e1f796e9cb2ac11b40be7080fdc77d421be3c8 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.1-1.fc44.noarch.rpm |
8af0ebbd500a18d3439eda53d859a4e285d495b45d91b5b18bd7caa2afc07868 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.1-py3-none-any.whl |
ea23c6bb82fc866e789578b7da6dfbeb1852bb7a4c7f44eaf946c0379b6b889d |
0 detections at scan time | VirusTotal analysis |
omus-1.0.1.tar.gz |
814dbdd9045111eb6cfead62368e3910d48e285f6953cd89bfad42a42ce1e7db |
0 detections at scan time | VirusTotal analysis |
omus_1.0.1_all.deb |
0cf323173fb05b566d7abf6e1493536a4c7cf5e955a0892531bab19944ef0b25 |
0 detections at scan time | VirusTotal analysis |
OMUS v1.0.0 — Every mouse. One system.
OMUS v1.0.0 — Every mouse. One system.
OMUS is One Mouse Universal System: the public successor to Mouse Control.
This is the first public OMUS release; the supported transition is Mouse
Control v0.9.9 → OMUS v1.0.0.
This release introduces the omus command, OMUS desktop identity and canonical
artwork, lossless/idempotent migration from legacy configuration, data, and
cache paths, and package transitions that preserve upgrades from v0.9.9. The
mouse-control command and mouse_control Python namespace remain compatible.
The canonical repository is now DonGeronimo7/OMUS; GitHub redirects links
from DonGeronimo7/mouse-control after the repository rename.
The canonical service is omus.service. Installing it disables the legacy
unit before enabling OMUS so only one remapper owns evdev/HID resources.
Hardware write authority, discovery gates, remapping, reconnect behavior,
DPI/polling, and independent notification replacement IDs are unchanged.
Primary artifacts are omus-1.0.0-1.fc44.noarch.rpm,
omus_1.0.0_all.deb, OMUS-1.0.0-x86_64.AppImage,
omus-1.0.0-py3-none-any.whl, and omus-1.0.0.tar.gz.
Mouse Control v0.9.9
Mouse Control v0.9.9 completes the canonical full-screen product experience,
adds a conservative native-lighting foundation, and extends the hardened
release pipeline with point-in-time VirusTotal analysis of every primary
distributable.
Complete canonical TUI
- The single canonical controller now includes dedicated Lighting, Updates,
Tools / Advanced, About, and complete Service-control pages. - A checked-in capability inventory enforces CLI/TUI parity while preserving
installed research and expert workflows under Tools / Advanced. - Update checks run only after an explicit action. RPM, DEB, AppImage, and pip
reuse the existing updater, checksum, trusted-origin, package-ownership,
approval, and service-restoration paths. Source, unknown, package-source, and
incompatible AppImage installs are represented honestly and cannot expose an
unsafe update action.
Safe native-lighting architecture
- Optional per-device lighting supports multiple zones and native Off, Static,
Breathing, and Spectrum modes, with RGB24#RRGGBB, brightness, speed, and
per-mode persistence vocabulary. - Lighting failures remain independent from DPI, polling, remapping, buttons,
battery, and service health. Volatile state is reconciled once per live
backend and after a genuine rebind. - Shared-device-config lighting is refused unless the exact backend proves a
trustworthy baseline-preserving read/modify/write operation. - Source-backed lighting protocol knowledge remains write-disabled. No newly
sourced lighting family is claimed as physically validated, and unqualified
lighting writes remain disabled.
Retained discovery, reliability, and supply-chain protection
- Existing Automatic Discovery, protocol knowledge, native HID++, G305,
remapping, reconnect, notifications, service lifecycle, updater, and
PROVEN-only hardware-write behavior are retained. - CodeQL, OpenSSF Scorecard, dependency auditing, immutable action pins,
least-privilege permissions, workflow-policy checks, wheel reproducibility,
exact artifact allowlists,SHA256SUMS, CycloneDX SBOM generation, and
keyless GitHub provenance/SBOM attestations remain release gates. - The five primary artifacts are submitted at four per minute through the
immutable-pinned VirusTotal action. The follow-up verifier waits for completed
analyses, records filename, SHA-256, detection counts, and direct report links
in these release notes, and fails the scan workflow on any malicious or
suspicious result. VirusTotal is a point-in-time signal, not certification.
Validation boundary
The canonical TUI received user physical acceptance before this release. New
lighting families and their write behavior remain unverified on physical
hardware. Automated tests and hosted packaging checks do not broaden hardware
write authority.
Downloads
- RPM:
mouse-control-0.9.9-1.fc44.noarch.rpm - DEB:
mouse-control_0.9.9_all.deb - AppImage:
Mouse-Control-0.9.9-x86_64.AppImage - Wheel:
mouse_control-0.9.9-py3-none-any.whl - Source:
mouse_control-0.9.9.tar.gz - CycloneDX SBOM:
mouse-control-0.9.9.cdx.json - Integrity manifest:
SHA256SUMS
VirusTotal analysis
VirusTotal scanned the five primary distributable artifacts. Results are a point-in-time signal, not a certification of safety.
| Artifact | SHA-256 | Result at scan time | Analysis |
|---|---|---|---|
OMUS-1.0.0-x86_64.AppImage |
7f93106e071d7fc47c3aa9e93648f40dbf6b7c6840026874cdecd82ab763b649 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.0-1.fc44.noarch.rpm |
84b653802fc6aac697d1a544a8f67012f50f866c1ee4373de3656aaabffde55b |
0 detections at scan time | VirusTotal analysis |
omus-1.0.0-py3-none-any.whl |
bd07ec92b701f0f2aa1d2aa8768d288cda3577b06aa8de24fdc04c2785d14e13 |
0 detections at scan time | VirusTotal analysis |
omus-1.0.0.tar.gz |
3f7eaab7c8ff4350007e909cb413c3a90c21ccf46cfbcfed3069209bdb9d5b0a |
0 detections at scan time | VirusTotal analysis |
omus_1.0.0_all.deb |
9efe39074791e920f85e6312b6dde9bea9fac19d6020d3238e61881fecf44dc5 |
0 detections at scan time | VirusTotal analysis |
Mouse Control v0.9.9
Mouse Control v0.9.9
Mouse Control v0.9.9 completes the canonical full-screen product experience,
adds a conservative native-lighting foundation, and extends the hardened
release pipeline with point-in-time VirusTotal analysis of every primary
distributable.
Complete canonical TUI
- The single canonical controller now includes dedicated Lighting, Updates,
Tools / Advanced, About, and complete Service-control pages. - A checked-in capability inventory enforces CLI/TUI parity while preserving
installed research and expert workflows under Tools / Advanced. - Update checks run only after an explicit action. RPM, DEB, AppImage, and pip
reuse the existing updater, checksum, trusted-origin, package-ownership,
approval, and service-restoration paths. Source, unknown, package-source, and
incompatible AppImage installs are represented honestly and cannot expose an
unsafe update action.
Safe native-lighting architecture
- Optional per-device lighting supports multiple zones and native Off, Static,
Breathing, and Spectrum modes, with RGB24#RRGGBB, brightness, speed, and
per-mode persistence vocabulary. - Lighting failures remain independent from DPI, polling, remapping, buttons,
battery, and service health. Volatile state is reconciled once per live
backend and after a genuine rebind. - Shared-device-config lighting is refused unless the exact backend proves a
trustworthy baseline-preserving read/modify/write operation. - Source-backed lighting protocol knowledge remains write-disabled. No newly
sourced lighting family is claimed as physically validated, and unqualified
lighting writes remain disabled.
Retained discovery, reliability, and supply-chain protection
- Existing Automatic Discovery, protocol knowledge, native HID++, G305,
remapping, reconnect, notifications, service lifecycle, updater, and
PROVEN-only hardware-write behavior are retained. - CodeQL, OpenSSF Scorecard, dependency auditing, immutable action pins,
least-privilege permissions, workflow-policy checks, wheel reproducibility,
exact artifact allowlists,SHA256SUMS, CycloneDX SBOM generation, and
keyless GitHub provenance/SBOM attestations remain release gates. - The five primary artifacts are submitted at four per minute through the
immutable-pinned VirusTotal action. The follow-up verifier waits for completed
analyses, records filename, SHA-256, detection counts, and direct report links
in these release notes, and fails the scan workflow on any malicious or
suspicious result. VirusTotal is a point-in-time signal, not certification.
Validation boundary
The canonical TUI received user physical acceptance before this release. New
lighting families and their write behavior remain unverified on physical
hardware. Automated tests and hosted packaging checks do not broaden hardware
write authority.
Downloads
- RPM:
mouse-control-0.9.9-1.fc44.noarch.rpm - DEB:
mouse-control_0.9.9_all.deb - AppImage:
Mouse-Control-0.9.9-x86_64.AppImage - Wheel:
mouse_control-0.9.9-py3-none-any.whl - Source:
mouse_control-0.9.9.tar.gz - CycloneDX SBOM:
mouse-control-0.9.9.cdx.json - Integrity manifest:
SHA256SUMS
VirusTotal analysis
VirusTotal scanned the five primary distributable artifacts. Results are a point-in-time signal, not a certification of safety.
| Artifact | SHA-256 | Result at scan time | Analysis |
|---|---|---|---|
Mouse-Control-0.9.9-x86_64.AppImage |
c10de7a04ce4a52906ad6732dd3ce8f307f1caef64593b878983d7176f8c1fa0 |
0 detections at scan time | VirusTotal analysis |
mouse-control-0.9.9-1.fc44.noarch.rpm |
90cf25e563d802f8d1aa647179743056916b257f2d23d3d2fbe8e5b7e180eea8 |
0 detections at scan time | VirusTotal analysis |
mouse-control_0.9.9_all.deb |
21cfdbe44f39940d836bc8cabf8a7f1457d09522f7c1121b925f7895d095fecc |
0 detections at scan time | VirusTotal analysis |
mouse_control-0.9.9-py3-none-any.whl |
d46b115602411c4e169d81995d859d011e570ab01ca2c6120909abf9707cd859 |
0 detections at scan time | VirusTotal analysis |
mouse_control-0.9.9.tar.gz |
47a0186625fda8cc66386a21cfa818b918ba0f5b06e2a2141cbb80b388814723 |
0 detections at scan time | VirusTotal analysis |
Mouse Control v0.9.8
Mouse Control v0.9.8
Mouse Control v0.9.8 is a security, reliability, and release-engineering
hardening milestone. It preserves the established interface and hardware
authority model while strengthening how every change and downloadable package
is tested, built, verified, and published.
Security and supply chain
- CodeQL, resolved-environment dependency auditing, and OpenSSF Scorecard now
run as dedicated security checks, with low-noise Dependabot updates for
Python and GitHub Actions dependencies. - All remote GitHub Actions are pinned to full commit SHAs. Workflows default
to read-only access and grant only the narrow job-level write permissions
required for security reporting, tag creation, attestations, and release
publication. - A repository-owned policy validator checks workflow syntax, immutable action
pins, permission allowlists, safe event-data handling, required security
wiring, and Dependabot configuration. - Clean builds use declared, pinned build inputs. The Fedora
%checkpath
explicitly provides PyYAML for the workflow-security tests without adding it
as an application runtime dependency. - Release validation checks wheel reproducibility and produces a verified
SHA256SUMSmanifest plus a reproducible CycloneDX 1.6 project dependency
SBOM. - GitHub artifact attestations bind provenance to the exact RPM, DEB,
AppImage, wheel, source distribution, and SBOM bytes. A separate SBOM
attestation binds the SBOM to the five primary release artifacts. - Release automation now separates commit validation, tag creation, package
construction, integrity finalization, attestation, and publication. A public
release is created only after the package and supply-chain gates succeed.
Runtime reliability
- Shutdown intent is published before wake-coordination teardown, and
STOPPINGis terminal. - Late device activity during shutdown can no longer revive wake handling or
backend rebind logic. - Shutdown no longer produces repeated DPI or polling reconciliation writes.
- Genuine matching-device wake evidence still interrupts reconnect backoff and
retains the established recovery behavior.
Compatibility and hardware safety
The complete v0.8.2 behavior contract and the established v0.9.x native HID++,
safe discovery, remapping, keyboard/chord, DPI, polling, battery, notification,
reconnect, service, TUI, CPI, support-report, and evidence-engine behavior are
preserved. Unknown or insufficiently proven hardware remains protected from
writes; only independently PROVEN exact-model operations can authorize them.
The security and release-engineering changes were extensively tested through
automated regression, packaging, and clean-build checks. This specific
hardening pass did not include new physical-hardware acceptance testing and
does not claim physical verification for any additional device.
Downloads
- RPM:
mouse-control-0.9.8-1.fc44.noarch.rpm - DEB:
mouse-control_0.9.8_all.deb - AppImage:
Mouse-Control-0.9.8-x86_64.AppImage - Wheel:
mouse_control-0.9.8-py3-none-any.whl - Source:
mouse_control-0.9.8.tar.gz - CycloneDX SBOM:
mouse-control-0.9.8.cdx.json - Integrity manifest:
SHA256SUMS
Mouse Control v0.9.7-2
Mouse Control v0.9.7-2
Accepted responsiveness revision for the canonical desktop-launched TUI. It
preserves Mouse Control's hardware authority and compatibility model while
moving live backend initialization behind the first complete device-selection
frame.
Fast canonical launcher
- The real device-selection frame is shown before live backend, capability, and
exact-evidence initialization. One owned non-daemon worker performs that
unchanged work and is deterministically joined and cleaned up on every exit. - Hardware-dependent navigation remains explicitly unavailable until
initialization completes. Device selection, Help, resize, and Cancel remain
responsive while it runs. - Foreground service suspension is requested early but completed synchronously
before any hardware session opens; unsaved exits retain the established
external restoration behavior. - Evdev discovery no longer opens each event node solely for prevalidation;
normal candidate, capability, permission, stable-path, and Rediscover
validation stay authoritative.
Downloads
- RPM:
mouse-control-0.9.7-2.fc44.noarch.rpm - DEB:
mouse-control_0.9.7-2_all.deb - AppImage:
Mouse-Control-0.9.7-2-x86_64.AppImage - Wheel:
mouse_control-0.9.7.post2-py3-none-any.whl - Source:
mouse_control-0.9.7.post2.tar.gz - Integrity manifest:
SHA256SUMS
Mouse Control v0.9.7-1
Mouse Control v0.9.7-1
Measured performance and updater-correctness release. It preserves Mouse
Control's behavior and hardware authority model while removing avoidable Python
startup, HID parsing/decoding, and idle UI work.
Reliable foreground TUI lifecycle
- Foreground graphical and terminal sessions are externally supervised by a
transient systemd user unit. A previously active background runtime is
suspended while the canonical TUI owns the device and restored after Save,
unsaved cancel, SIGTERM, or terminal disappearance. - The persisted service preference remains distinct from temporary suspension;
saving an explicit disable choice suppresses restoration as intended. - The desktop entry launches the packaged
mouse-control-launcher. It uses a
valid user-configured terminal, an existingxdg-terminal-exec, or a
dynamically discovered terminal emulator with the appropriate invocation.
No terminal emulator or terminal-launch utility is a new package dependency. - No alternate setup interface was added: graphical, terminal, AppImage, and
source launches continue to use the same canonical full-screen TUI.
Correct incremental RPM updates
- The release model now explicitly separates the GitHub/display tag, Python
PEP 440 version, RPM Version and Release, distribution suffix, and architecture. - The direct fallback accepts exactly one safe, version-exact, architecture-
compatible RPM such asmouse-control-0.9.7-1.fc44.noarch.rpm. - Official repository validation, DNF-first behavior, SHA-256 verification, DNF
package ownership, and verified post-install version checks remain mandatory. - Regression coverage includes the published
0.9.6to0.9.6-2failure and
verifies that the immediately previous updater recognizes this release name.
Measured Python performance
- Cold
mouse_control.appimport fell from 113.328 ms to 15.471 ms (-86.3%). - Immutable descriptor reuse reduced repeated parse work from 0.0209 ms to
0.000140 ms (-99.3%). - Cached descriptor field layouts reduced representative 1,000-report decode
from 66.552 ms to 28.388 ms (-57.3%). - Snapshot reuse reduced forced Rediscover from 0.577 ms to 0.411 ms (-28.8%).
- Event-driven UI queues reduced idle notifier CPU from 1.031 ms/s to 0.016
ms/s and voluntary context switches from 20/s to 1/s in the same probe. - Reconnect, Rediscover, and setup enter/exit retained-memory checks remain
bounded across 1,000 post-warmup cycles.
Safety and compatibility
Known devices still use exact physical identity and persisted PROVEN evidence;
explicit Rediscover still executes the complete discovery path. No hardware
write authority, generic-HID read-only boundary, updater validation, feature,
configuration behavior, or v0.8.2 compatibility requirement was removed.
Downloads
- RPM:
mouse-control-0.9.7-1.fc44.noarch.rpm - DEB:
mouse-control_0.9.7-1_all.deb - AppImage:
Mouse-Control-0.9.7-1-x86_64.AppImage - Wheel:
mouse_control-0.9.7.post1-py3-none-any.whl - Source:
mouse_control-0.9.7.post1.tar.gz - Integrity manifest:
SHA256SUMS