• v8.3.0 9fc57e8418

    v8.3.0 Stable

    kerem released this 2026-01-09 00:30:43 +03:00 | 189 commits to master since this release

    📅 Originally published on GitHub: Thu, 08 Jan 2026 21:32:58 GMT
    🏷️ Git tag created: Thu, 08 Jan 2026 21:30:43 GMT

    What's Changed

    Full Changelog: https://github.com/koel/koel/compare/v8.2.0...v8.3.0

    Downloads
  • v8.2.0 d157b2cba3

    v8.2.0 Stable

    kerem released this 2025-12-23 00:11:05 +03:00 | 193 commits to master since this release

    📅 Originally published on GitHub: Mon, 22 Dec 2025 21:21:34 GMT
    🏷️ Git tag created: Mon, 22 Dec 2025 21:11:05 GMT

    What's Changed

    New Contributors

    Full Changelog: https://github.com/koel/koel/compare/v8.1.0...v8.2.0

    Downloads
  • v8.1.0 9439edb25a

    v8.1.0 Stable

    kerem released this 2025-10-27 20:16:43 +03:00 | 211 commits to master since this release

    📅 Originally published on GitHub: Mon, 27 Oct 2025 17:26:41 GMT
    🏷️ Git tag created: Mon, 27 Oct 2025 17:16:43 GMT

    What's Changed

    Full Changelog: https://github.com/koel/koel/compare/v8.0.0...v8.1.0

    Downloads
  • v8.0.0 6cf7420f52

    v8.0.0 Stable

    kerem released this 2025-10-23 18:13:31 +03:00 | 221 commits to master since this release

    📅 Originally published on GitHub: Thu, 23 Oct 2025 17:49:40 GMT
    🏷️ Git tag created: Thu, 23 Oct 2025 15:13:31 GMT

    Welcome to Koel v8 (code named Tchaikovsky). This version brings a set of major changes, most notably:

    Embeds

    You can now embed songs, playlists, artists, albums… hosted by Koel. Embedding allows you to share your music with others without having to create an account for them, making it super useful for music creators.

    For more information on embedding, refer to the documentation.

    Custom themes

    Koel Plus users can now create and use custom themes, which is simply a combination of a color pallette (foreground, background, and highlight colors), an optional background image, font family, and font size.

    image

    Check the documentation for more details.

    White labeling

    Koel Plus users (or, to be precise, admins) can now customize the branding elements of Koel i.e. name, logo, and cover image.

    Command to fetch missing artist and album artworks

    A new artisan command, koel:fetch-artwork has been added by popular demand. This command will attempt to fetch artist and album artworks from available sources (Spotify, Wikipedia, etc.). To "play nice" with these services, the fetching will be done at the rate of maximum 1 operation per second.

    Better koel:init script

    A composer koel:init command has been added, which triggers php artisan koel:init under the hood. The core difference between the two commands is that composer koel:init works at the Composer level and will install the dependencies beforehands, ensuring php artisan koel:init can run.

    Laravel 12

    Koel is now powered by Laravel 12. That's it, that't the memo.

    As usual, a bunch of bug fixes and improvements have also been added under the hood.

    Upgrade

    1. Make a backup of your database
    2. Depending on your installation method, either check out the tag by running git pull && git checkout v8.0.0 or downloading and extracting the release archive
    3. If building from source, run composer koel:init as your webserver user
    4. Enjoy!

    Change List

    New Contributors

    Full Changelog: https://github.com/koel/koel/compare/v7.15.1...v8.0.0

    Downloads
  • v7.15.1 89e055b88c

    v7.15.1 Stable

    kerem released this 2025-09-14 18:38:31 +03:00 | 262 commits to master since this release

    📅 Originally published on GitHub: Sun, 14 Sep 2025 15:42:38 GMT
    🏷️ Git tag created: Sun, 14 Sep 2025 15:38:31 GMT

    What's Changed

    New Contributors

    Full Changelog: https://github.com/koel/koel/compare/v7.15.0...v7.15.1

    Downloads
  • v7.15.0 441cfe6a37

    v7.15.0 Stable

    kerem released this 2025-09-09 08:43:02 +03:00 | 271 commits to master since this release

    📅 Originally published on GitHub: Tue, 09 Sep 2025 05:54:12 GMT
    🏷️ Git tag created: Tue, 09 Sep 2025 05:43:02 GMT

    What's Changed

    Upgrade

    With #2086, Koel will now store and serve all generated and uploaded images (album covers, artist images, radio station logos, user avatars, etc.) in one unified public/img/storage directory. Thus, before upgrading:

    1. Make a backup of your public/img directory.

    2. Create a public/img/storage directory and move all (image) files under public/img/artists, public/img/covers, public/img/playlists, public/img/radio-stations, public/img/avatars there. You can do it manually or use a simple bash script like this for the task:

      #!/usr/bin/env bash
      set -euo pipefail
      
      BASE_DIR="public/img"
      DEST_DIR="$BASE_DIR/storage"
      SUBFOLDERS=("artists" "covers" "playlists" "radio-stations" "avatars")
      
      mkdir -p "$DEST_DIR"
      
      for folder in "${SUBFOLDERS[@]}"; do
        SRC="$BASE_DIR/$folder"
        [[ -d "$SRC" ]] || continue
      
        echo "Moving files from $SRC ..."
        mv -n "$SRC"/* "$SRC"/.* "$DEST_DIR"/ 2>/dev/null || true
      
        rmdir "$SRC" 2>/dev/null || true
      done
      
      echo "All done. Files are now in $DEST_DIR"
      

    Everything else should go per usual.

    New Contributors

    Full Changelog: https://github.com/koel/koel/compare/v7.14.0...v7.15.0

    Downloads
  • v7.14.0 e931aa13bc

    v7.14.0 Stable

    kerem released this 2025-08-31 09:56:36 +03:00 | 284 commits to master since this release

    📅 Originally published on GitHub: Sun, 31 Aug 2025 07:05:26 GMT
    🏷️ Git tag created: Sun, 31 Aug 2025 06:56:36 GMT

    What's Changed

    image

    Full Changelog: https://github.com/koel/koel/compare/v7.13.0...v7.14.0

    Downloads
  • v7.13.0 6c17a38112

    v7.13.0 Stable

    kerem released this 2025-08-22 17:19:18 +03:00 | 296 commits to master since this release

    📅 Originally published on GitHub: Fri, 22 Aug 2025 15:24:32 GMT
    🏷️ Git tag created: Fri, 22 Aug 2025 14:19:18 GMT

    What's Changed

    • fix: smart playlist cannot find new songs (closes #2034) (#2065)
    • fix: broken no-genre summary if all songs have genres (#2064)
    • fix: headers already sent in PHP streamer (closes #2054) (#2062)
    • fix: downgrade sodium_compat to work with 32bit systems (#2061)
    • fix: Koel Plus modal cutoff (#2060)
    • fix: empty URL would sometimes be displayed (#2057) by @lewislarsen
    • feat: support radio stations (#2058)
    Downloads
  • v7.12.0 5954050df0

    v7.12.0 Stable

    kerem released this 2025-08-15 14:30:16 +03:00 | 307 commits to master since this release

    📅 Originally published on GitHub: Fri, 15 Aug 2025 11:39:17 GMT
    🏷️ Git tag created: Fri, 15 Aug 2025 11:30:16 GMT

    What's Changed

    Full Changelog: https://github.com/koel/koel/compare/v7.11.0...v7.12.0

    Downloads
  • v7.11.0 f0db4613bd

    v7.11.0 Stable

    kerem released this 2025-08-06 11:51:36 +03:00 | 311 commits to master since this release

    📅 Originally published on GitHub: Wed, 06 Aug 2025 09:53:25 GMT
    🏷️ Git tag created: Wed, 06 Aug 2025 08:51:36 GMT

    What's Changed

    • You can now mark not just songs and episodes, but artists, albums, and podcasts as favorites. The albums, artists, and podcasts UI elements have been adapted to integrate this change — for example, clicking the "Show all / Show favorites only" button on the Album list screen will filter the list accordingly.
    • A couple of bugs have been squashed
    • A couple of improvements were added

    Upgrade

    Since the aforementioned changes unfortunately required a major modification to the database structure, BACK UP YOUR DATABASE before upgrading.

    Important

    Back up your database!

    Once you've made the database backup, follow the upgrade guide as per usual. Then, re-import the artists and albums search indexes:

    php artisan scout:flush "App\Models\Album"
    php artisan scout:import "App\Models\Album"
    php artisan scout:flush "App\Models\Artist"
    php artisan scout:import "App\Models\Artist" 
    

    Oopsie?

    If there's any error during database migration, check storage/logs/laravel.log for the error details. If you can fix it yourself, great! Otherwise, restore the backup, reverse the upgrade, and file a report.

    Downloads