Skip to content

Releases: koel/koel

v7.0.9

28 Jul 22:05
Compare
Choose a tag to compare

What's Changed

  • feat: add Scheduler installation command by @phanan in #1802
  • feat: rework playlist cover upload/remove by @phanan in #1806
  • fix: collaborators shouldn't be allowed to update playlist details by @phanan in 0729f7d
  • fix: sidebar toggling on mobile by @phanan in 69a019d

Full Changelog: v7.0.8...v7.0.9

v7.0.8

16 Jul 22:13
Compare
Choose a tag to compare

What's Changed

  • feat: implement and use new confg key for trusted hosts by @MichaIng in #1797

New Contributors

Full Changelog: v7.0.7...v7.0.8

v7.0.7

16 Jul 18:48
Compare
Choose a tag to compare
  • Fixed a problem with writing user avatars and playlist images

Full Changelog: v7.0.6...v7.0.7

v7.0.6

15 Jul 08:05
Compare
Choose a tag to compare
  • fix: service worker requires security context (closes #1790) in b08cc11

Full Changelog: v7.0.5...v7.0.6

v7.0.5

14 Jul 19:39
Compare
Choose a tag to compare

What's Changed

Full Changelog: v7.0.4...v7.0.5

v7.0.4

14 Jul 14:36
Compare
Choose a tag to compare

What's Changed

  • fix: disabled YouTube integration still making requests 62b8e22
  • fix: pressing Q not toggling off Queue screen 4a1786e
  • Fix typo in link to repo by @manfrin in #1783

New Contributors

Full Changelog: v7.0.3...v7.0.4

v7.0.3

13 Jul 12:25
Compare
Choose a tag to compare

What's Changed

  • fix: broken pgsql query with distinct() by @phanan in #1782

Full Changelog: v7.0.2...v7.0.3

v7.0.2

11 Jul 17:36
Compare
Choose a tag to compare
  • Fixed some more migration issues

Full Changelog: v7.0.1...v7.0.2

v7.0.1

11 Jul 15:36
Compare
Choose a tag to compare

What's Changed

  • fixed deprecation warning when trim() null values #1775
  • fixed cover art and artist image drag/drop issue (closes #1779)
  • fixed several migration-related issues

Full Changelog: v7.0.0...v7.0.1

v7.0.0

09 Jul 22:24
Compare
Choose a tag to compare

Welcome to the latest major of Koel! v7.0.0 (code name Sibelius) is yet another massive rewrite (249 commits and 1,238 changed files) on every front to bring a ton of new features and improvements to Koel.

The Good Stuff

Introducing Koel Plus

Koel Plus is the premium version of Koel. It offers some features and enhancements on top of the Community edition, including:

  • Multi-library Support: In Koel Plus, each user has their own library, which they populate by uploading their own music.
  • Music Sharing: By default, uploaded music is private to the user who uploaded it. However, users can choose to share their music with others by marking songs as public.
  • Collaboration: Users can invite others to collaborate on their playlists, allowing them to add, remove, and reorder songs.
  • Cloud Storage Support: In addition to local storage, Koel Plus supports remote and cloud storage drivers like SFTP, Amazon S3 (or any S3-compatible service like Cloudflare R2 or DigitalOcean Spaces), and Dropbox.
  • Single Sign-On (SSO) Support: Users can log into Koel Plus using their existing credentials from another service like Google.
  • Authentication via Proxy-Authorization Header: Seamlessly log in users who are already authenticated via a proxy server, allowing Koel to be used in a corporate environment.

Typically, you won't need Koel Plus. However, if you need any of these niche features or just want to support the active development of Koel, consider purchasing Koel Plus with a one-time payment of $19.99.

Support for Podcasts

Koel v7 adds early support for podcasts. Subscribing to podcasts is just a matter of adding the podcast's RSS feed, and listening to and interacting with podcasts should share the same experience with songs.

podcast

Better Support for Mobile

Koel's support for mobile devices, especially those with iOS, was always sub-optimal. In v7, most of the problems have been fixed. Koel's mobile experience is now pretty much native: auto-playing the next song, controlling via hardware (e.g. AirPods), Notification Center and Control Center artwork and information, etc. will all work as expected. If you want an even more native experience and features like offline playback, try Koel Player.

Total Documentation Revamp

Koel's documentation got a massive revamp with a far better structure and much more detailed content that should cover every corner of the application β€” from setup, configuration, and usage, to CLI and troubleshooting guides. The homepage also received a beautiful facelift.

And Much More!

  • Playlist content can now be manually reordered.
  • Song filtering now uses fuzzy search powered by Fuse.js, allowing for a much more robust search functionality.
  • User preferences are now persisted and synchronized across devices.
  • Context menus receive much better support for safe triangles.
  • More keyboard shortcuts have been added.
  • The Home menu item has been moved to the top right corner, and Queue is now a footer icon (similar to Spotify).
  • The sidebar can now be hidden, saving screen estate.
  • Users can finally have custom avatars.
  • Users of Koel Player can scan a QR code to log into Koel instead of typing a clumsy password.
  • Koel now uses Tailwind CSS, enabling a more manageable and bug-free UI, especially for mobile and tablet screens.
  • Components like smart playlist forms, user profile, and user management have been overhauled.
  • Support for command scheduling has been added.
  • A LOT of fixes and improvements under the hood!

Upgrade

Important

Back up your files and database. As this is a major version with breaking changes, this step is critical.

Important

Make sure your PHP version 8.1 or newer and your Node version is 18 or newer.

  1. Depending on your installation method, you can either update the files by
    • executing git pull && git checkout v7.0.0 from the command line, or
    • downloading and extracting the release archive
  2. Run composer install (optional for "release archive" users)
  3. Run php artisan koel:init to migrate the database. For "release archive" users, run php artisan koel:init --no-assets
  4. Remove config/aws.php if any

When Things Go South

Check the log at storage/logs/laravel.log to see what the error is. When all fail, revert your backup.