<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
     xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle"
     xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Scrobblr</title>
    <link>https://asharahmed.github.io/scrobblr/appcast.xml</link>
    <description>Latest Scrobblr releases</description>
    <language>en</language>

    <item>
      <title>Version 0.1.15</title>
      <pubDate>Wed, 27 May 2026 03:55:36 +0000</pubDate>
      <sparkle:version>16</sparkle:version>
      <sparkle:shortVersionString>0.1.15</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Loved tracks, everywhere</h3>
        <ul>
          <li>Heart any track from Scrobblr: the now-playing card, the "on another device" card, and every row in Recent scrobbles.</li>
          <li>Hearts reflect what's actually loved on Last.fm. Pulled at launch and refreshed every 15 seconds, so a track you loved on your phone shows filled on your Mac.</li>
          <li>Unlove with a second click. No more accidental forever-hearts.</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.15/Scrobblr.zip"
        sparkle:edSignature="F5U2gI6S1v0EXXRkDt5jJPxv9ACIvSQid54IsBFaEO9PelURPDYg9/g5tzIA4RqNoJRRuWHLFjtxEVJwO0KSDQ=="
        length="3470473"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.14</title>
      <pubDate>Wed, 27 May 2026 03:45:52 +0000</pubDate>
      <sparkle:version>15</sparkle:version>
      <sparkle:shortVersionString>0.1.14</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Performance and safety pass</h3>
        <ul>
          <li>Artwork is decoded once and cached, instead of re-decoded on every UI tick. Smoother menu bar, lower CPU.</li>
          <li>Remote artwork fetches now use a scoped session with a 10-second timeout, so a stalled CDN can't block the sync loop.</li>
          <li>Tighter teardown on quit (network monitor, sleep/wake observers, pending continuations).</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.14/Scrobblr.zip"
        sparkle:edSignature="6fz5jr0wlSCsVNqQhRtz8AcUEi6BJ29czl8S/zuah9iEJycOW/8tyzr2B1WJMpfFrhpf+2sUvN7Y48a4jPcFDw=="
        length="3457177"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.13</title>
      <pubDate>Wed, 27 May 2026 03:35:00 +0000</pubDate>
      <sparkle:version>14</sparkle:version>
      <sparkle:shortVersionString>0.1.13</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Faster remote sync</h3>
        <ul>
          <li>Remote sync now polls every 15 seconds (was 60). When you start playing on your iPhone, Scrobblr's menu bar reflects it within ~15s instead of up to a minute.</li>
          <li>Opening the menu bar dropdown triggers an immediate sync, so what you see at the moment you look is at most 1 second stale.</li>
          <li>Initial sync at launch drops from 20s to 3s.</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.13/Scrobblr.zip"
        sparkle:edSignature="Ir/wuEKjYlEpHJkkY9AOugp4DubguLUALCqB4ccacYsYw/Mnm7UnoUieSyF6il90tWQEt6TsvPT8/GQi/YQiAQ=="
        length="3449088"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.12</title>
      <pubDate>Tue, 26 May 2026 03:25:00 +0000</pubDate>
      <sparkle:version>13</sparkle:version>
      <sparkle:shortVersionString>0.1.12</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Remote now-playing in the menu bar</h3>
        <p>When nothing is playing on this Mac, Scrobblr now displays whatever you're scrobbling on another device. Pulls Last.fm's nowplaying indicator (the same data that powers your live profile page) and shows it with cover art and an "On another device" badge.</p>
        <p>The menu bar status icon also reflects this state with a wave glyph instead of the static stopped variant.</p>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.12/Scrobblr.zip"
        sparkle:edSignature="nX0Jq6p0Vny7DujGMj28dXnJJVf19quvXQItZV6qtJBl6r+gl6ewN8eDTWyCJTSW84iFd8oOnScQwQylR+kpCA=="
        length="3447628"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.11</title>
      <pubDate>Tue, 26 May 2026 03:15:00 +0000</pubDate>
      <sparkle:version>12</sparkle:version>
      <sparkle:shortVersionString>0.1.11</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Autosync</h3>
        <p>Scrobbles you submit from other devices (iPhone Apple Music, web player, another Mac) now appear in Scrobblr's menu bar and Recent Scrobbles list automatically. The app polls Last.fm every minute while awake and merges anything new, even if nothing is playing locally.</p>
        <ul>
          <li>Menu bar "Scrobbled X by Y" updates from remote plays in near real-time</li>
          <li>Recent Scrobbles in Activity merges across all your devices</li>
          <li>Activity footer shows last sync time and imported count</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.11/Scrobblr.zip"
        sparkle:edSignature="XAM85uL7gqR6OrhNgqMxv+XhDCqeo3qrFdZ3C3N5W0ZjWdFTmj7Bdiicb5jxK627rwSks9ah90mUD23gRym6BQ=="
        length="3425858"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.10</title>
      <pubDate>Tue, 26 May 2026 02:30:00 +0000</pubDate>
      <sparkle:version>11</sparkle:version>
      <sparkle:shortVersionString>0.1.10</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Menu bar dismissal, take two</h3>
        <p>The previous fix used <code>NSApp.keyWindow?.orderOut</code> which missed the actual MenuBarExtra panel. Now we hunt for the panel by its defining trait: an NSPanel with the <code>.nonactivatingPanel</code> style mask. Stable across SwiftUI releases, unlike the private class name.</p>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.10/Scrobblr.zip"
        sparkle:edSignature="HxHbdkFoZANaRDjCIhC9VDoDZhFhfgZavLTABT+RKVJ18toDCkiaG9eGlzAsiHiuvhYEXQrrGJuwRdUA/bnjBQ=="
        length="3413339"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.9</title>
      <pubDate>Tue, 26 May 2026 02:00:00 +0000</pubDate>
      <sparkle:version>10</sparkle:version>
      <sparkle:shortVersionString>0.1.9</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>UX polish</h3>
        <ul>
          <li><strong>Menu bar dropdown dismisses</strong> when you click Settings, Stats, Profile, or any other action that opens a window. Previously stayed open even as the new window loaded.</li>
          <li><strong>"Connected" status row hidden</strong> when there's nothing newsworthy to report. The menu is quieter when the app is idle and happy.</li>
          <li><strong>Stats list rows are fully clickable</strong>: click anywhere on a Top Track / Artist / Album row to open it on Last.fm, not just the tiny arrow.</li>
          <li>Period picker label hidden in the Stats toolbar.</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.9/Scrobblr.zip"
        sparkle:edSignature="ayk2rYkwIsb8y6Yl3y8tRFdReZBXEzGQjMbIsKwcXKLzMiIRdNdp3f1i0vH1C4tl2rj5oouySEZ4fzvVSZP6AA=="
        length="3412690"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.8</title>
      <pubDate>Tue, 26 May 2026 01:30:00 +0000</pubDate>
      <sparkle:version>9</sparkle:version>
      <sparkle:shortVersionString>0.1.8</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Copy pass</h3>
        <p>Settings card footers, menu bar tooltips, and onboarding subtitles rewritten in plain English. Removed dev jargon (NSRegularExpression, distributed notifications, EdDSA, Tahoe-fallback metadata, threshold). Redundant subtitles dropped.</p>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.8/Scrobblr.zip"
        sparkle:edSignature="IazCuFOKmb1x89e+2v5a+c8DuHU8/7PqtOXHfS+iubWzGMvJUssdqYgxI74T50TnfjjT2nR4JfFVUB38RBLiAw=="
        length="3406122"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.7</title>
      <pubDate>Tue, 26 May 2026 01:00:00 +0000</pubDate>
      <sparkle:version>8</sparkle:version>
      <sparkle:shortVersionString>0.1.7</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Top Albums grid</h3>
        <ul>
          <li>Stats &rarr; Top Albums now renders as a cover-art grid with rank, play-count badges, hover lift, and click-out to Last.fm</li>
          <li>Tiles fall back to identity-colored gradient when Last.fm has no cover image, then attempt iTunes Search as a second-chance lookup</li>
          <li>Cleaner trademark footer in About</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.7/Scrobblr.zip"
        sparkle:edSignature="OY1VD+vmiWFjFDUT887BDob6xfebeOR9mb1H8BxPPr50EHQHtTAqA5JN+12c/j3NyP1UOz6wneRBOP9hV3G8CQ=="
        length="3407125"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.6</title>
      <pubDate>Tue, 26 May 2026 00:45:00 +0000</pubDate>
      <sparkle:version>7</sparkle:version>
      <sparkle:shortVersionString>0.1.6</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Bugfix</h3>
        <ul>
          <li>Fixed the Ignored rules picker label rendering "M / a / t / c / h" vertically. Picker label is now hidden and a properly-sized "Match" prefix label is rendered separately.</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.6/Scrobblr.zip"
        sparkle:edSignature="mBZQYa8kgHViB0ERGNrLd18eeGaWl57n5xOQQh7i09PI5VXq/vfDAAbgbY/0EDXEONnlC6Y/2T2LQKllMf99Aw=="
        length="3380302"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.5</title>
      <pubDate>Tue, 26 May 2026 00:30:00 +0000</pubDate>
      <sparkle:version>6</sparkle:version>
      <sparkle:shortVersionString>0.1.5</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Artwork guarantee + cold-launch fixes</h3>
        <ul>
          <li><strong>Artwork is never empty</strong>: each track gets an identity-derived colored gradient with its initial as the placeholder. Real album art fades in on top when fetched.</li>
          <li><strong>Last.fm fallback for artwork</strong>: when iTunes Search misses a track (live recordings, niche releases), Scrobblr falls back to Last.fm's <code>track.getInfo</code>.</li>
          <li><strong>Paused-at-launch position</strong>: the menu bar now shows your actual playhead when launched with Music paused mid-track. Previously stuck at 0:00.</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.5/Scrobblr.zip"
        sparkle:edSignature="VG7EKLQW43TWeqTt+hfTBrqPnTkn1+4VsuE3jdBnRdqsuZmpOSPkTIXMVpRPYb9LNxfdr/1Eo2m/etd2XxgeAg=="
        length="3379821"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.4</title>
      <pubDate>Mon, 25 May 2026 23:55:00 +0000</pubDate>
      <sparkle:version>5</sparkle:version>
      <sparkle:shortVersionString>0.1.4</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Stats window</h3>
        <p>A native macOS window that shows your music life as Last.fm knows it.</p>
        <ul>
          <li><strong>Overview</strong> with hero tiles for plays, artists, albums, tracks</li>
          <li><strong>Top Tracks, Top Artists, Top Albums</strong> with inline bar charts</li>
          <li><strong>Period selector</strong> (7 days / 1 month / 3 months / 6 months / 1 year / all time)</li>
          <li><strong>90-day listening heatmap</strong> with busiest-day callout</li>
          <li>Open from the chart icon in the menu bar dropdown</li>
        </ul>
        <p>Also: Settings polish second pass (clearer status chips, dynamic section subtitles, better content filter and ignore-list layouts).</p>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.4/Scrobblr.zip"
        sparkle:edSignature="xo6R8acJZ5NyavJVMF/yJwSxdNqsd5dqRM4n/UlZIPxkJRJ+/7A5rTFV51Neyb7xvG4C4SqgjznrM5o5mUeJCA=="
        length="3376497"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.3</title>
      <pubDate>Mon, 25 May 2026 23:50:00 +0000</pubDate>
      <sparkle:version>4</sparkle:version>
      <sparkle:shortVersionString>0.1.3</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Now Playing, Loved Tracks, and polish</h3>
        <ul>
          <li><strong>Now Playing macOS notification</strong> on track change (opt-in, Settings &rarr; General)</li>
          <li><strong>Loved tracks card</strong> in Settings &rarr; Activity, with links to each track on Last.fm</li>
          <li><strong>Two-Mac warning</strong>: menu bar surfaces when another client is also scrobbling your account</li>
          <li>Tightened copy across the app. No more verbose footer paragraphs.</li>
          <li>9 test suites (added engine candidate / rule tests)</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.3/Scrobblr.zip"
        sparkle:edSignature="tm+G8ZMcjguJgJwBEwOXuOA8CG4QKKKzugUttSS073HSlaUL/daUEPBsHacNhQzjZmhZXxUGLT48eYMtUxGzBQ=="
        length="3164070"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.2</title>
      <pubDate>Mon, 25 May 2026 22:14:02 +0000</pubDate>
      <sparkle:version>3</sparkle:version>
      <sparkle:shortVersionString>0.1.2</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Take Control</h3>
        <ul>
          <li><strong>Pause scrobbling</strong> for 30 min, 1 hour, 3 hours, until tomorrow, or indefinitely</li>
          <li><strong>Ignored artists and tracks</strong> with exact or regex matching</li>
          <li><strong>Custom scrobble threshold</strong> sliders</li>
          <li><strong>Smart content filter</strong> for podcasts, audiobooks, and music videos</li>
          <li><strong>Un-love</strong>: heart toggle now reverses</li>
          <li><strong>Manual "Submit now"</strong> button in Activity</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.2/Scrobblr.zip"
        sparkle:edSignature="CTshP5Bzr5lsCijecn38ta4FcfAcWRv0B6dTeoIvnCM7I4Suq0UFtxBbPAq44QKG2URuOaFU9ZEkKj/TsCOCCg=="
        length="3114732"
        type="application/octet-stream" />
    </item>

    <item>
      <title>Version 0.1.1</title>
      <pubDate>Mon, 25 May 2026 21:41:45 +0000</pubDate>
      <sparkle:version>2</sparkle:version>
      <sparkle:shortVersionString>0.1.1</sparkle:shortVersionString>
      <sparkle:minimumSystemVersion>14.0</sparkle:minimumSystemVersion>
      <description><![CDATA[
        <h3>Initial public release</h3>
        <ul>
          <li>Bring-your-own-key Last.fm credentials</li>
          <li>Sparkle 2 EdDSA-signed auto-updates</li>
          <li>4-step onboarding with deferred permission prompts</li>
          <li>Custom-drawn app icon and refined menu bar UX</li>
          <li>Love (heart) tracks from the menu bar</li>
          <li>Daily and weekly scrobble totals in Activity</li>
          <li>Diagnostics export for support</li>
          <li>Sleep and network-aware submission queue</li>
          <li>Notification-driven playback (no MediaRemote dependency)</li>
        </ul>
      ]]></description>
      <enclosure
        url="https://github.com/asharahmed/scrobblr/releases/download/v0.1.1/Scrobblr.zip"
        sparkle:edSignature="hiPQaZHG2VzLP8UdXoY5vZg4ibk5oatqRCHnRuIqszy1YBxoD6S/j4pVlTYiHVa46XcdhGwe2HUqWhf6eKMzAA=="
        length="3029820"
        type="application/octet-stream" />
    </item>

  </channel>
</rss>
