Skip to content

@phanan phanan released this Jun 10, 2020 · 13 commits to master since this release

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:

    upload-cover

  • 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

  1. Make a backup

  2. 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.

Assets 2

@phanan phanan released this Apr 23, 2020 · 33 commits to master since this release

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 
Assets 2

@phanan phanan released this Apr 21, 2020 · 39 commits to master since this release

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 
Assets 2

@phanan phanan released this Dec 2, 2019 · 103 commits to master since this release

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
Assets 2

@phanan phanan released this Nov 29, 2019 · 119 commits to master since this release

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
Assets 2

@phanan phanan released this Nov 28, 2019 · 122 commits to master since this release

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
Assets 2

@phanan phanan released this Oct 26, 2019 · 142 commits to master since this release

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!

Assets 2

@phanan phanan released this Oct 9, 2019 · 150 commits to master since this release

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!

Assets 2

@phanan phanan released this Sep 10, 2019 · 162 commits to master since this release

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.

    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
  4. composer install
  5. php artisan koel:init
  6. That's about it. Expected more? Sorry to disappoint.

When Things Go South…

…restore your backup.

Till next time!

Assets 2

@phanan phanan released this Jan 28, 2018 · 494 commits to master since this release

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

git fetch
git checkout v3.7.2
Assets 2
You can’t perform that action at this time.