This release adds in support for API6 and still includes backward compatibility to previous versions.
Added
* API6 (Based on API5)
* API6::browse: List server contents in a directory-style listing (Music, Podcast and Video catalogs)
* API6::list: Replace get_indexes with a faster lookup and similar parameters returning `id`, `name`, `prefix` and `basename`
* API6::catalog_add: Create a catalog (Require: 75)
* API6::catalog_delete: Delete a catalog (Require: 75)
* API6::live_stream_create: Create a new live stream (radio station)
* API6::live_stream_edit: Edit a live stream
* API6::live_stream_delete: Delete a stream buy ID
* API6::register: Allow users to register an account (if enabled)
* API6::playlist_create: Return an error if the playlist name already exists for that user
* API6::user_edit (previously user_create):
* Add `group` parameter to pick a catalog filter group
* Add `fullname_public` to enable/disable using fullname in public display
* Add `reset_apikey` to reset a user Api Key
* Add `reset_streamtoken` to reset a user Stream Token
* Add `clear_stats` reset all stats for this user **be very sure about this one!**
* Add `prefix` (Prefix for Full Name) to album & artist responses
* Add `basename` (Name without prefix) to album & artist responses
* Add `bitrate` to Democratic objects
* Add `format` to Song and Democratic objects
* Add `stream_format`, `stream_bitrate`, `stream_mime` to Song objects (This is the transcoded output for a stream)
* JSON responses
* Cast bool fields to `true` and `false` instead of "1" & "0"
* Add `total_count` to resonses to give clients an idea of the total possible objects
* advanced_search
* Add `album_disk` as a search type (uses album rules)
* Add `song_genre` to album and artist searches
* Add `possible_duplicate_album` to song search
* Add `mbid_artist` to album search
* Add `barcode` to album search
* Add `catalog_number` to album search
* Add `smartplaylist` to album search
* Add `duplicate_tracks` to album and song search (MIN & MAX id for song search)
* Alias `possible_duplicate_album` => `possible_duplicate` for album search
* Alias `album_genre` => `genre` for album search
* Alias `mbid_album` => `mbid` for album search
* Alias `mbid_artist` => `mbid` for artist search
* Alias `song_genre` => `genre` for song search
Changed
* Renamed user_update to user_edit (user_update still works and will be depreciated in API7)
* Albums with no album_artist may now return 0 artist called 'Various'
* Don't send AlbumDisk objects to the API
* XML responses
* Api6 XML success and error response messages are put in a `message` element (like json)
* For data responses id is the only attribute and everything else is an element
* Name was not set as an attribute OR an element so now it's always an element
* Return original XML output (that may be malformed) when loadxml fails.
* Api6::get_indexes: This method is depreciated and will be removed in Ampache 7.0.0 (Use Api6::list instead)
Removed
* preciserating removed from all objects (use rating)
* Api6::album_songs remove `exact` as a parameter
* Api6::stream remove `podcast` as a valid `type` value
* Warning of depreciated methods from API5 have been removed from API6
* Api6::tag
* Api6::tags
* Api6::tag_albums
* Api6::tag_artists
* Api6::tag_songs
Fixed
* advanced_search methods were breaking with various offset and limits
* JSON responses
* Share and Bookmark object id's were not strings