API Changelog
API 6.9.0
This version is being released for Ampache7 only
Added
- ALL
- Support POST requests for all methods
Fixed
- ALL
- Localplay methods might not complete when pulling status from missing controllers
API 6.8.0
This version is being released for Ampache7 only
Added
- ALL
- Support regular handshake and ping actions with a Bearer Token
- API6
- New Method: search_rules (Get a list of valid search rules per search type)
- user_playlists: Add include parameter to get song data
- user_smartlists: Add include parameter to get song data
- toggle_follow: Return errors when the users aren't found
- deprecation warnings from tag methods in the main API handler
- API5
- toggle_follow: Return errors when the users aren't found
Changed
- API6
- browse: don't require
catalog
when browsing acatalog
- browse: don't require
Fixed
- ALL
- user_update: incorrect parameter check for
filter
instead ofusername
- get_indexes: XML data may generate extra root elements
- user_create: validate
disable
bool with make_bool - playlists: validate
show_dupes
bool with make_bool - get_bookmark: validate
include
andall
bools with make_bool - flag: validate
include
bool with make_bool - bookmarks: validate
include
bool with make_bool - bookmark: validate
include
bool with make_bool - bookmark_create: validate
include
bool with make_bool - bookmark_edit: validate
include
bool with make_bool API6 album
andalbums
include didn't always work correctlyartist
andartists
include fixes API5- user_edit: incorrect parameter check for
filter
instead ofusername
- bookmark: Bookmark is a valid
type
API3 - genres: fallback function missing
- genre: fallback function missing
- genre_songs: fallback function missing
- genre_artists: fallback function missing
- genre_albums: fallback function missing
- user_update: incorrect parameter check for
API 6.7.3
This version is being released for Ampache7 only
Added
- API6
- Add mbid_group to
album
data responses
- Add mbid_group to
Fixed
- ALL
- handshake: Check if auth is sent as a valid session and don't try to create a new one
API 6.7.2
This version is being released for Ampache7 only
Changed
- Header auth using a bearer token will return valid sessions on handshake and ping
- Header auth for other methods will hide the session behind an MD5 hash of the username (previous behaviour)
API 6.7.1
This version is being released for Ampache7 only
Added
- API6
- get_art: Extend
type
parameter to include 'label', 'live_stream', 'search', 'user', 'video'
- get_art: Extend
API 6.7.0
This version is being released for Ampache7 only
Added
- API6
- New Method: song_tags (Read and return all file and enabled plugin tags for the song)
- get_art: return error 404 on bad size dimensions
Changed
- ALL
- localplay will not clear mpd playlists when stopped if
clear=0
- Ensure lowercase parameters are set on localplay calls
- localplay will not clear mpd playlists when stopped if
Fixed
- ALL
- get_art: Correctly size and scale art responses
- API6
- catalog_add: typing for adding beets catalog
API 6.6.8
This version is being released for Ampache7 only
This is a massive update to the code typing and backend quality without changing function.
Changed
- ALL
- Typed parameters, properties and arrays for all API versions
- Ensure nullable input is allowed to be null in the code
- Make sure size dimensions for
get_art
calls are valid and split correctly
- API6
- Empty results on
list
calls will send an empty response
- Empty results on
- API5
playlist_generate
withflag
not checking valuecatalog_file
catch exception on add_file error
Fixed
- ALL
- Democratic methods vote array not correct in all cases
API 6.6.7
This version is being released for Ampache7 only
Added
- API6
- get_external_metadata: Get metadata from external plugins. (Useful for scripting)
- Add
is_hidden
status andmerge
genres into genre data objects
Changed
- ALL
- stats: Allow
limit
-1 for no limit. (0 falls back topopular_threshold
value)
- stats: Allow
- API6
- user_preference
- Add
has_access
to show whether you can change the preference - Add
values
to the response for allspecial
preferences
- Add
- user_preferences
- Add
has_access
to show whether you can change the preference - Add
values
to the response for allspecial
preferences
- Add
- system_preference
- Add
has_access
to show whether you can change the preference - Add
values
to the response for allspecial
preferences
- Add
- system_preferences
- Add
has_access
to show whether you can change the preference - Add
values
to the response for allspecial
preferences
- Add
- user_preference
Fixed
- XML
- Index keyed_array data on int indexed arrays
API 6.6.6
Fixed
- ALL
- Not checking auth on User lookup
API 6.6.5
Merge update from Ampache7.
Added
- Search
- Add
disk_count
to Album & AlbumDisk search types - Add
no_license
to Song search
- Add
Fixed
- API6
- handshake: Downgrade version 7 calls to 6
- get_indexes: Respect 'api_hidden_playlists'
- index: Respect 'api_hidden_playlists'
- list: Respect 'api_hidden_playlists'
- playlists: Respect 'api_hidden_playlists'
- API5
- get_indexes: Respect 'api_hidden_playlists'
- playlists: Respect 'api_hidden_playlists'
API 6.6.4
Merge update from Ampache7.
This update has counting updates to allow faster responses on larger results
Added
- API6
- Use set_count function on data classes to speed up counting response totals
- Validate
website
foruser_edit
- Use split search for search methods
- advanced_search / search
- search_songs
- user_update
- playlist_generate
- API5
- Use split search for search methods
- advanced_search
- search_songs
- user_update
- playlist_generate
- Use split search for search methods
- API4
- Use split search for search methods
- advanced_search
- search_songs
- user_update
- playlist_generate
- Use split search for search methods
- API3
- Use split search for search methods
- advanced_search
- search_songs
- Use split search for search methods
Changed
- Rename API-CHANGELOG.md => CHANGELOG-API.md
API 6.6.3
NO CHANGE
API 6.6.2
Added
- API6
- Add
stats
parameter to stream and download methods (If false disable stat recording when playing the object) - Respect
api_always_download
in stream and download methods - Add sorting to stats calls
- add
user
object to playlist responses (owner of the playlist)
- Add
Fixed
- ALL
- index: Artist index not showing albums
API 6.6.1
This release keeps parity between Ampache7 releases by backporting the updated code.
Added
- API6
- Add maximum ID properties to
handshake
andping
(with auth) responses for media typesmax_song
,max_album
,max_artist
,max_video
,max_podcast
,max_podcast_episode
- flag: add
date
as a parameter (set the time for your flag)
- Add maximum ID properties to
Changed
- lost_password: deny access in simple_user_mode
API 6.6.0
Like with total_count
, we've added an md5sum of the results (called md5
) in responses
This is useful for recording whether you need to update or change results.
Inconsistency with the return of object arrays and single items have been fixed and docs updated.
Added
- ALL
- Track user IP on handshake and ping calls
- playlist_edit: separate error when the playlist doesn't exist
- API6
- New Method: playlist_hash (Get the MD5 hash of the playlist without getting the whole object)
- Add
md5
to responses. (Hash objects in the response before slicing and limiting) - Add
md5
property to playlist objects. (Hash of song objects in the response) - Add
username
property to handshake and ping (with auth) responses to workaround missing usernames in token auth - Add
has_access
property to playlist objects. (Can edit the playlist if true) - Add
has_collaborate
property to playlist objects. (Can add and remove songs to the playlist if true) - Add
last_update
property to playlist objects. (Time a playlist changed. Smartplaylists do not change based on returned songs) - Add
object_type
andobject_id
property to shout objects
Changed
- API6
- playlist_edit: Add songs if you're a collaborator and ignore edit parameters if you fail has_access check
- catalog_add: Do not return an object. (We return a single item)
- bookmark_create: Do not return an object. (We return a single item)
Fixed
- ALL
- User preferences were not initiated and the server preferences would overwrite differences
- Api::set_user_id function sending an int instead of a user
- Some responses that include users not checking the user is valid
- API6
- JSON: Send empty array for missing single item methods
- lost_password: function name incorrect
- flag: id smartplaylists correctly
- rate: id smartplaylists correctly
- albums: Browse user may not be set
- podcast_episodes: Browse user may not be set
API 6.5.0
Added
- API6
- Add
songartists
to all album data responses. (In an albumartists
=album_artists,songartists
=song_artists) - artist_albums: add
album_artist
as an optional parameter - get_indexes: add
catalog
,album_artist
andsong_artist
as possibletype
values - list: add
catalog
andsong_artist
as possibletype
values - Add
cond
andsort
parameters to browse methods- album_songs
- albums
- artist_albums
- artist_songs
- artists
- browse
- catalogs
- followers
- genre_albums
- genre_artists
- genre_songs
- genres
- get_indexes
- index
- label_artists
- labels
- license_songs
- licenses
- list
- live_streams
- playlists
- podcasts
- podcast_episodes
- shares
- songs
- user_playlists
- user_smartlists
- Add
Changed
- Reset any existing browse when calling Api::getBrowse()
- Filter duplicate search names outside of the data classes and filter on browses
- API6 methods converted to Browse
- artist_albums
- artist_songs
- browse (
catalog
types) - catalogs
- followers
- genre_albums
- genre_artists
- genre_songs
- get_indexes (
catalog
andplaylist
types) - index (
catalog
andplaylist
types) - label_artists
- license_songs
- list (
playlist
types) - playlists
- podcast_episodes
- stats (random
playlist
types) - user_playlists
- user_smartlists
- API5 methods converted to Browse
- get_indexes (
playlist
types) - playlists
- stats (random
playlist
types)
- get_indexes (
- API4 methods converted to Browse
- get_indexes (
playlist
types) - playlists
- get_indexes (
Fixed
- ALL
- html_entity_decode
include
,items
andtracks
parameter for applicable methods - Rating and flag data for smartlists was using incorrect id
- playlist_edit: track insert broken by removing table constraint
- playlist_edit: workaround sending owner username instead of ID
- playlist_add_song: When using
unique_playlist
don't grab the whole playlist
- html_entity_decode
- API6
- list: sorting was by
id
instead ofname
- browse: sorting was by
id
instead ofname
- download: The API can use searches as playlists so check for the
smart_
prefix - stream: The API can use searches as playlists so check for the
smart_
prefix - Respect album sort preferences in all album object responses
- list: sorting was by