Releases: dmytro-yemelianov/upyr
Release list
Upyr 0.2.0 macOS preview (ad-hoc signed)
macOS 0.2.0 public preview for Apple silicon and Intel Macs.
Important: This preview is ad-hoc signed and is not Apple-notarized. Gatekeeper may block the first launch. macOS 11 or newer is required. The official Developer ID and notarized release is tracked in issue #4.
Highlights
- Upyr Original, Pocket Arcade, and opt-in Anime Reactions sound packs.
- Separate event sounds and physical-key feedback with a master volume control.
- Short deterministic variations, caching, rate limiting, and event-only prewarming for responsive feedback.
- Every event and key cue is synthesized locally. The app bundles no recordings or pre-rendered audio and makes no audio-service or telemetry calls.
- Configuration schema 6 migrates older settings without silently enabling keyboard monitoring.
Compatibility and verification
- Universal
x86_64 + arm64application for macOS 11 and newer. - Built from source commit
2f396b191520533885ab5bad2651efd3e207754dby release workflow #29591999930. - The DMG and ZIP were independently checked for integrity, bundle metadata, deployment targets, deep ad-hoc signatures, identical application contents, and
ghbdsn → привітconversion. - Use
SHA256SUMS.txtto verify either download.
Upyr 0.1.0 macOS preview (ad-hoc signed)
Upyr 0.1.0 macOS preview
Development preview: this build is ad-hoc signed only. It is not signed with an Apple Developer ID certificate and has not been notarized by Apple. Gatekeeper may block it. This is deliberately published as
macos-preview-0.1.0, not the officialv0.1.0tag.
This is the first testable macOS preview of Upyr, a private English ↔ Ukrainian keyboard-layout fixer written in Rust.
Download
upyr-macos-universal-0.1.0.dmg— drag Upyr.app to Applications.upyr-macos-universal-0.1.0.zip— the same app bundle as a ZIP.SHA256SUMS.txt— SHA-256 checksums for both downloads.
Requires macOS 11 or newer. Every executable is universal (arm64 + x86_64). The artifacts were built from commit 91b4274c4297969c8bbd19ac8d18d2903449ba8f by GitHub Actions run 29575316475, where the packaged CLI smoke test verified ghbdsn → привіт.
After first launch, grant Accessibility access when macOS asks. Upyr detects an existing grant without reopening System Settings; after a new grant it offers to restart so the input monitor starts cleanly.
What is included
- selected-text, previous-word, and optional confidence-gated automatic correction;
- physical-key-aware EN/UK mapping, including
[];'\,./↔хїжєґбю.; - case and punctuation preservation plus guards for technical tokens such as FAANG, SaaS, NASDAQ, iPhone, and ServiceNow;
- native macOS settings with searchable tabs, shortcut recording, event sounds and volume, optional pointer-side language flag, and About;
- a compact local signed character n-gram model: 173,964 packed 2–5-character records in about 2.8 MiB, generated reproducibly from pinned English and Ukrainian corpora.
Privacy and verification
Upyr requires no account and performs no remote inference. The desktop runtime has no telemetry, analytics, updater, crash reporter, advertising SDK, or HTTP client. Typed boundaries are kept only in bounded memory and are not written to disk or logs. Configuration is stored per user and replaced atomically.
This revision passed formatting, Clippy with warnings denied, 126 tests (3 opt-in model benchmarks ignored), Rust 1.86 compatibility, Windows/macOS/Linux test jobs, WASM contracts, privacy invariants, CodeQL, dependency review, RustSec vulnerability audit, package smoke tests, and local DMG/ZIP, code-signature, architecture, version, and checksum verification.
Known limitations
- Apple Developer ID signing and notarization are not yet configured; follow issue #4 for the official signed release. If Gatekeeper rejects this preview, build from source or wait for that release rather than weakening system security.
- macOS is the primary target. Windows and Linux/X11 packages build and smoke-test in CI but remain preview targets.
- The Linux GTK/glib modernization and its currently reported dependency advisory are tracked in issue #3.
See the English README, English product page, and Ukrainian product page for details.