<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
  <id>de.nerdbear.bearwave</id>
  <metadata_license>CC0-1.0</metadata_license>
  <project_license>GPL-3.0-or-later</project_license>
  
  <name>BearWave</name>
  <summary>KDE-focused desktop internet radio app</summary>
  
  <description>
    <p>
      BearWave is designed for fast station browsing, simple playback controls, favorites, resume support, tray behavior, and clean Plasma integration without turning into a heavy media suite.
    </p>
    <p>Features:</p>
    <ul>
      <li>Internet radio via the Radio Browser API with local JSON caching</li>
      <li>Station pages for Top, Germany, Netherlands, and quick world/genre filters</li>
      <li>Local search and filtering by name, genre, and country</li>
      <li>Sorting by name, bitrate, and votes</li>
      <li>Favorites with persistent local storage</li>
      <li>Playback metadata display when streams provide it</li>
      <li>Resume support for last station and volume</li>
      <li>MPRIS integration for Plasma media controls and media keys</li>
      <li>System tray integration for background playback</li>
      <li>Desktop notifications for song/track changes with local cover art caching</li>
    </ul>
  </description>
  
  <launchable type="desktop-id">de.nerdbear.bearwave.desktop</launchable>
  
  <screenshots>
    <screenshot type="default">
      <image>https://raw.githubusercontent.com/spalencsar/bearwave/main/screenshots/screen01.png</image>
      <caption>Main window displaying radio categories</caption>
    </screenshot>
    <screenshot>
      <image>https://raw.githubusercontent.com/spalencsar/bearwave/main/screenshots/screen02.png</image>
      <caption>Station browser and search filters</caption>
    </screenshot>
    <screenshot>
      <image>https://raw.githubusercontent.com/spalencsar/bearwave/main/screenshots/screen03.png</image>
      <caption>The About dialog showing application info</caption>
    </screenshot>
    <screenshot>
      <image>https://raw.githubusercontent.com/spalencsar/bearwave/main/screenshots/screen04.png</image>
      <caption>Application view</caption>
    </screenshot>
  </screenshots>
  
  <url type="homepage">https://github.com/spalencsar/bearwave</url>
  <url type="bugtracker">https://github.com/spalencsar/bearwave/issues</url>
  
  <developer_name>Sebastian (spalencsar)</developer_name>
  
  <content_rating type="oars-1.1" />

  <provides>
    <binary>bearwave</binary>
  </provides>
  
  <releases>
    <release version="1.0.5" date="2026-06-22">
      <description>
        <ul>
          <li>Fixed headless CI unit tests (Qt offscreen + FFmpeg backend)</li>
          <li>Includes 1.0.4: URL validation, playback/tray/MPRIS fixes, modular QML UI</li>
          <li>Flatpak: KDE 6.10 runtime, signed repo updates, QML resource path fix</li>
          <li>About dialog shows version and git build id; removed “Public beta” label</li>
          <li>Fixed About, Add station, and Edit station dialogs not opening after QML refactor</li>
          <li>Flatpak: grant GPU access via --device=dri (fixes EGL/MESA warnings)</li>
          <li>Fixed startup when re-launching: MPRIS Raise now always shows the window</li>
          <li>Fixed dialog property aliases and About version label binding</li>
        </ul>
      </description>
    </release>
    <release version="1.0.4" date="2026-06-20">
      <description>
        <ul>
          <li>Security: validate manual stream URLs (http/https only) and HTTPS-only cover downloads</li>
          <li>Security: add network transfer timeouts for metadata and cover fetches</li>
          <li>Fixed playback navigation, API race conditions, Wayland tray, and MPRIS metadata</li>
          <li>Refactored QML UI into modular components</li>
        </ul>
      </description>
    </release>
    <release version="1.0.3" date="2026-05-30">
      <description>
        <ul>
          <li>Added dynamic World Categories dashboard showing country flags and popular genre tags</li>
          <li>Added country name localization support for German systems</li>
          <li>Added local API caching for countries retrieved from Radio Browser</li>
          <li>Optimized Categories view layout to prevent text clipping</li>
        </ul>
      </description>
    </release>
    <release version="1.0.2" date="2026-05-28">
      <description>
        <ul>
          <li>Fixed crash in IcyReader when changing or stopping streams</li>
          <li>Fixed metadata overwrite bug where valid ICY stream metadata was cleared</li>
          <li>Fixed DBus crash under KDE Plasma Wayland</li>
          <li>Fixed regex parser bug with stream titles containing apostrophes</li>
          <li>Fixed infinite loading of radio stations by adding transfer timeout</li>
          <li>Added single instance check via DBus</li>
          <li>Added SPDX license identifiers and relicensed to GPL-3.0-or-later</li>
        </ul>
      </description>
    </release>
    <release version="1.0.1" date="2026-05-23">
      <description>
        <ul>
          <li>Fixed NotificationManager crash (segfault)</li>
          <li>Migrated to modern QtMultimedia engine from legacy Phonon</li>
          <li>Added Flatpak manifest and build support</li>
          <li>Added debounced online search</li>
        </ul>
      </description>
    </release>
  </releases>
</component>
