SwiftMiner 1.34
A reliability and quality release: SwiftMiner mines Drops more intelligently, keeps its live progress connection stable, recovers gracefully after an unexpected shutdown, and is now backed by continuous integration and a much larger automated test suite.
Bug Fixes
Fixes for issues that could disrupt live progress tracking and slow down how quickly SwiftMiner reacts to a stream going down.
- Fixed a reconnect loop in the Twitch live-events (PubSub) client. When a live connection was replaced, its own shutdown could be misread as a fresh connection failure and schedule additional reconnects โ producing bursts of unnecessary reconnect attempts. Cancelled connections now exit quietly, keeping live drop-progress tracking stable.
- Corrected the active-watch loop's timing so its periodic checks run on their intended schedule. Stream-offline detection and the fallback progress poll were effectively running about every two and a half minutes instead of every sixty seconds; they now run on time, so a stream going offline or a stalled drop is noticed sooner.
Smarter Drops Mining
The scheduler now makes better use of the watch time you've already banked toward a drop.
- SwiftMiner no longer abandons a drop that is within about ten minutes of completing when a higher-priority campaign goes live โ it finishes the nearly-earned drop first, unless the newly available campaign's own window is about to close.
- When choosing between otherwise equally-ranked campaigns, SwiftMiner now prefers the one whose next drop is closest to completing, so partially-earned drops are finished before a game's streams dry up.
- Honors Twitch's rate-limit responses: a short
Retry-Afternow waits and retries automatically instead of surfacing as an error, smoothing over brief throttling during large campaign refreshes.
Recovery & Diagnostics
SwiftMiner now notices when it didn't close cleanly and keeps far more diagnostic detail for troubleshooting.
- Detects when SwiftMiner didn't shut down cleanly โ a crash, a force-quit, or a power loss โ and, on the next launch, offers a pre-filled bug report with the app and macOS versions already included.
- Routes the mining engine's internal diagnostics through the macOS unified logging system, so activity from installed builds can be recovered with Console.app or
log showwhen troubleshooting an unattended session. Sensitive values such as authentication tokens are never written to the log.
Performance
The interface does less redundant work, especially on the Overview screen.
- Reworks how app settings are observed so changing one preference no longer refreshes unrelated parts of the interface.
- Trims redundant work from the Overview screen's render path and skips re-rendering when a refresh returns campaign data that hasn't actually changed.
Under the Hood & Release Quality
Behind-the-scenes work to keep future releases stable, backed by a much larger test suite.
- Adds continuous integration that builds SwiftMiner and runs its full test suite on every change, including a check that the Sparkle auto-update configuration stays intact.
- Splits several large source files into focused units for easier maintenance, with no change in behavior.
- Adds focused tests for live-connection reconnect and resubscription, drop-aware scheduling and preemption, failover-streamer matching, and the idle-scan backoff bound โ the automated suite now covers close to 390 checks.
- Prepared as SwiftMiner 1.34, build 2026072216.