<?xml version="1.0" standalone="yes"?>
<rss xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
    <channel>
        <title>SwiftMiner</title>
        <item>
            <title>1.21</title>
            <pubDate>Sun, 29 Mar 2026 12:08:29 +1300</pubDate>
            <sparkle:version>2026050610</sparkle:version>
            <sparkle:shortVersionString>1.21</sparkle:shortVersionString>
            <sparkle:minimumSystemVersion>26.0</sparkle:minimumSystemVersion>
            <sparkle:releaseNotesLink>https://johnwatso.github.io/SwiftMiner/release-notes/1.21.html</sparkle:releaseNotesLink>
            <sparkle:fullReleaseNotesLink>https://johnwatso.github.io/SwiftMiner/release-notes/</sparkle:fullReleaseNotesLink>
            <description><![CDATA[
                <h2>What Changed</h2>
                <h3>Version 1.21</h3>
                <ul>
                    <li>Adds a What's New window in the app menu so the current release notes can be opened directly from SwiftMiner.</li>
                    <li>Derives release-note links from the configured stable or beta Sparkle feed, keeping in-app notes aligned with the selected update channel.</li>
                    <li>Summarises how many miners are currently mining instead of naming only the first active campaign.</li>
                    <li>Refreshes miner activity cards periodically so the displayed current and upcoming work stays fresh while the app remains open.</li>
                    <li>Debounces Twitch category searches, cancels stale requests, and keeps the loading state steady while you type.</li>
                    <li>Removes the Claim All Drops app command now that ready rewards are claimed automatically.</li>
                    <li>Shows claiming rewards in activity cards instead of leaving completed drops labelled ready to claim.</li>
                    <li>Uses a green check for the menu bar status when all miners are running, with warning icons reserved for attention states.</li>
                    <li>Adds Software Updates controls for choosing the stable or beta Sparkle feed.</li>
                    <li>Adds settings for prompting when updates are available and allowing unattended update installs when macOS permits them.</li>
                    <li>Adds in-app TipKit hints that explain adding miners, prioritising games, drag-to-reorder, miner nicknames, drop filters, and the Steam artwork option, with a General settings toggle to disable them.</li>
                    <li>Tidies the Advanced settings layout with grouped sections, consistent labels, and clearer destructive actions.</li>
                    <li>Uses miner nicknames everywhere a miner is shown, including the Drops campaign cards and the Activity Log.</li>
                    <li>Updates the stable Sparkle appcast and release-note links for SwiftMiner 1.21 build 2026050610.</li>
                    <li>Improves completed drop history when Twitch no longer exposes an expired campaign.</li>
                    <li>Uses cached completed campaign data only as a fallback when a campaign is missing from Twitch, while fresh Twitch campaign data continues to win when available.</li>
                    <li>Fixes completed miner rows that could appear as waiting after both accounts had already claimed the campaign.</li>
                    <li>Adds a maintenance action in Advanced settings to clear cached drop history without removing accounts or app preferences.</li>
                    <li>Adds a Stall recovery setting, enabled by default, that restarts an individual miner when it appears stuck after a long progress stall or recoverable network error.</li>
                    <li>Adds a Help &gt; Raise Issue on GitHub… action that opens the SwiftMiner issues page prefilled with version and macOS details.</li>
                    <li>Removes the unused View menu and restricts Start minimised to login launches, only showing the option once Start at login is enabled.</li>
                    <li>Detects false-positive account connections and adds a 1-hour cooldown for campaigns that never produce an active drop session, so miners stop getting stuck on bad campaign selections.</li>
                </ul>
                <h3>Version 1.20</h3>
                <ul>
                    <li>Adds smarter stream selection, including optional stream spreading so multiple miners avoid piling onto the same verified live channel when enough alternatives are available.</li>
                    <li>Adds an option to prioritise followed and subscribed Twitch streamers, with subscriptions ranked ahead of follows during channel selection.</li>
                    <li>Adds a Watching Streamer panel to miner views so each account clearly shows the channel and campaign it is currently using.</li>
                    <li>Refreshes the Activity Log with clearer filters, optional category icons, new-row animation, timestamp formatting, and the new Activity Log navigation name.</li>
                    <li>Adds login launch controls, including Start at login, Start minimised, and approval/error messaging for macOS login item setup.</li>
                    <li>Improves drop claiming by syncing Twitch inventory before and after claims so completed and claimed rewards stay accurate.</li>
                    <li>Cleans up Overview and miner status language by removing the old Up Next/debug queue surfaces and showing waiting states more accurately.</li>
                    <li>Updates the Sparkle appcast and release-note links so the in-app updater can show richer What's New content.</li>
                </ul>
                <h3>Version 1.11</h3>
                <ul>
                    <li>Ships the latest SwiftMiner dashboard, search, and miner workflow improvements through the stable update feed.</li>
                    <li>Improves update reliability so future SwiftMiner releases can include richer release notes in-app.</li>
                </ul>
                <h3>Version 1.10</h3>
                <ul>
                    <li>Keeps the update path moving forward after the previous build metadata issue.</li>
                    <li>No user-facing SwiftMiner behavior changed in this release.</li>
                </ul>
                <h3>Version 1.09</h3>
                <ul>
                    <li>Continues the update-feed repair work needed for stable auto updates.</li>
                    <li>No user-facing SwiftMiner behavior changed in this release.</li>
                </ul>
                <h3>Version 1.08 and 1.07</h3>
                <ul>
                    <li>Adds a richer miner dashboard with activity overview, miner health status, and clearer campaign detail screens.</li>
                    <li>Adds paused-state handling, ordered Mining/Queued rails, and drag-to-reorder game priority rules.</li>
                    <li>Improves Twitch game search with better no-drop hints, availability badges, sequel-style query fallback, and clearer empty/error states.</li>
                    <li>Automatically refreshes expired Twitch tokens where possible and gives clearer re-auth guidance when a session needs attention.</li>
                    <li>Polishes onboarding, account details, notification handling, and the Set Steam ID flow.</li>
                </ul>
            ]]></description>
            <enclosure url="https://github.com/johnwatso/SwiftMiner/releases/download/v1.11/SwiftMiner-1.11.zip" length="6235142" type="application/octet-stream"/>
        </item>
    </channel>
</rss>
