Commit Graph
100 Commits
Author SHA1 Message Date
Micha 610c569b83 docs: add 26.1.2 changelog entry 2026-01-03 18:09:50 +01:00
Micha 7d7a79cf13 chore: release 26.1.2 2026-01-03 18:05:28 +01:00
Micha 2775e44f92 docs: add 26.1.1 changelog entry 2026-01-03 18:02:34 +01:00
Micha d5cadf75ca chore: release 26.1.1 2026-01-03 16:34:23 +01:00
Micha 28104c1bc3 fix: improve changelog extraction in publish script
- Simplified awk extraction without aggressive sed cleanup
- Now correctly extracts version-specific changelog entries
- Works with minimal or full changelog sections
2026-01-03 16:32:12 +01:00
Micha 8dae638111 docs: rename 'Unreleased' to 'Prereleases' in changelog 2026-01-03 16:29:33 +01:00
Micha 670c8fe83b docs: reorganize changelog - move auto-populate to 26.1.0, update section order 2026-01-03 16:27:58 +01:00
Micha 846983649a docs: update changelog for 26.1.0 release 2026-01-03 16:25:42 +01:00
Micha 1670b030ba feat: auto-populate release description from CHANGELOG
- Extract changelog entry for current version when creating releases
- Parse CHANGELOG.md and add to release body in Gitea
- Falls back to 'See commit history for details.' if no changelog found
- Keeps release notes synchronized with version
2026-01-03 16:23:24 +01:00
Micha fc43fa9094 chore: release 26.1.0 2026-01-03 16:21:16 +01:00
Micha 4f026d6e1b fix: interval indicator respects refresh interval setting
- ServerDetailView now reads refreshInterval from AppStorage
- Progress bar duration dynamically adjusts based on user's refresh interval setting
- Previously hardcoded to 60 seconds regardless of user preference
2026-01-03 16:18:08 +01:00
Micha 06932cde21 chore: release 26.0.70 2026-01-03 15:49:43 +01:00
Micha 7a286c68e3 feat: add status notifications for server monitoring
- Add notification preferences (Status Notifications and Alert Notifications toggles)
- Implement ping failure/recovery notifications when servers go offline/online
- Track individual service status changes and notify when services fail
- Request notification permissions on app launch
- Services like DNS, FTP, SSH, etc. now trigger alerts when status changes
- Notifications only sent when settings are enabled

Changes:
- PreferencesView: Add NotificationsPreferencesView with two toggles
- PingService: Add notification support with state tracking for ping events
- MainView: Add service status monitoring with change detection
- Track previous service states to detect transitions
2026-01-03 15:48:01 +01:00
Micha e7b776942b fix: use AppStorage values for ping and refresh intervals
Make the ping and refresh intervals from preferences actually control
the timer frequencies. Settings now properly update timers when changed.
- Read pingInterval and refreshInterval from AppStorage
- Recreate timers when settings change
- Setup timers on app appearance with correct intervals
2026-01-03 14:31:51 +01:00
Micha 8cf974118b fix: add connection test feedback in server form
- Show error message when connection test fails
- Disable test button while testing
- Provide clear feedback when API key or hostname are invalid
- Reset error message on successful connection
2026-01-03 14:16:11 +01:00
Micha ae83ea7dab chore: release 26.0.69 2026-01-03 14:00:42 +01:00
Micha 39205230b6 Sparkle test 2026-01-03 13:58:38 +01:00
Micha 55a266014c chore: release 26.0.68 2026-01-03 13:52:34 +01:00
Micha c002cab616 chore: disable sandbox for now to use Sparkle updates
Disable app-sandbox to allow Sparkle auto-updates to work properly.
Keep entitlements file structure for future sandbox re-enablement.
Sandbox integration with Sparkle requires more complex authorization
setup that can be tackled later when preparing for App Store.
2026-01-03 13:50:26 +01:00
Micha 117134cead chore: release 26.0.67 2026-01-03 13:36:30 +01:00
Micha 35711d33c0 Sparkle test 2026-01-03 13:34:50 +01:00
Micha 4f3d56dc3c chore: release 26.0.66 2026-01-03 13:28:45 +01:00
Micha 0d80a0f912 fix: use basic Sparkle updater for sandboxed apps
Disable SUEnableInstallerLauncherService and remove XPC entitlements.
Use Sparkle's standard update mechanism which works with sandboxed apps.
Add file access entitlements for update storage.
2026-01-03 13:26:37 +01:00
Micha b1d6e61f05 chore: release 26.0.65 2025-12-30 20:19:29 +01:00
Micha 2dd2c2154f fix: sign Sparkle framework separately for sandboxed builds
Sign the Sparkle framework before signing the whole app to ensure
proper code signature chain for sandboxed installation.
2025-12-30 20:17:47 +01:00
Micha c6ecbbe511 chore: release 26.0.64 2025-12-30 20:14:03 +01:00
Micha 77a145604c Sparkle test 2025-12-30 20:12:24 +01:00
Micha 0016030ff3 chore: release 26.0.63 2025-12-30 20:06:55 +01:00
Micha 615d664731 fix: configure sandbox for Sparkle installer with proper entitlements
- Add downloads folder read-write access for installer
- Enable SUEnableInstallerLauncherService for sandboxed update installation
- Keep XPC service entitlements for installer communication
2025-12-30 20:04:26 +01:00
Micha 5644fbdfe0 chore: release 26.0.62 2025-12-30 19:55:55 +01:00
Micha 9b5883fe77 Sparkle test 2025-12-30 19:54:08 +01:00
Micha 5d15810802 chore: release 26.0.61 2025-12-30 19:53:12 +01:00
Micha 519d15ed10 Sparkle test 2025-12-30 19:51:35 +01:00
Micha 446bbe7f98 chore: release 26.0.60 2025-12-30 19:50:43 +01:00
Micha b67fffd3f0 fix: re-add XPC service entitlements for sandboxed Sparkle installer
Add back InstallerConnection and InstallerStatus entitlements which are
required for the sandboxed app to communicate with Sparkle's installer
XPC service.
2025-12-30 19:48:44 +01:00
Micha 84935ee8fd chore: release 26.0.59 2025-12-30 19:42:29 +01:00
Micha 0f266f7046 Sparkle test 2025-12-30 19:40:37 +01:00
Micha bff7c44c29 chore: release 26.0.58 2025-12-30 19:36:29 +01:00
Micha f930e8334f chore: remove configuration note from updates preferences
Remove the explanation text about configuring appcast URL and EdDSA key.
This is configuration for developers, not end users.
2025-12-30 19:33:14 +01:00
Micha 0032ad9b57 chore: remove update button from main toolbar
Remove the 'Check for Updates' button from the main window toolbar.
Updates are available via Preferences → Updates, which is sufficient.
2025-12-30 19:29:01 +01:00
Micha b7f5d1a762 chore: remove update logs UI from preferences
Remove the Show/Hide Logs button and logs view from the Updates preferences
tab. Keep the logging infrastructure in SparkleUpdater for diagnostics,
but don't display it in the UI.
2025-12-30 19:27:06 +01:00
Micha 5dc5621871 docs: update changelog with Sparkle updater fixes and improvements
Document the key fixes that made Sparkle updates work:
- Using ditto instead of zip to preserve code signatures
- XPC service entitlements for sandboxed apps
- In-app logging for update debugging
- Re-enabled sandbox with minimal entitlements
2025-12-30 19:23:36 +01:00
Micha 2a848c3251 chore: release 26.0.57 2025-12-30 19:20:11 +01:00
Micha bb4f972d58 feat: re-enable sandbox with minimal entitlements
- Re-enable app-sandbox
- Add network.client entitlement (required for Sparkle updates)
- Keep build script passing entitlements to codesign
- Use ditto for ZIP to preserve code signatures

This is a minimal sandbox configuration focused on security while
keeping updates working.
2025-12-30 19:14:40 +01:00
Micha 62d4a9ac96 chore: release 26.0.56 2025-12-30 19:09:35 +01:00
Micha 75fe670779 fix: use ditto instead of zip to preserve code signatures
zip breaks code signatures on macOS. Use ditto -c -k to create the update
ZIP archive while preserving the embedded code signature of the app bundle.
2025-12-30 19:07:10 +01:00
Micha a961baab28 chore: release 26.0.55 2025-12-30 18:59:42 +01:00
Micha 7246b132f6 Sparkle test 2025-12-30 18:58:04 +01:00
Micha 1afce31641 chore: release 26.0.54 2025-12-30 18:52:40 +01:00
Micha 281016bfc9 fix: remove entitlements from code signing for non-sandboxed app
For non-sandboxed apps, don't pass --entitlements to codesign.
This was causing code signature issues.
2025-12-30 18:50:41 +01:00
Micha 144ad27aa6 chore: release 26.0.53 2025-12-30 18:43:27 +01:00
Micha aa655bb7d6 Sparkle test 2025-12-30 18:41:33 +01:00
Micha 1ac34e1f04 chore: release 26.0.52 2025-12-30 18:33:44 +01:00
Micha 5f045c113a chore: simplify to non-sandboxed app with no entitlements
Remove all sandbox and XPC entitlements to test if Sparkle works without them.
2025-12-30 18:31:17 +01:00
Micha 2dbe739c97 chore: release 26.0.51 2025-12-30 18:24:24 +01:00
Micha da9dd2f7ed Sparkle test 2025-12-30 18:22:30 +01:00
Micha 2ae67b6675 chore: release 26.0.50 2025-12-30 18:10:29 +01:00
Micha 989717539c Sparkle test 2025-12-30 18:08:49 +01:00
Micha 6d05419abb chore: release 26.0.49 2025-12-30 18:03:29 +01:00
Micha be37bf526a Sparkle test 2025-12-30 18:01:57 +01:00
Micha 6c1f5c6d25 chore: release 26.0.48 2025-12-30 17:20:31 +01:00
Micha 32f97ff7d4 Sparkle test 2025-12-30 17:18:45 +01:00
Micha dbbe1752d1 fix: disable InstallerLauncherService for sandboxed app
For sandboxed apps, use standard Sparkle updater instead of the
InstallerLauncherService. Also add Downloader XPC service identifiers.
2025-12-30 16:40:27 +01:00
Micha 2fe9821ac1 chore: release 26.0.47 2025-12-30 16:07:14 +01:00
Micha 87d4bffb99 Sparkle test 2025-12-30 16:05:16 +01:00
Micha 92782716fc chore: release 26.0.46 2025-12-30 16:00:25 +01:00
Micha 002c9e8cf2 Sparkle test 2025-12-30 15:58:45 +01:00
Micha 8820244589 chore: release 26.0.45 2025-12-30 15:51:46 +01:00
Micha 48d2f0ea42 Sparkle test 2025-12-30 15:49:57 +01:00
Micha 1947d05d78 fix: specify exact Sparkle XPC service identifiers
Change XPC entitlements from boolean true to arrays with specific
service identifiers for InstallerConnection and InstallerStatus.
2025-12-30 15:45:10 +01:00
Micha 86039cd5a9 chore: release 26.0.44 2025-12-30 15:35:40 +01:00
Micha 4f9c008498 Sparkle test 2025-12-30 15:33:58 +01:00
Micha 76818578b9 chore: remove duplicate v26.0.43 entry with incorrect size 2025-12-30 15:31:51 +01:00
Micha 9070882f38 fix: add XPC service entitlements for Sparkle installer
Add com.apple.security.xpc.aConnectionServices and
com.apple.security.xpc.aStatusServices entitlements to allow sandboxed
app to communicate with Sparkle's Installer and Downloader XPC services.
2025-12-30 15:27:19 +01:00
Micha 541927c30a chore: release 26.0.43 2025-12-30 15:18:43 +01:00
Micha ab3a7ca469 Sparkle test 2025-12-30 15:17:03 +01:00
Micha ee27efc0d4 chore: release 26.0.42 2025-12-30 14:23:40 +01:00
Micha c3f445e3c3 Sparkle test 2025-12-30 14:21:53 +01:00
Micha 215c24d5a2 improvement: enhance Sparkle error logging with error codes
Add error domain and code to abort error messages to help diagnose installation failures.
2025-12-30 13:27:35 +01:00
Micha b96b018f70 chore: release 26.0.41 2025-12-30 13:18:57 +01:00
Micha 65a65939a7 chore: remove local appcast testing scripts
Remove make_local_appcast.sh and serve_local_appcast.sh as they added
complexity without sufficient benefit. Test updates directly with published releases.
2025-12-30 13:15:27 +01:00
Micha 25723b7f07 feat: add in-app Sparkle update logging
- Add published logMessages array to SparkleUpdater to track all update events
- Display logs in the Updates preferences tab with Show/Hide toggle
- Each log entry is timestamped and shows both info and error messages
- Logs persist during session with max 100 entries
- Users can clear logs manually
- Helps diagnose update failures directly in the app UI
2025-12-30 13:12:27 +01:00
Micha 10683ebc73 chore: release 26.0.40 2025-12-30 13:01:20 +01:00
Micha 393bcf27e1 Sparkle test 2025-12-30 12:59:38 +01:00
Micha 839a513fde chore: release 26.0.39 2025-12-30 12:48:55 +01:00
Micha 77e82753ba chore: remove duplicate appcast entry for v26.0.38
Remove the old build 79 entry (from Dec 8) and keep only the new properly-signed build 80.
2025-12-30 12:46:35 +01:00
Micha bbb0b580b0 chore: release 26.0.38 2025-12-08 19:31:41 +01:00
Micha dd225b2b8e Sparkle fixes 2025-12-08 19:30:12 +01:00
Micha 76b01352ac chore: release 26.0.37 2025-12-08 19:07:36 +01:00
Micha fcca8cee38 Sparkle fixes 2025-12-08 19:05:49 +01:00
Micha 94d1b3fec4 chore: release 26.0.36 2025-12-08 18:45:18 +01:00
Micha 4352ae1476 Sparkle fixes 2025-12-08 18:43:48 +01:00
Micha 846e0b149b chore: release 26.0.35 2025-12-08 18:37:49 +01:00
Micha 11ca4dbede Sparkle fixes 2025-12-08 18:36:23 +01:00
Micha 1d8bdfe491 chore: release 26.0.34 2025-12-08 18:27:08 +01:00
Micha 4f5a07822f Sparkle fixes 2025-12-08 18:25:34 +01:00
Micha 67709dfda6 chore: release 26.0.33 2025-12-07 20:22:09 +01:00
Micha 6753226087 Sparkle fixes 2025-12-07 20:20:34 +01:00
Micha a3671acf38 chore: release 26.0.32 2025-12-07 20:18:04 +01:00
Micha 0aa773a0b3 Sparkle fixes 2025-12-07 20:16:37 +01:00