All Versions
Latest Version
Avg Release Cycle
69 days
Latest Release
1464 days ago

Changelog History
Page 1

  • v4.4.0 Changes

    June 10, 2020

    πŸ›  This new version of Koel comes with several new features, bug fixes, and improvements, most notably:

    πŸ”‹ Feature: You can now upload directly from the web interface if logged in as an admin and have set the media path. Just choose "Upload" from the sidebar menu and drag media files or folders into the drop zone.

    Under the hood, Koel will upload your media files into a %media_path%/ __KOEL_UPLOADS__ folder on the server and update the client's data on the fly. Notice that this feature is still in beta, so please let us know if you encounter any problems.

    πŸ”‹ Feature: You can upload new artist images and album covers by dragging a file into the artist/album item, like this:


    πŸ‘Œ Improvement: Artist/album view mode switch now uses proper radio buttons instead of <span>'s/<div>'s.

    πŸ‘Œ Improvement: Playlists are now ordered properly in the sidebar

    πŸ›  Fix: Songs should now be queued in the correct displayed order when Alt/Option-click the play button

    πŸ›  Fix: Album/artist list screens should now properly initialize infinite scrolling

    πŸ›  Fix: The "Add Lyrics" link is now not available if there's no song in play

    πŸ›  Fix: webpack now emits properly-hashed chunk names in production builds

    πŸ‘Œ Improvement: The whole JavaScript codebase has been converted into TypeScript.

    ⬆️ Upgrade

    πŸ‘‰ Make a backup

    βš™ Run these commands

    git pull git checkout v4.4.0 git submodule update --init --recursive composer install php artisan koel:init 

    ⬇️ Downgrade

    βͺ Restore your backup.

  • v4.3.1 Changes

    April 23, 2020

    ⚑️ v4.3.1 fixes the bug of Koel playing with no sound on iOS, along with the ability to trigger updating lyrics right from the Lyrics panel. To upgrade:

    1. Create a backup
    2. Run these commands

      git pull git checkout v4.3.1 git submodule update --init --recursive composer install php artisan koel:init

  • v4.3.0 Changes

    April 21, 2020

    πŸ›  The next minor version of Koel, which comes with new features, improvements, and bug fixes and usual. And, in case you haven't noticed, Koel now has its own domain!

    πŸ†• New Features and Improvements

    • 🚚 Media thumbnail moved to the play button (or "play orb" if you will)
    • Reduce the progress bar's height. Its click area (along with that of other controls) is actually increased, allowing easier interaction
    • Song items on homepage now react to context menu and drag-drop actions
    • You can now play a song list in the current order by clicking the "All" button while pressing the Alt (Option) key
    • You can now right-click anywhere on the footer while a song is playing (or paused/stopped) for contextual commands
    • πŸ‘ Speaking of context menus, now they have a dark theme that matches better with the overall interface

    πŸ›  Fixes

    • Hotkeys (F, space etc.) now work even when the progress bar has focus
    • Remote control app is now back
    • πŸ›  Fixed a racing condition that might cause logging in to fail with valid credentials
    • For development, hot-reloading now works again

    ⬆️ To upgrade:

    1. Create a backup
    2. Run these commands

      git pull git checkout v4.3.0 git submodule update --init --recursive composer install php artisan koel:init

  • v4.2.2 Changes

    December 02, 2019

    πŸ›  This version includes several bug fixes and improvements:

    • πŸ›  Fixed an issue with SongStartedPlaying event dispatching
    • πŸ›  Fixed and improve (global) hotkey integration
    • The volume control is now shown on hover only, saving some space
    • A "download current song" button is added into the footer bar

    ⬆️ To upgrade:

    1. Create a backup
    2. Run these commands

      git pull git checkout v4.2.2 git submodule update --init --recursive composer install php artisan koel:init

  • v4.2.1 Changes

    November 29, 2019

    This is a bug fix version. Specifically:

    • πŸ‘ The bottom support bar now respects user preferences
    • πŸ‘ manifest.json.example is added. To enable PWA support for Koel, copy this file into manifest.json and modify its content accordingly.

    ⬆️ To upgrade:

    1. Create a backup
    2. Run these commands

      git pull git checkout v4.2.1 git submodule update --init --recursive composer install php artisan koel:init

  • v4.2.0 Changes

    November 28, 2019

    This version comes with several changes and improvements:

    • πŸ›  The problem with context menu being off-screen is now fixed
    • Queuing already queued song(s) now behaves correctly
    • The translucent, blurred album art overlay is now an option in the Profile screen. Consider turning it off if you notice high CPU usage.
    • Koel should now be compatible with Node 12.x
    • πŸ”¨ As usual, more optimization and refactoring underneath

    ⬆️ To upgrade:

    1. Create a backup
    2. Run these commands

      git pull git checkout v4.2.0 git submodule update --init --recursive composer install php artisan koel:init

  • v4.1.1 Changes

    October 26, 2019

    πŸ›  This version comes with a couple of fixes and improvements, most notably:

    • πŸ›  Fixed the bug where koel is broken on mobile browsers (#1111)
    • βž• Added the ability to change the admin password from console with php artisan koel:admin:change-password
    • πŸ”¨ More tests, refactorings, and optimizations on the client side

    ⬆️ To upgrade:

    1. Create a backup
    2. Run these commands

      git pull git checkout v4.1.1 git submodule update --init --recursive composer install php artisan koel:init

    πŸ‘€ Aaaand it's done! See you next time!

  • v4.1.0 Changes

    October 09, 2019

    This version comes with several changes:

    • ⬇️ Downgrade getID3 to ^1.9 to fix an annoying regression (#1078)
    • πŸ‘‰ Make DB_DATABASE config for sqlite-persistent driver absolute (technically this is a breaking change, but it's simple enough to migrate so I'm not bumping a major version) (#1099)
    • Songs are now counted as "played" only after a 25% threshold (i.e. if you've listened past 1 minute of a 4-minute song) (#1087)
    • πŸ›  Fix a bug with Albums/Artists screens not scrollable on extra-large screens (#1086)
    • 🐎 A couple of bug fixes and performance improvements

    ⬆️ To upgrade:

    1. Create a backup
    2. Run these commands

      git pull git checkout v4.1.0 git submodule update --init --recursive composer install php artisan koel:init

    If you're using sqlite-persistent driver, replace the value of DB_DATABASE in .env file with the full path to your database file.

    πŸ‘€ That's it! See you next time!

  • v4.0.0 Changes

    September 10, 2019

    ⬆️ Here you go, the long-due 4th major version of Koel! This version comes with a LOT of changes, fixes, and improvements, as you may have expected. But before you get too excited and jump ahead with the upgrade, one important thing:

    Koel now requires PHP >= 7.1.3

    ⬆️ Yes. Koel v4.0.0 is developed on top of Laravel v5.8.x, which requires PHP 7.1.3 and up. So if your PHP version is lower than that, you'll need to upgrade it prior to proceeding. Also:

    Koel's codebase now makes use of Git submodules

    In an effort to unify the code between the web and the desktop app versions of Koel, I've extracted the interface (the client code, written in Vue) into its own repository (a submodule). Essentially, this only means you'll need to run a slightly different command to init or update the codebase, so fear not.

    πŸ”„ Changes

    So what's new? Well, quite a few. This version of Koel comes with:

    An accessibility overhaul. Koel is now much, much more friendly to visual-impaired users.

    The back-end part rewritten almost from scratch for better code quality ( 9.81 on Scrutinizer currently), readability, and maintainability

    πŸ“„ API docs, finally!

    Smart playlists! You can now specify a set of rules (title must include a certain word and/or length must be greater than 10 minutes cough Dream Theater cough for example) and your playlist will contain only songs that meet the rule(s).

    A dedicated, centralized "Recently Played" list. Previously, this list only consisted of up to 7 last played songs on the current device. Now Koel remembers all songs you've played – no matter what device they were played on – and put them in a first-class "Recently Played" playlist.

    An extra cool visualizer.


    I'll leave it to you to figure out how to toggle it, though ;)

    A more attractive and consistent equalizer.

    ⚑️ Global hotkeys being more, erm, global. You don't need to set focus into Koel before triggering the hotkeys anymore. And if you use Chrome, media keys are supported truly globally, which means you don't even need to have the browser window focused to control Koel.

    On-demand playlist loading. A playlist's content is now only loaded and populated if you select it in the sidebar or enter its URL directly. This means a lighter and faster bootup time for Koel.

    πŸ‘ Sorting supported in Queue screen, because why not

    🐎 Code splitting from scratch. Most of Koel's client components are now loaded on demand, which greatly improves loading time and performance.

    A zoom control for the Lyrics pane, allowing you to zoom the text in and out to cater for your visual needs

    An "About" dialog

    🌐 PWA support

    πŸ‘ Better error handling during installation. If the artisan koel:init command fails for any reason at any step, Koel will stop and let you know instead of silently moving ahead like before.

    More consistent auto-playing

    πŸ‘Œ Support for SQLite (thanks @SahAssar!)

    HTTPS working properly behind reverse proxies

    πŸ”¨ Countless refactors, bug fixes, and minor improvements. Truly countless.

    ⬆️ Upgrade

    To upgrade, first make a backup of your database and the application code. I know I always said that, but this time it's even more critical because hey, we have a major version here folks! Better be safe than sorry.

    Then, after the backup is done , execute these commands from the root directory:

    1. git pull
    2. git checkout v4.0.0 ⚑️ 3. git submodule update --init --recursive
    3. composer install
    4. php artisan koel:init
    5. That's about it. Expected more? Sorry to disappoint.

    When Things Go South…

    βͺ …restore your backup.

    Till next time!

  • v3.7.2 Changes

    January 28, 2018

    πŸš€ This is to bump the version, which I forgot to do in the previous release :(. To update:

    git fetch git checkout v3.7.2