v2.1.1
🇬🇧 English
Important: the previous 2.1.0 DMG accidentally contained the 2.0.3 app
inside (the headline per-app layout memory was missing). 2.1.1 fixes the build
pipeline so the DMG always matches the announced version, and ships the real
2.1.1 build. Homebrew and the in-app updater will pick it up automatically.
Security & privacy
- Auto-update is now signature-verified: the downloaded app is checked for a
valid Developer ID signature (Team ID pinned) and matching bundle id/version
before it replaces the running app. sha256 verification is now mandatory. - Debug log no longer stores the text you type — only lengths are recorded.
- Clipboard is reliably restored on conversion failure and on quit.
Reliability
- The build pipeline rebuilds and hard-checks the version before packaging, and
writes the sha256 back into the manifest and Homebrew cask automatically. - Keystroke logging moved off the input hot path.
- The "Auto-switch" toggle now actually turns conversion on/off.
- Internal cleanup and dead-code removal.
🇷🇺 Русский
Важно: в прошлом DMG 2.1.0 по ошибке лежало приложение 2.0.3 (без ключевой
функции — запоминания раскладки по приложению). В 2.1.1 исправлен пайплайн
сборки, чтобы DMG всегда соответствовал заявленной версии, и собран настоящий
билд 2.1.1. Homebrew и встроенное обновление подхватят его автоматически.
Безопасность и приватность
- Авто-обновление теперь проверяет подпись: скачанное приложение проверяется
на валидную подпись Developer ID (пиннинг Team ID) и совпадение bundle id/версии
перед заменой. Проверка sha256 стала обязательной. - Отладочный лог больше не сохраняет набираемый текст — только длины.
- Буфер обмена надёжно восстанавливается при сбое и при выходе.
Надёжность
- Пайплайн сборки пересобирает и жёстко сверяет версию перед упаковкой и сам
вписывает sha256 в манифест и Homebrew-cask. - Логирование нажатий убрано с горячего пути.
- Тумблер «Auto-switch» теперь действительно включает/выключает конвертацию.
- Внутренняя чистка и удаление мёртвого кода.