Repository navigation
Releases: anothaDev/omachord
Release list
Omachord 0.5.0
Omachord 0.5.0 adds capability-gated, target-bound brightness recovery and improves runner concurrency, cancellation, and error reporting.
Compatibility
- Supported release runtime: Omarchy 4.0.2, Hyprland 0.56.2, and Quickshell 0.3.1.
- Brightness activation records use schema version 3. Finish restoring active routines before downgrading; older runners reject these records.
- Panel and condition-service commands that execute routine work have a ten-minute total deadline, including bulk configuration apply and Disconnect. Direct CLI invocations have no QML watchdog; individual action limits still apply.
Changes
- Brightness requirements are checked before any routine action runs. Reads, writes, and restoration stay bound to the display selected at activation; unavailable or uncertain displays retain recovery state.
- Condition-driven brightness starts use capped retry backoff and expose recovery choices.
- Long routine actions release the shared configuration lock. Bulk changes end routines after refusal checks, and report completed deactivations if a later operation fails.
- Connect/Disconnect preserve the original
bindings.luabytes and bound integration backups. - Action supervision isolates inherited descriptors, distinguishes timeouts from other failures, validates timeout settings, and bounds QML runner requests. Hook suppression requires live process identity context; it is not an authorization boundary.
The Lean model proves scoped policy properties, not the entire Bash/QML application or physical hardware behavior. Full changes and recovery boundaries are in CHANGELOG.md, SECURITY.md, and the proof documentation.
Validation
Lean 4.34.0 checked all 68 theorems; generated cases passed JavaScript conformance. The complete suite passed from both the clean checkout and committed Git archive, with strace fault injection enabled. Portable CI and CodeQL passed. The actual Omarchy 4.0.2 CLI/QML runtime was tested in temporary isolated userspace with Hyprland 0.56.2 and Quickshell 0.3.1; live service, bar, panel, and theme crossfade checks passed in a separate nested compositor. See PR #8 for the validation boundaries and release controls.
Omachord 0.4.1
The bar icon now shows Omachord's state clearly: dimmed when Off, normal theme brightness when On with no active routines, and the theme accent while a routine is active. Its drawing now matches the stock icon font size while retaining the existing click target and popup artwork.
The patch leaves routine execution, condition service, integration ownership and recovery behavior unchanged. Native regressions cover all three states, theme changes, sizing at 1×/2×, mouse/keyboard interaction and vertical/collapsed layouts.
Supported and validated locally with Omarchy 4.0.2, Hyprland 0.56.2 and Quickshell 0.3.1. Restart Omarchy Shell after updating.
Bar placement stays configurable. To put Omachord beside the right-side indicators, use:
omarchy bar move anothadev.omachord --section right --after omarchy.trayValidation: full local suite passed in both a clean checkout and its exact committed source archive; all eight release renders and the installed bar appearance were checked. GitHub portable CI and CodeQL passed. The final merge has the identical source tree to the tested commit.
Release commit: 06d17476b21e76f68aabed92721df6e66fc9da4b
Omachord 0.4.0
Omachord 0.4.0 adds steady loading switches, faster connection changes, and stronger configuration and recovery handling.
Changes
- Pending switches keep their size and show progress. The panel and bar share confirmed connection state, and failed requests release controls for retry.
- Independent routine requests can run concurrently. Shortcut processing and filesystem inspection are batched while retaining locks, rollback and durable writes.
- Manual UI starts use the configuration revision displayed when clicked. A save made while the request waits requires a fresh review and retry, including saves to unrelated routines. Explicit CLI starts without a revision continue to use the latest committed configuration.
- Turning Omachord off also stops automatic requests already waiting for the configuration lock. Manual runner commands remain available while off.
- Configuration must contain exactly one JSON document. Startup can repair committed integration but cannot silently approve changed or unmarked executable configuration.
- Active routines retain their original end-action identity. Explicit revision-bound recovery can skip an ambiguous legacy action list while preserving typed setting restoration.
- Theme/status reads are bounded, metadata watchers avoid loading file bodies, cancellation stays tied to the owned process, and filesystem recovery reports surviving paths accurately.
- Production test-only fault/marker/count controls and the reload-validation bypass are removed. Explicit disposable fixtures retain deterministic failure coverage.
- Routine IDs that match JavaScript object property names work correctly. Wi-Fi names preserve exact leading and trailing spaces.
- Manual installation/update/removal documentation and portable CI coverage are expanded.
Compatibility and upgrading
Supported versions: Omarchy 4.0.2, Hyprland 0.56.2, Quickshell 0.3.1, GNU coreutils 9.5+, and GNU awk. See the README for all requirements.
Restart Omarchy Shell after updating to load the QML components. Existing routine configuration is retained. Review externally supplied routines before explicitly accepting or running them: routines remain trusted, unsandboxed local code executed with your user privileges, and may invoke sudo.
New active-recovery records use version 2. Complete restoration or explicit recovery before downgrading; older runners reject these records. Legacy records with ambiguous end actions require the documented recovery inspect and revision-bound recovery restore ... --skip-end-actions flow.
Connection changes may still wait for active-routine restoration, reload/validation, durability barriers or configuration locks. Retained recovery archives and detached audio have no global resource quota. See known issues and the security model.
Validation and provenance
Release commit: a8453858868b86c57ea101af4b0f2d66fd8347b2, merged through PR #6. Its source tree is byte-identical to the independently reviewed and live-tested candidate.
Main CI, tag CI, and CodeQL passed.
Validation includes complete clean-checkout and committed-archive suites, native QML interaction tests, filesystem/process/recovery and write-failure regressions, eight direct production-instrumentation boundary tests, non-root portable CI, CodeQL and eight reviewed offscreen views. The actual Off-state bar icon and its in-memory color transition were checked in the supported running Omarchy Shell; the full theme-set hook pipeline and active-routine visuals were not exercised in that live smoke check.
Omachord ships as source, scripts, QML and assets. The automatic source archives contain the complete project; there is no separate compiled application binary. This release does not claim renewed marketplace approval.
Omachord 0.3.2
Omachord 0.3.2 is the marketplace-approved security hardening release.
Security hardening
- Performs managed writes, removals, rollback, conflict preservation, and backups through descriptor-pinned, no-follow filesystem transactions with durable file and directory synchronization.
- Keeps each action process-group leader identity anchored until descendant cleanup is complete, preventing signals from crossing into a reused PGID.
- Moves Omarchy toggle discovery behind the trusted runner with descriptor-pinned enumeration, strict filename validation, entry and byte limits, a deadline, complete teardown, and prototype-safe QML state.
- Adds deterministic regressions for ancestor swaps, concurrent replacement, rollback and durability failures, open-inode writes, marker failures, output limits, and stale toggle state.
Compatibility
- Omarchy 4.0.2
- Hyprland 0.56.2
- Quickshell 0.3.1
Marketplace approval and this release are tied to exact commit 873fcf0fba8af0ceeeef297a07ed095b39c47d59. The complete local gate passed from a clean git archive, and tag CI passed in run 33672363492.
Marketplace listing: https://omarchyplugins.com/plugin.html?id=anothadev.omachord