Koel logo

Koel

Personal music streaming server that works

Alternative to: spotify, apple music, youtube music


About Versions (100)

v7.7.0

2025-06-28

What’s Changed

The most important change in this version is a complete revamp of genres. Previously, genres were stored as part of the songs table (and an attribute of the Song model). This version upgrades genres to be a first-class citizen of the system, with their own table and entity.

The second important change is the switch from yarn to pnpm as the FE package manager. Koel’d been using yarn since day 1, but yarn (at least the Classic version) has become obsolete and fallen behind other package managers like pnpm. Fortunately, the switch is as simple as installing pnpm and replacing all yarn commands with their pnpm counterpart.

Other changes include:

Upgrade

  1. Make a backup of the database.
  2. Obtain a copy of the latest version’s source code depending on your installation method (e.g., check out via git or extract the archive)
  3. If installing via source, make sure pnpm is installed on your system.
  4. Run php artisan koel:init (if installing via the installation archive, add --no-assets to skip asset compilation). Depending on the size of your database, the migration step may take some time (Koel will be migrating the genre data under the hood).
  5. Reimport the full-text search indexes:
    php artisan scout:flush "App\Models\Song" && php artisan scout:import "App\Models\Song"
    php artisan scout:flush "App\Models\Artist" && php artisan scout:import "App\Models\Artist"
    php artisan scout:flush "App\Models\Album" && php artisan scout:import "App\Models\Album"
    php artisan scout:flush "App\Models\Playlist" && php artisan scout:import "App\Models\Playlist"
    php artisan scout:flush "App\Models\Podcast" && php artisan scout:import "App\Models\Podcast"

New Contributors

Full Changelog: https://github.com/koel/koel/compare/v7.6.3…v7.7.0