The DSA algorithm that has been used by Sparkle so far is considered outdated. We're migrating to a newer, more secure EdDSA (ed25519) signatures. We still support DSA signatures for existing applications, but all new apps should use EdDSA from now on.
We now use macOS Keychain to automatically store private EdDSA keys, which is more convenient and more secure.
- Added support EdDSA (ed25519) signatures (Kornel)
- Both old DSA and new EdDSA are still supported (and old apps can use both), but new applications should use EdDSA only, and we recommend migrating away from DSA signatures.
generate_keysis now a Swift tool that stores EdDSA private keys in the Keychain- Existing apps can continue using their old DSA keys, but we've dropped support for generation of old DSA keys
- The public EdDSA key is not a file any more. It's a string to copy&paste into
Info.plist
sign_updateis now a Swift tool that signs using EdDSA from private keys in the Keychain- The old DSA-based signing script has been moved to
bin/old_dsa_scripts - The old DSA-based signing script has been fixed to work on pre-10.13 systems (Thomas Tempelmann)
- The old DSA-based signing script has been moved to
generate_appcasthas been updated to support EdDSA signatures- It can sign both DSA (if
dsa_priv.pemfile is specified) and EdDSA from Keychain - The tool now uses
Cachesdirectory and doesn't generate unnecessary delta files
- It can sign both DSA (if
- Fixed verification of delta updates on filesystems that change permissions of symlinks
- Fixed
NSURLSessionleak (Michael Ehrmann)
Known issues
generate_keys,sign_update, andgenerate_appcastprompt for Keychain access permission every time.