Revisions of ampache

Eric Schirra's avatar Eric Schirra (ecsos) accepted request 1075056 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 110)
- Update to 5.6.0
  * Added
    + Subsonic
      - Add type and serverVersion to <subsonic-response> objects
  * Changed
    - Enforce raw format parameter on download links when not set
    - Set song channels to null instead of 0 when missing
  * Fixed
    - Config had a : instead of a ; for a newline
    - Webplayer missing semi colons, next / back keys in the playlist js
    - Duckduckgo search links
    - Register action missing catalog_filter_group
    - LDAP DN lookup for group membership
    - Identify object names correctly for localplay playlist items
    - Parse URLs for democratic and random correctly in localplay playlist items
    - Make sure the webplayer identies non-media stream types as valid
    - Possibly unset Artist name in lyrics lookup
    - Allow access to public smartlists in Random
    - Share expiry date needed some reworking
    + Search
      - Use artist_map table for rating searches to find all related artists
    + Subsonic
      - Error's were not returning valid responses
  * API 5.6.0
    + Fixed
    - ALL
      - share_create and share_edit methods broken when setting expiry days
      - advanced_search methods were breaking with various offset and limits
      - playlists methods parameter 'exact' always ending up false
    - Api5
      - update_art hardcoded url to artist
      - Typo in song bitrate xml
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 1066233 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 109)
- Update to 5.5.7
  * Fixed
    - Stop filtering items beginning with a "." during catalog import
    - Don't show the filter box if there aren't any filters for the page
    - Fix up a lot of issues upgrading from really old servers
    - Don't add Album maps for null Album Artist's
    - Filter actions on the alphabet form and the graph pages correctly
    - session_set_cookie_params options array
    - Check for statistical_graph settings
    - Fetch Seafile cover art
    - Album might get sent to the temp playlist and screw up on insert
    - A couple of issues with now_playing.php when enabled
    - RSS user lookup on now_playing
    + webplayer
      - n for next, b for back
      - Missing semi-colons
    + Subsonic
      - Allow empty search queries
  * API 5.5.7
    + Changed
      - Keep the original mime and bitrate on song objects instead of the transcoded value
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 1065514 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 108)
- Let php8 use also.
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 1043319 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 107)
- Update to 5.5.6
  * Changed
    - Scrutinizer moved to php8.1
  * Fixed
    - Spotify art collector (AGAIN)
    - get_now_playing has_access check
    - Malformed HTML for regular users in preferences sidebar
    - Missing translation on preferences sidebar
    - Default catalog_filter group could be missing on a new install
    - Gather genre tags when not an array
    - Display webp images
    - Check for a valid image extensions when uploading art
    - Templates for squashed branch with a default path
  * API 5.5.6
    Fix various runtime errors and incorrect parameters for responses.
    + Changed
      - API browses all point to the Api class
      - Use FILTER_VALIDATE_IP on ping calls
    + Fixed
      + Api5
        - songs set_filter call without browse parameter may have lost info
        - get_indexes set album_artist filter correctly
        - artists set album_artist filter correctly
        - share_create undefined filter check
      + Api4
        - songs set_filter call without browse parameter may have lost info
        - get_indexes set album_artist filter correctly
        - timeline incorrect JSON attribute data instead of date
        - catalogs JSON had incorrect data for last_add and missing enabled
        - albums return an empty response with a bad artist id
        - download url parameter order matching "client, action, cache"
        - catalogs undefined filter check
        - podcast undefined filter check
        - podcast_edit undefined filter check
        - podcasts undefined filter check
        - share_create undefined filter check
        - share_edit undefined filter check
      + Api3
        - album_songs return an empty response with a bad album id
        - artist_albums return an empty response with a bad artist id
        - Calls to songs with user ID instead of user object
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 1037551 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 106)
- Update to 5.5.5
  * Fixed
    - Set etag for image cache
    - Spotify art collector
    - Double scrub string in catalog search rules
  * API 5.5.5
    - NO CHANGE
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 1037118 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 105)
- Update to 5.5.4
  * Added
    + Database 550005
      - Add song_artist and album_artist maps to catalog_map
  * Changed
    - Update catalog map tables based on the catalog action
    - Force b and n for back, next in webplayer (was overwritten with [ and ])
  * Fixed
    - Missing db tables on a fresh install
    - Not filtering song_artist on album_artist browses
    - Don't use catalog_filter and rating_filter without a valid user
    - Uploaded/Manual Album Artist maps on tag update
    - Delete artist's from the catalog_map that don't have a song or album for that catalog
    - Set correct transcode bitrate and mime for songs on play_url calls
    - Save Track Order when viewing all the items
    - Use cache_target for cached song cleanup (was hardcoded to mp3)
    + Subsonic
      - Art for artist index arrays was missing
    + Search
      - SQL for Artist catalog searches
      - Make sure saved rules match the correct names on load
    + CLI
      - Don't try to update a database when the connection fails
  * API 5.5.4
    + Fixed
      - User count in Api::ping and Api::handshake was doubled
      - Api3::stats method had incorrect recent parameters
      - Ensure the output bitrate and mime are set for song objects
      - RSS Feed generation with bad characters
      - Don't spam the artist description for each song
      - Show better Trending Dashboard section
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 1029660 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 104)
- Update to 5.5.3
  * Changed
    - Update copyright year in footer.inc.php
    - Localplay status and instance_fields function cleanup
    - Update some docker files to match current images
    - Allow adding streams to playlists (including rightbar)
    + webplayer
      - Another code rework, remove the old 'original' list
      - Shuffle is an action instead of a state of the playlist
  * Fixed
    - Hidden Genres shouldn't have a catalog
    - Streaming with certain parameters could not identify a session/user
    - Should be counting podcast objects in stats
    - Null artist->id on wanted pages
    + Search
      - Album 'other_user' favorite searches
    + SubSonic
      - Error if you didn't have data when using get_user_data
      - Response data might fall back to mp3 and not match the output format
    + webplayer
      - Reordering the list could lose track of items
      - Remove single item from list could create a weird list
      - Remove the final track when it's finished playing (if you've set that option)
  * API 5.5.3
    - NO CHANGE
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 1004048 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 103)
- Update to 5.5.2
  * Added
    - Check for upload_catalog before showing upload pages
    + search
      - Class rework and many additional aliases, check the docs for advanced_search
      - Add song_artist as a search type (uses artist rules)
      - Add album_artist as a search type (uses artist rules)
      - Add song_genre, mbid_artist, mbid_song to album search
      - Add song_genre, mbid_album, mbid_song to artist search
      - Add possible_duplicate_album to song search
    + webplayer
      - Code cleanup and attempt to make it a bit less confusing
  * Changed
    - Do not overwrite a custom Artist/Album when updating from tags
    - Ignore case when comparing Genre
    - Show an error on share create failures
    - Pull some function back into the search class
    - When searching without rules treat it like a browse and return results unfiltered
  * Fixed
    - Tmp_Playlist::get_items may not order by the playlist id
    - Fix album time update when time is NULL
    - Transcoding format could be ignored (encode_player_webplayer_target)
    - Set the file extension based on expected transcode / download format
    - Don't look at the transcode cache when downloading a raw file
    - If you are transcoding redirect to the transcoded file
    - Download stats for song, video, podcast_episode
    - Set the file extension for urls on generation
    - Don't overwrite artist art when searching for album art
    - Retrieve song art from tags the same way they are found ('invalid' art)
    - Searching from the search bar did not pickup up the rules for the search page
    - Upload artist, album and license selection
    - Don't show hidden Genres on object rows
    - Video needs get_f_link function
    - Playlists need to be in catalog_map table
    - Insert Podcasts more often in catalog_map
    - Subsonic basic auth may get filtered
    - Don't filter auth in the PlayAction if sent
    + search
      - Correctly identify alias rule types
      - Bad SQL on 0 rating query for album/artist search
    + webplayer
      - Desired transcode format not being respected
      - Video types missing from supported types
      - Playlist sorting issues
  * API 5.5.2
    + Added
      + advanced_search
        - Add song_artist as a search type (uses artist rules)
        - Add album_artist as a search type (uses artist rules)
        - Add song_genre, mbid_artist, mbid_song to album search
        - Add song_genre, mbid_album, mbid_song to artist search
        - Add possible_duplicate_album to song search
    + Fixed
      + advanced_search
        - unable to retrieve song_artist or album_artist results
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 999021 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 102)
- Update to 5.5.1
  * Added
    - Translation Updates August 2022
    - Grouping for label search items
  * Fixed
    - Release version string is incorrect and will tell you you have
      updates if you use the release files
    - Missing comma between label links on song pages
  * API 5.5.1
    NO CHANGE
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 998807 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 101)
- Update to 5.5.0
  * Added
    - Update Copyright notice to 2022
    - Added a new option 'Random Play' (shuffle) to playlists and smartlists
    - Add 'Recently Skipped' to user pages
    - Add Podcast Episodes to the browse pages and sidebar
    - Translate podcast episode state and some other missing ones
    - Allow using a smartplaylist in Democratic play
    - Allow podcast_episode table sort by time and state
    - Allow podcast table sort by website and episodes
    + Database 550004
      - Add system preference demo_use_search, Use smartlists for base playlist in Democratic play
      - Add tables catalog_filter_group and catalog_filter_group_map for catalog filtering by groups
      - Add column catalog_filter_group to user table to assign a filter group
      - Migrate catalog filter_user settings to the catalog_filter_group table
      - Assign all public catalogs to the DEFAULT group
      - Drop table user_catalog
      - Remove filter_user from the catalog table
    + Search
      - Added more missing groups to search type lists
      - Added missing song (was song_title) to album searches
      + Add podcast as a search type
        - Add rule title
        - Add rule podcast_episode (Search by podcast episode name)
        - Add rule time (Episode length in minutes)
        - Add rule state (Completed, Pending Skipped)
        - Add rule file
        - Add rule added
        - Add rule pubdate (Episode Publication Date)
      + Add podcast_episode as a search type
        - Add rule title
        - Add rule podcast (Search by podcast name)
        - Add rule time (Length in minutes)
        - Add rule state (Completed, Pending Skipped)
        - Add rule file
        - Add rule added
        - Add rule pubdate (Publication Date)
      + Add genre as a search type
        - Add rule title
    + CLI
    - Add verify for podcast catalogs (fix time and size from tags)
  * Changed
    - Private catalogs have been migrated into Catalog filters
    - Interface cookies for the sidebar state have new names matching their page and group
    - Made getID function required for library_item's
    - Update codeql-analysis.yml to v2
    - When streaming a Democratic or Random item, redirect to the result
    - Hide 'is_true' boxes on search rows (you can't change it so why show it?)
    - Hide action buttons from random and demo webplayer lists
  * Fixed
    - The cookies for the interface sidebar had multiple issues holding and restoring status
    - Removed A LOT of FILTER_SANITIZE_STRING from code for PHP8.1
    - Errors on empty values when loading the UI rows
    - Lots of docstring and code issues
    - Fixed up deleting plays (and now skips) on the user pages
    - Sorting playlist, user and smartlist names in search rows
    - SQL in get_tags when catalog_filter is disabled
    - A lot of browse filters were missing for certain object types
    - Don't try to load the playlist dialog from the webplayer when you can't add things
    - When using random/Democratic play send the additional parameters to the actual media
    - Respect play urls with transcode_to instead of format
    - Updated example docs/examples/inotifywait.sh
    - Podcast_episode browse may sent a camel case argument
    - Null max_upload_size could still be counted as a limit
    + Search
      - SQL might have connected AND and OR incorrectly
      - Metadata search might have badly parsed input
      - Added aliases for some of the confusing search types
    + SubSonic
      - Checking parameters might return the error AND the empty response
  * API 5.5.0
    This will likely be the last 5.x API release. API6 will be a continuation of API5
    and not be a significant change like the 4->5 transition.
    * Added
      - Api::stream add new types playlist and search (Streams a random object from these lists)
      - Api::download add new types playlist and search 
      + advanced_search
        + Add podcast as a search type
          - Add rule title
          - Add rule podcast_episode (Search by podcast episode name)
          - Add rule time (Episode length in minutes)
          - Add rule state (Completed, Pending Skipped)
          - Add rule file
          - Add rule added
          - Add rule pubdate (Episode Publication Date)
        + Add podcast_episode as a search type
          - Add rule title
          - Add rule podcast (Search by podcast name)
          - Add rule time (Length in minutes)
          - Add rule state (Completed, Pending Skipped)
          - Add rule file
          - Add rule added
          - Add rule pubdate (Publication Date)
        + Add genre as a search type
          - Add rule title
    * Fixed
      - API4::get_indexes podcast_episode was encoding into the API5 object
      - API4::share_create was unable to share when using lowercase types
      + advanced_search
        - Added missing song (was song_title) to album searches
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 991942 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 100)
- Update to 5.4.1
  * Added
    - Put next (n) and back (b) shortcuts in the web_player
    - Allow _ and % wildcards for hiding playlists (api_hidden_playlists)
    - Missing translations on CLI strings
    + Config version 62
      - Added webplayer_debug (was previously undocumented/hidden)
    + Search
      - Add track to song search
      - Add summary to artist search
    + CLI
      - New argument for cleanup:sortSongs -w|--windows Replace windows-incompatible strings with _
      - Add a table check function to admin:updateDatabase. This will repair missing tables/details
  * Changed
    - Only enforce subsonic_always_download for song objects
    - Always insert podcast source urls. But mark them as skipped if out of date
    - When adding a podcast feed, sync everything
    - Don't trim search input (e.g. allow single spaces for search)
  * Fixed
    - web_player being unable to play different formats in some cases
    - Playlist download button missing ID
    - Truncate long podcast episode author lengths
    - Incorrect link on the albums page
    - Section on the information sidebar looking for the wrong cookie
    - Bad verify mod time check
    - SongSorter would get caught with % in your strings
    - Rating Match plugin may overwrite album rating
    - Artist getRandom using the wrong sql column name
    - Pocast episode time regex
  * API 5.4.1
    * Added
      - Include lyrics in Song objects
      + advanced_search
        - Add file to album and artist search
        - Add track to song search
        - Add summary to artist search
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 978211 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 99)
- Update to 5.4.0
  * Added
    - Translation Updates May 2022
    + Search
      - Add file to album and artist search
    + CLI
      - New argument for run:updateCatalog -f|--find Find missing files and print a list of filenames
      - New argument for cleanup:sortSongs -f|--files Rename files and keep them in the current folder
      - New argument for cleanup:sortSongs -l|--limit Limit how many moves to allow before stopping
      - New argument for cleanup:sortSongs [catalogName] Name of Catalog (optional)
    + Database 540002:
      - Index title with enabled on song table to speed up searching
      - Index album table columns; catalog, album_artist, original_year, release_type, release_status, mbid, mbid_group
      - Index object_type with date in object_count table
  * Changed
    - Moved to php-cs-fixer 3
    - Update from tags now shows an 'Error' status if there was an issues reading the file
  * Fixed
    - SQL for random artist with mapping
    - SQL for servers < 5.0.0 might try to insert into a missing table
    - Respect grouping for song_count searches
    - Autoplay in xbmc localplay and conform to localplay api
    - Ungrouped albums were forced into groups
    - Artists array should overwrite artist_mbid arrays that are smaller
    - Some empty globals relating to user
    - More work on the forked Jplayer playlist code when using play last
    - DAAP play urls
    - Single disk download links on group pages
    + CLI
      - cleanup:sortSongs was broken (It actually works again)
      - cleanup:sortSongs removes incomplete copied files after failure
  * API 5.4.0
    * Added
      + advanced_search
        - Add file to album and artist search
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 975747 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 98)
- Update to 5.3.3
  * Added
    - Remove duplicates and order largest to smallest for art search
    - Allow update_from_tags for a single Song from it's page
    + Search
      - Add song_title to album search
      - Add album_title and song_title to artist search
      - Add orphaned_album to song search
  * Changed
    - Default art_search_limit raised to 15
    + web_player shuffle improvements
      - Current selected track will become the first track and everything else shuffled below it
      - Playlist isn't automatically played so if a song was playing, it will continue to play
  * Fixed
    - Speed up stream_playlist generation by chunking into blocks
    - Make sure there is an object_id to fill in update_530006
    - Remove song mapping on delete
    - Make sure podcast descriptions don't overfill the column
    - Clean dead total wasn't returned on completion
    - Searching for albums with '# Played' with grouping enabled with album_map
    - Adding a new xbmc localplay
    - Catalog type filter in get_top_sql
    + SubSonic
      - Fixed the query searches (Again) based on the wildcards different clients may send
      - Song discNumber was sending the MAX disk instead of the actual disk
      - getPlayQueue doesn't change back to miliseconds from seconds
  * API 5.3.3
    * Added
      + advanced_search
        - Add song_title to album search
        - Add album_title and song_title to artist search
        - Add orphaned_album to song search
    * Fixed
      - Api4::record_play had the user as mandatory again
      - After catalog actions; verify songs with an orphaned album which you won't be able to find in the ui
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 973969 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 97)
- Update to 5.3.2
  * Added
    - Look for orphaned maps to delete.
    - Get server timezone for get_datetime (date_default_timezone_get())
    - Allow deleting played activity from the ui and count using a function (Require: 100)
  * Changed
    - Updated the translation gathering process a little
    - Organized the play/skip counting into it's own function
    - Update artist from tags needs to update albums first
    + SubSonic
      - Only search for song title instead of everything
      - Add starred to directory elements
  * Fixed
    - Format on an empty album would complain in the log
    - Update from tags might not remove the old song artist
    - Migrating to a new album would leave old album maps
    - Artist search query with mapping was very slow
    - Database column check not included in 5.3.1 correctly
    + SubSonic
      - Get recently played
      - Fixed up search queries using "" (wrapping in quotes means exact search)
  * API 5.3.1
    - NO CHANGE
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 972366 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 96)
- Update to 5.3.1
  * Added
    - Docker compose files to help create a local dev environment (read docker/README.md for more info)
    - Added php8.1 to composer (still considered unstable)
  * Changed
    - Began rework of Subsonic modules
  * Fixed
    - Database missing rsstoken column in the user table
    - gather-messages.sh was finding lots more strings than it needed
    - Query sql with ambiguous ID
    - New song import might not map all the artists
    - Catalog query missing a comma
  * API 5.3.1
    - NO CHANGE
- Changes from 5.3.0
  * Added
    - Additional xhtml templates added
    - Parse lots more WMA (ASF) file tags
    - Add play next and play last to radio station rows
    - Additional option for artist pages 'Show Artist Songs'
    - Add some missing tag options for mpc files
    - Allow manually syncing Artist name, year formed and place formed from musicbrainz (if it has an mbid)
    - Notify and allow updating Plugins when updates are available
    + You can now unhide a tag from the 'Hidden' page for Genres
      - This will delete previous merges but it will not retag your songs (update from tags to fix that)
    + Config version 61
      - Add disable_xframe_sameorigin (allow disabling "X-Frame-Options: SAMEORIGIN")
      - Disable catalog_verify_by_time by default
    + Database 530016:
      - Create artist_map table and fill it with data
      - Create album_map table and fill it with data
      - Use song_count & artist_count using album_map
      - Drop id column from catalog_map table and alter object_type charset and collation
      - Alter album_map table charset and engine to MyISAM if engine set
      - Alter artist_map table charset and engine to MyISAM if engine set
      - Make sure object_count table has all the correct primary artist/album rows
      - Convert basic text columns into utf8 to reduce index sizes
      - Remove user_activity columns that are useless
      - Delete duplicate rows on object_count
      - Compact mbid columns back to 36 characters
      - Compact some user columns
      - enum object_count.count_type
      - Index data on object_count
      - Use a unique index on object_count
      - Compact cache_object_count, cache_object_count_run columns
      - Add show_album_artist and show_artist preferences to show/hide Sidebar Browse menu links
   + search:
      - Add songrating to album search (My Rating (Song))
      - Add songrating (My Rating (Song)) and albumrating (My Rating (Album)) to artist search
      - Allow empty/null searches for all mbid searches
      - Allow empty/null searches for label searches
      - Add song_count to album and artist search
      - Add album_count to artist search
      - Add myplayedartist (Played by Me (Artist)) to album search
      - Add song_artist to album search
      - Add alias album_artist to album search for artist searches
      - Add recent_added to album search
  * Changed
    - Clean up artists with a duplicate MBID (Use the lowest artist id)
    - Delete cached recommendations instead of trying to update (Really slow)
    - Artist::check uses MBID on lookups as well as name
    - update_from_tags: Only update counts, tags and garbage collect after changes found
    - Use albums instead of songs for catalog verify actions
    - Expand search sidebar menu and collapse information without cookies
    - Moved all the extended functions into the forked jplayer module
    - Instead of skipping duplicate songs on import, disable them
    + jPlayer (Webplayer):
      - Shuffle now follows the currently playing track (If playing)
      - Shuffle also does not track the old playlist so you can't undo a shuffle
    + Subsonic:
      - Check for art instead of always sending an art attribute
  * Removed
    + search:
      - removed mbid group sql from possible_duplicate and possible_duplicate_album
  * Fixed
    - VaInfo time for size/playtime_seconds
    - Tag arrays for Mbid and Artists lookup
    - Deleted item tables would not record some deletions
    - Updating the artist name would always migrate data when not required
    - Artist::check would always create and artist object with readonly set
    - Genres would not update the parent (Song->Album->Artist) whan using update from tags
    - Random sql that uses search rules
    - Use configured Ampache temp directory in Seafile catalog
    - Prepare media before update from tags (Seafile needs to download the file first)
    - Seafile catalog checks for a local file before downloading it again
    - Delete custom_metadata when removed from the object
    - Artist Garbage Collection was way too slow
    - Album and Artist count value sql
    - Don't remove Genre tags when they have been merged (hidden) into a different tag
    - Don't delete merged (hidden) Genres from the tag table
    - Album song_artist_count not calculated correctly
    - Grouping with mbid_group was missing making some albums not possible to view
    - Display and hide of artist columns in some pages based on count
    - Clean and verify would count totals based on all items instead of item type
    - Missing strings from xhtml templates
    - Album grouping for getAlbumSuite with null values
    - Set ratings for all album disks (if grouping enabled) for ratings and flags
    - Issues when you don't have an album artist tag
    - Correctly set null values on library_item edits
    - Search for song art might have sent a Song object
    - Fix missing preference on musicbrainz plugin
    - Disable/enable catalog
    + jPlayer (Webplayer):
      - Fixed moving items in the playlist
      - Fixed adding after the current playing track
      - Fixed logic behind the index and order between the HTML and the JS lists
    + Search:
      - played search for album and artist was including your user in the results
      - other_user artist search sql
    + Subsonic:
      - Artist was missing starred status
  * API 5.3.0
    - Added
      + advanced_search:
        - Add songrating to album search (My Rating (Song))
        - Add songrating (My Rating (Song)) and albumrating (My Rating (Album)) to artist search
        -  Allow empty/null searches for all mbid searches
        - Allow empty/null searches for label searches
        - Add song_count to album and artist search
        - Add album_count to artist search
        - Add myplayedartist (Played by Me (Artist)) to album search
        - Add song_artist to album search
        - Add alias album_artist to album search for artist searches
        - Add recent_added to album search
- Rebase ampache-confpath.patch.
- Rebase ampache-systemd.patch.
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 953739 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 95)
- Update to 5.2.1
  * Added
    - Translation Updates Jan 2022
    - Count tables on create and delete actions
    - Set allow-plugins in composer.json
    - Improve description of rss feed to make each play more unique
    - Wait 30 minutes between catalog updates before running update_counts
    - On database connection failure, go to test.php
    - Search:
      - Added no_tag as a possible search item (song, album, artist)
      - Document the alias names of search rules (docs/API-advanced-search.md)
      - Add playlist and playlist_name search to artist types
  * Changed
    - AmpachePersonalFavorites: double the playlist title height
    - Move get_f_link from playlist/search into playlist_object
    - Make some functions that do the same thing use the same variable names
    - Don't optimize tables when doing full_service catalog updates
    - Use parameters in search queries instead of printing them into the query
    - Logout action requires a session id now to log out
    - Update mapping more often after catalog actions
    - Album check function added mbid_group to lookup
    - Support database upgrades from version 350008 (Ampache 3.5.4)
    - Remove additional 'Details' string from song/video and radio pages
    - Tag value is being extra filtered in the edit screen
    - Hide the login link when using simple_user_mode and no auth is set note 
      this does not stop you logging in with /login.php
    - When not using auth, keep recording stats for system user plays
    - Hide username column from Recently Played when not authed as a user
  * Fixed
    - Lowercase package names in composer
    - CLI add user
    - Demo Systemd timer files WantedBy
    - Some missing garbage collection for some tables
    - Phantom html table row in show_catalogs page
    - Grouping albums with special characters
    - Searching albums with special characters
    - Lots more PHP8 runtime errors
    - SQL for artists in catalog_map
    - Typo in url for update_all_file_tags
    - SQL error in database update 500013 (Not fatal)
    - Don't garbage_collect tags after merging
    - Create art URLs correctly when using rewrite rules and no auth
    - Respect sidebar_light preference when no cookie is present
    - Don't try to create users that already exist
    - Add/Edit catalogs in the UI missing filter_user
    - Search:
      - possible_duplicate was grouping too much together
    - Subsonic:
      - Jukeboxcontrol didn't send an index to the client
  * API 5.2.1
    - Added
      + API5
        - The docs for errors have been extended for the type when returned
    - Changed
      + API5
        - Return the xml total_count of playlists based on hide_search preference
    - Fixed
      + API5
        - Some errors were returning the value and not the parameter on error
      + API4
        - update_from_tags: type case error
        - rate: Object type to class mapping
        - flag: Object type to class mapping
        - update_art: Object type to class mapping and type case check
        - update_from_tags: Object type to class mapping
        - genre and tag function compatibility
      + API3
        - stats: incorrect getRandom call
        - rate: Object type to class mapping
        - playlist: bad escaping on the playlist id
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 941023 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 94)
- Update to 5.2.0
  * Added
    - Get image from more tag types
    - Translation Updates Nov 2021
    - Added the ability to play random songs from a playlist with a play url
    - Update AmpacheRatingMatch.php to allow writing ratings to file tags
      - Enable 'Save ratings to file tags when changed' on the plugin page
        - write_tags must be enabled in the config file
    - Config version 59
      - Removed overwrite_tags (It doesn't do anything)
      - playlist_art now true by default
    - Database 5.2.0 Build 5:
    - Make sure preference names are always unique
    - Add ui options ('api_enable_3', 'api_enable_4', 'api_enable_5') 
      to enable/disable specific API versions
    - Add ui option ('api_force_version') to to force a specific API response 
      (even if that version is disabled)
    - Add ui option ('show_playlist_username') Show playlist owner username in titles
    - Add ui option ('api_hidden_playlists') Hide playlists in Subsonic and 
      API clients that start with this string
    - Add ui option ('api_hide_dupe_searches') Hide searchs in Subsonic and 
      API clients with the same name as playlists (and both owned by you)
  * Changed
    - Don't try to return objects that aren't there sometimes
    - Update catalog counts before returning API data
    - Fix preferences for system and users after each update
    - Light theme hover color for sidebar
    - Changed some cookie from Strict to Lax to fix some bugs
    - Check ldap group by username instead of DN
    - Allow gathering random art from playlist contents instead of generating on page load
  * Removed
    - Remove AssestCache class and functions (unreliable)
    - When recording stats don't ignore based on a hardcoded gap
  * Fixed
    - test_image function would fail without php-gd (which is optional)
    - Searching for images in files could not return the files you found
    - Get rid of that annoying space on api key text in the WebUI
    - Catalog map for artist tables
    - ratingmatch_stars value 5 wasn't setting itself
    - filter_has_var is returning false in FCGI enabled PHP
    - Allow catalog manager to manage a catalog in the WebUI
    - When using custom metadata don't overwrite managed values
    - Missing (and duplicate) preferences for users and system
    - Size 0 when reading file tags
    - Disk and totaldisks for wma files
    - Genre for quicktime/m4a files
    - Last.fm login impossible with strict cookies
    - Some double scrubs of text in image links
    - Updating playlist user would only update the name and not the ID
    - garbage collection for playlist images
    - Stats when skipping songs with 0 plays
    - More PHP8 runtime errors
    - Fixed single song random playback using a play url
    - Make sure we error if php_intl module isn't found
  * API 5.2.0
    Check out the docs for multi API support at ampache.org
    note JSON didn't exist for API3 so all json requests from API3
    calls will revert to API5
    - Added
      - Support for API3, API4 and API5 responses including PHP8 support
        (keeps original tag calls)
      - API5
        - playlists: sql for searches wasn't filtering
        - playlists: add parameter 'show_all' if true ignore 'api_hide_dupe_searches' setting
        - get_art: add parameter fallback if true return default art
          ('blankalbum.png') instead of an error
      - API4
        - playlists: add parameter 'show_all' if true ignore 'api_hide_dupe_searches' setting
      - API3
        - Added genre calls as an alias to tag functions to match API4 and API5
    - Fixed
      - Session and user id identification and errors from that
      - API5
        - playlists: sql for searches wasn't filtering
        - Art URL for searches was malformed
      - API4
        - Art URL for searches was malformed
      - API3
        - democratic: This method was broken in API3 and never worked correctly
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 931027 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 93)
- Update to 5.1.1
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 927302 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 92)
Missing jplayer or defect jplayer in last commit.
Eric Schirra's avatar Eric Schirra (ecsos) accepted request 927294 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 91)
- Update to 5.1.0
  * Added
    - Split search items in WebUI into optgroup categories
    - Add en_AU as a locale
    - Require confirmation on enable/disable user links
    - Add f_size to video parameters
    - Record plays for live_streams and playlists in object_count
    - Add podcast to the object_count table and add missing rows
    - Store playlist art in the database
      - Show the art on the main playlist page
      - Allow reset and change of playlist art
      - Pick a random art item on reset and store
      - Add a simple continue button for these dialogs
      - Fix up display of image showaction
      - Subsonic art looks for the playlist art the same as UI
    - Check for ? in a query before trying to use parameters
    - Add the current php version to the debug page
    - Cache bust some frequently updated assets
    - Clear asset cache during AutoUpdate
    - Gather Artist recommendations on play/Stat insert
    - Add Top Tracks and Similar Songs to Artist pages
    - Extend run:updateCatalog --update to update artist name matching mbid
    - Add duplicate_mbid_group to album searches
    - Restored missing artist search to the header searchbar
    - Press enter on the list header to allow changing page number
    - Translation Update October 2021
    - Config version 57
    - NEW config options
      - allow_upload_scripts: Allow or disallow upload scripts on the server
    - Database 5.1.0 Build 4:
      - Add podcast to object_count table
      - Add podcast to cache_object_count table
      - Add live_stream to the rating table
      - Add waveforms for podcast episodes
    - PHP8 Support
      - Use array_key_exists to skip runtime errors
      - Fix undefined variables in templates
      - Errors with wanted/missing lookups and templates
      - Ajax handler updates and fixes
      - Set default and fallback values more often to avoid errors
      - Query errors would kill the whole page
      - Stop trying to read unreadable files
      - Explode key pairs when there is something to explode
      - Don't try to update preferences that don't exist
      - Errors when not logged in trying to load a session
    - NEW files
      - Test scripts: codecoverage.sh, stan.sh, tests.sh
  * Changed
    - Always update time when updating songs and videos from tags
    - Merge config 'ratings' and 'userflags' checks into ratings. (drop userflags)
    - Split search items into groups to help make it a bit clearer
    - Rearranged the list of search items
    - Simplify PlayAction code a bit and use filter_input
    - Speed up update_counts for missing object_counts
    - Enable Podcasts on new installs
    - Delete composer.lock
    - bin/cli run:updateCatalog with no options now does clean, Add, Verify and gather for all catalogs
    - Make category headers a bit nicer
    - Check for valid browse types before loading nothing
    - Browsing Genre defaults to artist
    - Skip albums that match the exact title in wanted search
    - Translate all database description strings on updates
    - Hi-res blankalbum/placeholder image (1400x1400)
    - Allow larger artist summary with a scroll. linebreak place, year formed
    - During garbage collection clean up empty strings with NULL
    - Subsonic
      - Disable stat recording on stream calls (disable subsonic_stream_scrobble in config to enable)
  * Removed
    - object_cnt: use total_count and total_skip instead of calculated properties
    - f_title: use f_name
    - Scrub CSS with Autorprefixer
  * Fixed
    - SQL query error for Random Album in certain config setups
    - Album suite needed even without grouping
    - Stop scrubbing the podcast title so hard (so many &amp;'s)
    - Use total_count and total_skip columns for searches (Fixes searching with 0)
    - Can't change view limit on Android
    - Localplay instance could be 1
    - Missing add_type variable on ACL pages
    - Light theme follow button color
    - Missing CSS on list headers
    - Templates with missing variables
    - Fix Stream_Playlist::_add_urls to stop mismatched query values
    - Fix stream.php downloads not sending their url parameters to PlayAction
    - Garbage collect object_count for the possible items
    - Do not drop catalog in table podcast_episode when it doesn't exist yet
    - AAC codec from itunes doesn't provide a bitrate_mode (assume vbr)
    - bin/cli ExportPlaylistCommand had out of order args
    - bin/cli Allow database updates when out of date
    - Fix computeCache for playlists
    - Logic of SQL query to get random albums
    - Simplify the join code for some queries
    - Don't force random for smartlists when you turn it off
    - Empty release_date when updating videos
    - Chrome errors where Content-Disposition has a comma (,)
    - Remove subtitle in stream_playlist if empty
    - Fix options and bitrate selection for stream.php requests
    - Scrobbles from Song::can_scrobble
    - Default preference list
    - MusicBrainz Artist Id could have been replaced with the Album Id
    - Artists being duplicated when feat. another artist
    - Don't let a non-critical update fail DB update
    - Search for 'played' albums and artists
    - Commands loading plugins from cli might not have a user
    - Dashboard links to podcast episodes and art
    - Lots of issues in the webplayer which only supported song links
    - Clean up deleted user date from all tables
    - Waveforms for podcast episodes
    - Subsonic
      - Trim quotes (") for Subsonic searches (some clients add them)
      - Support exact (lucene) searching when using quotes (")
      - Browse by folder is fixed
      - Faster browse queries for all types
      - Fix catalog browsing and loading library
  * API 5.1.0
  + Added
    - NEW API functions
      - Api::live_stream (get a radio stream by id)
      - Api::live_streams
    - Api::stream Added type 'podcast_episode' ('podcast' to be removed in Ampache 6)
    - Add 'time' and 'size' to all podcast_episode responses
  + Changed
    - live_stream objects added 'catalog' and 'site_url'
    - stats: additional type values: 'video', 'playlist', 'podcast', 'podcast_episode'
  + Fixed
    - get_indexes: JSON didn't think live_streams was valid (it is)
    - record_play: user is optional
    - Bad xml tags in deleted functions
    - scrobble: Add song_mbid, artist_mbid, album_mbid (docs have no '_' so support both)
- Rebase ampache-config.patch.
Displaying revisions 21 - 40 of 130
openSUSE Build Service is sponsored by