6.3.0
php8.3
67f08005ae8a9c7c5ca348b08406aea7 ./ampache-6.3.0_all_php8.3.zip
6bde4c056dcfa16365d86411652bf6c4 ./ampache-6.3.0_all_squashed_php8.3.zip
php8.2
8df29a79df881941807793c429f4d228 ./ampache-6.3.0_all_php8.2.zip
f94e3c1ecb26965cdc694b826b29384d ./ampache-6.3.0_all_squashed_php8.2.zip
php8.1
0cc9f13f0a823a5ae3676bffc7a8e50e ./ampache-6.3.0_all_php8.1.zip
12d48ab0e9bfa47f203ac6f9fb9c1a97 ./ampache-6.3.0_all_squashed_php8.1.zip
php8.0
304064e97ae8ff193bf030e46e5b5277 ./ampache-6.3.0_all_php8.0.zip
addb0106dc063461937da50cfa86c5f5 ./ampache-6.3.0_all_squashed_php8.0.zip
UNSUPPORTED php7.4 (will be built until it can't be done any more)
b669384fb7662d689851a0041804061d ./ampache-6.3.0_all_php7.4.zip
4a5ef141b9bcca06768e1d4882a5f713 ./ampache-6.3.0_all_squashed_php7.4.zip
UNSUPPORTED Code only release. (Requires composer install)
145dd9634ff2b6372a0c334fab0ad4f7 ./ampache-6.3.0_public.zip
9377cac7cd2ded2f03e056d921c617e4 ./ampache-6.3.0_squashed.zip
Ampache 6.3.0
There have been 61 pull requests during this release process! A definite record for the project in the last 5 years.
The API has had a lot of new methods added as we look to keep it stable while work starts on Ampache 7.
Database updates had a major overhaul again and upgrades from Ampache 3.9.4 => 6.3.0 have been tested successfully.
Added
- Translations 2024-03
- Lots more static typing on missing function returns
- Dynamic properties on the Captcha classes
- Add opml import (and export) for podcasts
- Database 600060
- Update Last.FM plugin preferences that could be incorrect
- Spell category and subcategory correctly
- Add unique constraint
playlist_track_UN
onplaylist_data
table - Remove Flattr plugin (Service has been discontinued)
- Convert
object_type
to an enum onimage
,rating
,user_flag
,user_activity
,object_count
,share
,cache_object_count
tables
Changed
- Split database updates into small migration classes
- Change usage of State in podcast_episode pages for Status
- Song additional metadata classes have been updated
- When searching art limit results per-plugin instead of total results
- Extend valid Share objects
- Update composer scripts and checks
- Don't send a cached file that does not match a requested target format
Removed
- Flattr service has shut down, so remove the plugin
- php cs-sniffer from the project root and scrutinizer
Fixed
- Catalog Filters could not be edited after creating
- Catalogs were not cleaned up from the
catalog_filter_group_map
table - Wanted errors on an empty global user
- Public users can not cache playlist browses
- Last.FM plugin errors with preferences and linking accounts
- Fix up localplay commands for Kodi/XBMC clients
- Playlists were sorting by object type
- User::get_user_data was not putting the default return in correctly
- Unable to use
bin/cli export:playlist
undefined method - Playlist had some issues adding songs
- Localplay and jukebox mode improvements (VLC and XBMC)
- Don't search for wanted albums on an invalid artist
- Browse filtering for album artist and song artist in certain situations
- Don't send an empty query to the database
- Remove stray span and use valid lang value on installer pages
- Updating array preferences
- Showing favicon
- Publication date of RSS feeds
- Search
- Rule inputs were being json encoded twice
- Genre search joining catalogs when they're not needed
- Static typing errors
- Updating album data when original_year is missing
- Template
show_recently_played
with a non-database song - Use isNew() to check for valid objects to avoid type errors
- Check for valid media before zip operations
- Subsonic
- Data for starred results was not always an array
- Send correct art respecting
show_song_art
again
API 6.3.0
Added
- API6
- New Method: search_group (return multiple object types from a single set of search rules)
- New Method: search (alias for advanced_search)
- New Method: user_playlists (return user playlists and does not include smartlists)
- New Method: user_smartlists (return user smartlists (searches) and does not include playlists)
- New Method: playlist_add (add songs to a playlist, allowing different song parent types)
- New Method: index (replaces get_indexes with a simpler list of id's. children can be included)
- Add
has_art
parameter to any object with anart
url - Add avatar url to user objects
Changed
- API6
- playlist_add_song: depreciated and will be removed in API7 (Use playlist_add)
- share_create: add more valid types ('playlist', 'podcast', 'podcast_episode', 'video')
- user: make username optional
Fixed
- ALL
- Userflag wasn't sending bool when cached in the database
- Admin would always get everyones playlists when filtering
- Stream methods would not send the bitrate correctly
- API4
- playlists method not respecting like for smartlists
- API5
- playlists method not respecting like for smartlists
- API6
- playlists method not respecting like for smartlists
- playlist_edit method will decode html
,
separators
Pull requests this release
- Split the Update.php class into small migration classes (#3767)
- Correct some type issues (#3770)
- subsonic: do not send a different cover id for each song of the same album (#3768)
- Use "Status" string rather than "State" which can be confused by Country (#3769)
- Add opml import for podcasts #3737 (#3772)
- Correct/Update some type hints related to recent stan errors (#3773)
- Remove some unused code (#3774)
- Fix #3778 (#3780)
- Remove Flattr support (#3782)
- Correct song metadata creation (#3777)
- XBMC localplay improvements (#3783)
- Correct doubled array index (#3784)
- Solve an annoying api related type issue (#3785)
- Remove unused imports (#3786)
- Remove MetadataFieldRepository::findAll (#3787)
- Correct some type issues due to the recent phpstan update (#3788)
- Remove usages of Podcast::update() (#3789)
- Try to bring back the scrutinizer code coverage (#3790)
- Set scrutinizer memory-limit to indefinite (#3791)
- Localplay and jukebox mode improvements ( Vlc and Xbmc ) (#3794)
- Extract playlist import from Catalog_local (#3795)
- Re-arrange the tag-count retrieval query (#3797)
- Add ShareRepository and begin migrating some static methods (#3796)
- Move podcast episode download limit retrieval into PodcastSyncer (#3799)
- Perform some changes related to qa (#3798)
- Remove php cs-sniffer from scrutinizer, too (#3800)
- Vlc localplay improvements (#3802)
- Rework the LicenseRepository (#3801)
- Dont try to search for recommendations for invalid artists (#3805)
- Update rector to 0.19 (#3803)
- Replace License loading by repo-method (#3806)
- Allow the user api method to return the current user info (#3807)
- Replace the metadata-repositories (#3804)
- Split up podcast-related repositories (#3808)
- Replace all remaining usages of Core::verify_form by RequestParser (#3810)
- Start reworking the PrivateMessageRepository (#3811)
- Refactor Wanted- and LiveStreamRepository (#3809)
- scrub_in all the search inputs (#3825)
- Upgrade rector to its first major version (#3818)
- Cleanup/Optimize some qa-related settings (#3821)
- Correct a bunch of type issues (#3822)
- Start replacing podcast-episode properties with getters (#3823)
- Define defaults for democratic playlist properties (#3826)
- Start the implementation of a BaseRepository and a generic ModelInterface (#3819)
- Add tests for BookmarkRepository (#3820)
- Add ImageRepository (#3824)
- Prepare the WantedRepository to extend BaseRepository (#3828)
- Extract missing-artist retrieval from Wanted (#3829)
- Align Catalog properties types to the database columns (#3832)
- don't query an empty query (#3835)
- Extract cleanup methods from Art-class (#3827)
- Add tests for LabelRepository (#3831)
- Really show default favicon by default (#3842)
- Replace the f_file and f_full_title properties by a method (#3836)
- Extract more wanted-logic into separate classes (#3837)
- Move database-related methods from Share into ShareRepo (#3838)
- Extract the creation of new share-items (#3840)
- Move some more methods from Artist/Album into their repos (#3843)
- Remove stray span and use valid lang value on installer pages (#3849)
- Fix the publication date of RSS feeds. (#3861)
- Remove genre and stream from useractivity deletion (#3866)
Co-authored-by: Daniel Jakob github@usox.org
Co-authored-by: cquike 17937361+cquike@users.noreply.github.com
Co-authored-by: fufroma fufroma@users.noreply.github.com
Co-authored-by: Carlo Sardi lusum@users.noreply.github.com
Co-authored-by: Mitch Ray 5735900+mitchray@users.noreply.github.com
Co-authored-by: François Charlier fcharlier@users.noreply.github.com