Release history
koel releases
Music streaming solution that works.
All releases
19 shown
Fixed file uploads above 100MB silently dropping.
Full changelog
What's Changed
- fix: properly move playlist between folders / out to root on update by @phanan in https://github.com/koel/koel/pull/2436
- chore: clarify radio-station public toggle label by @phanan in https://github.com/koel/koel/pull/2437
- fix: restart radio playback when the on-air station's URL is edited by @phanan in https://github.com/koel/koel/pull/2438
- fix: don't blank-page the app when GitHub is unreachable by @phanan in https://github.com/koel/koel/pull/2440
- fix: arrowleft hotkey now seeks backward, not forward by @phanan in https://github.com/koel/koel/pull/2442
Full Changelog: https://github.com/koel/koel/compare/v9.2.0...v9.2.1
- Removed obsolete `acl/permissions` endpoint and `Permissionable` contract
- Removed the entire `Acl` namespace; assignable roles are now bundled into initial data
Full changelog
What's Changed
- fix: use default cursor on context menu items instead of text cursor by @phanan in https://github.com/koel/koel/pull/2408
- feat: include user's edit permission in album resource by @phanan in https://github.com/koel/koel/pull/2409
- feat: include user's edit permission in artist resource by @phanan in https://github.com/koel/koel/pull/2410
- feat: include user's edit and delete permissions on playlist resource by @phanan in https://github.com/koel/koel/pull/2411
- feat: include user's edit and delete permissions on radio station resource by @phanan in https://github.com/koel/koel/pull/2412
- feat: include viewer's edit and delete permissions on user resource by @phanan in https://github.com/koel/koel/pull/2413
- chore: remove obsolete acl/permissions endpoint and Permissionable contract by @phanan in https://github.com/koel/koel/pull/2414
- chore: remove the Acl namespace entirely; bundle assignable roles into initial data by @phanan in https://github.com/koel/koel/pull/2415
- test: strengthen User::getAssignableRoles tests with exact assertions by @phanan in https://github.com/koel/koel/pull/2416
- fix: align user card with album/artist card affordances by @phanan in https://github.com/koel/koel/pull/2417
- chore: announce loading regions to assistive technologies by @phanan in https://github.com/koel/koel/pull/2418
- refactor: replace Btn boolean attrs with variant and size props by @phanan in https://github.com/koel/koel/pull/2419
- fix: add hover state to BasicListSorter menu items by @phanan in https://github.com/koel/koel/pull/2420
- refactor: migrate dropdowns and context menus to native popover API by @phanan in https://github.com/koel/koel/pull/2421
- chore(deps): bump dompurify from 3.3.2 to 3.4.0 by @dependabot[bot] in https://github.com/koel/koel/pull/2404
- chore(deps): bump phpseclib/phpseclib from 3.0.50 to 3.0.51 by @dependabot[bot] in https://github.com/koel/koel/pull/2401
- fix: increase album/artist thumbnail corner radius by @phanan in https://github.com/koel/koel/pull/2423
- refactor: consolidate DownloadService storage dispatch via factory by @phanan in https://github.com/koel/koel/pull/2425
- refactor: extract shared store vault into useVault composable by @phanan in https://github.com/koel/koel/pull/2426
- refactor: route paginated store URLs through flattenParams by @phanan in https://github.com/koel/koel/pull/2427
- chore: align tsconfig with the typecheck override by @phanan in https://github.com/koel/koel/pull/2428
- chore: thread Eloquent generics through custom builders + repo docblock cleanup by @phanan in https://github.com/koel/koel/pull/2429
- chore: round out builder generics on remaining custom builders by @phanan in https://github.com/koel/koel/pull/2430
- fix: shift tabindex from list/panel wrappers to media list items by @phanan in https://github.com/koel/koel/pull/2431
- refactor: extract model-image cleanup into a field-bound ModelImageObserver by @phanan in https://github.com/koel/koel/pull/2432
- fix: harden ModelImageObserver edge cases ('0' filename + log noise) by @phanan in https://github.com/koel/koel/pull/2433
- chore: upgrade factoria to v5 by @phanan in https://github.com/koel/koel/pull/2435
- chore(deps-dev): bump postcss from 8.5.8 to 8.5.10 by @dependabot[bot] in https://github.com/koel/koel/pull/2424
Full Changelog: https://github.com/koel/koel/compare/v9.1.2...v9.2.0
- Drag progress bar to seek
- Auto-hide visualizer controls in fullscreen
Full changelog
What's Changed
- feat: allow dragging the progress bar to seek by @phanan in https://github.com/koel/koel/pull/2395
- fix: preserve compilation album artist when editing songs by @phanan in https://github.com/koel/koel/pull/2396
- fix: remove special colors from Favorites and Recently Played sidebar icons by @phanan in https://github.com/koel/koel/pull/2397
- fix: resolve Butterchurn visualizer ESM interop double-wrapping regression by @acjohnson in https://github.com/koel/koel/pull/2399
- feat: auto-hide visualizer controls in fullscreen mode by @phanan in https://github.com/koel/koel/pull/2400
- fix: use most recent feed date for podcast sync freshness check by @phanan in https://github.com/koel/koel/pull/2407
New Contributors
- @acjohnson made their first contribution in https://github.com/koel/koel/pull/2399
Full Changelog: https://github.com/koel/koel/compare/v9.1.1...v9.1.2
Fixed radio station URL validation by implementing a GET fallback for failed HEAD requests and corrected list-view card height stretching in the UI.
Introduced offline caching status visibility, virtual grid scroller for lists, keyboard navigation for context menus, and duplicate file upload detection. Fixed SSRF vulnerability via podcast subscription URLs, improved context menu hover reliability, and updated play count logic using leftJoin.
- Requires PHP 8.3 or higher (previously PHP 8.2)
- Fixed CVE-2025-7783 (form-data unsafe random boundary)
- Offline song caching
- Crossfade playback with configurable duration
- AI-powered music assistant
Fixed critical issue where artists were deleted when album artist was provided, improved doctor command, and updated dependencies for security.
Fixed hover status on context menu items and updated dependencies including sodium_compat library.