Repository navigation
V10
What's Changed
This is a major overhaul that brings the project back to life on modern macOS. The app is now fully self-contained, runs natively on Apple Silicon, and works on macOS 26 (Tahoe).
Highlights
- Native Apple Silicon (arm64) support — closes long-standing issue #17. Separate Intel (x86_64) build also provided.
- Fully self-contained .app — no more InstallMeFirst.app, no more AppleScript installer, no brew install lz4 step. The bundled lz4
implementation is built in. Just download, drag to Applications, run. - macOS 26 (Tahoe) compatibility — fixed a Tk crash on launch caused by an NSMenuItem API change in newer macOS.
Bug fixes
- Thread-safety bug in folder decryption — a long-standing latent issue in the upstream synology-decrypt core could corrupt MD5 verification under parallel decryption.
- Folder mode no longer chokes on .DS_Store / Thumbs.db — closes long-standing issue #21 these are now skipped instead of being fed to the decryptor.
- Folder mode no longer recursively respawns the GUI — switched the worker pool from multiprocessing.Pool to multiprocessing.pool.ThreadPool, which avoids the py2app + spawn re-entry trap. AES and lz4 release the GIL in their C extensions, so parallelism is preserved.
- Disclaimer dialog now opens in the foreground when launched from Finder.
Project modernization
- Migrated build/dev tooling to uv with pyproject.toml and a committed uv.lock for reproducibility.
- Added a Makefile that drives everything: make sync, make run, make test, make build-arm64, make build-x86_64, and make dist all for full release packaging.
- Dropped dead dev dependencies (coverage, codacy-coverage) and the transitive Snyk security warnings they brought along.
- Removed the bundled lz4-1.8.2/ source tree, the broken lz4installer.scpt, and InstallMeFirst.app/ entirely.
- Updated all runtime deps to current versions: Pillow 10+, pycryptodomex 3.20+, lz4 4.3+.
- Updated README.md with the new make-based workflow.
New Contributors
Full Changelog: V9...V10