Skip to content
Browse files

4.0.0-develop (#1931)

* Update codacy badge and markdown linting
* Remove plex, seafile, dropbox, googleplus plugins
* Remove all plex code
* Remove message of the day
* Don't allow lost password reset for Admin users
* Don't allow emails until mail_enable is true
* No video, no channels in new installs
* Bump version to 4.0.0-developo and conf to 40
* Update composer.json and php-cs
* Default user avatar when none found
* Update api to 400001
* Add new images for default user and light/dark
* Add light gif for ajax-loader
* Database update incorporating all non-destructive fork changes.
* Viewport settings for mobile devices
* Lots of css and minor ui changes.
* Format the input fields. (you get a datetime picker on mobile!)
* Make the gridview a bit smoother in different sizes
* Fit art across all areas better
* Load webplayer to stop popup preferences hiding the window
* Copyright update to 2019
* new config option mail_enable added to conf (Mail is disabled if this is false)
* Reverse id search for artist and album
* Comments and dba filter_var
* Updating Dba::escape
* Hide video in search/stats if not enabled
* Method doc updates, markdown and filter patches
* Drop exit for return statements
* Generated password update Password is more random
* Update playlist api calls to include smartlists (#1883)
* shrink the lines on FriendTimeline plugin
* use a random cover for playlist art
* set debug_event($filename[etc without .php extension]
* added_year_columns
* JavaScript and Ajax updates
* Code documentation and bug hunting
* Added a mobile $_SESSION variable to allow changing pages for mobile devices.
* Login screen moves the logo to the bottom on mobile like cockpit does
* Fixed setting button requiring two single clicks to open.
* Lots of code tweaks to make things more uniform and readable.
* Replce and / or with && / ||
* get rid of the 'Closed' text in the editdialog
* missing quotes on some strings
* make generate_thumb only return array
* update browse::show_objects
* Cleaned up the showEditDialog Function
* fixed bug in transcode decision while comparing request bitrate and media bitrate
* Update api.class.php
* This is a fix for [Runtime Error] Illegal string offset 'id' in file /srv/www/htdocs/ampache/server/edit
* Fixed error in subsonic API (getsong)
* Fix some Subsonic endpoints for JSON
* Be more specific when modifying alwaysArray
* Increase copyright column size to fix issue #1861
* Update database to fix copyright max size in the podcast table.
* Add now_playing.php for embedded now playing info
* Add of_the_moment config setting to control number of items
* create year link correctly
* Update search.class.php allow unencoded quotes
* remove non-free graph library pchart
* stop debug_event with empty info
* stop trying to insert art when present
* allow full stream or segment playback
* update composer.lock
* Update artist.class.php
* Update CSS, make color themes uniform
* light theme looking great now!
* stop php error, spelling
* Fixed catalog import for playlists. (Close #1904)
* Add catalog_action to api (CLEAN/ADD only)
* Minor update to UI on mobile hiding the search button in the header
* Reduce libre/ time limits from 60 to 15
* Close #1015
* Add debugging in song.class.php when the file may be corrupt
* remove '[Disk x]' when grouped from all UI when combined.
* Include prefix on artist/album when searching in addition to regular name.
 (You can now type THE Beatles OR Beatles )
* Do not show albums, songs or artists that don't exist. (Error instead of a blank template)
* fix for #1790 (podcast root directory created if missing)
* fix for #1917 (Escaping quotes in input.)
* Translations
* Simplify the transcoding logic into an explicit order. This function had to be one of the most confusing to understand. (Method Target > Player target > Codec Target > Default Target)
* Better handling of groups in mashup and stats pages if enabled.
* STRINGS remove duplicate strings with mismatched case, consolidate strings together and remove upper case strings
* Allow forcing a branch in git updates using github_force_branch
* Update subsonic to decode podcast title/description strings properly.
* Use your settings for mashups instead of hardcoded values
* Group ratings for disks when grouping albums. 
* Reduce queries art.class is making
* Make art.class less busy in debug
* Make test page usable when gettext/composer is missing
  (That does mean it can't be translated though)
* Error for test page and install page.
* Don't show webplayer action buttons on mobile
* Update the header useragent in art.class
* Fix #1865 opened by @a7medo778
* Fix a UI bug where chrome was not showing the rightbar properly
* Group albums by rating for random.class
* Allow segment/full stream by player type. You can now set send_full_stream to true|webplayer|api for individually managing stream segmentation.
* Group ratings for albums. Will now rate each disk of an album if joined.
* Make the log definitions clearer, Lots of rearranging into the following categories.
  * 1 == Basic Errors
  * 2 == Errors + Failures (login attempts etc.)
  * 3 == Full Error Information
  * 4 == General Information
  * 5 == Full Information (cataloging progress etc.)
* Show and allow ratings and flags at the top of Grouped albums
* Group flagging correctly for albums
* Filter zip names to avoid breaking downloads
* Add now_playing shortcut icon to the user page
* Merge PR #1920
* Filter tabs to spaces and blank lines
* Update api::stats to allow multiple object types
* Add artist::get_random to artist class
* Limit API smartlists to only lists that have a limit set. (0 limit will be ignored.)
  • Loading branch information
lachlan-00 committed Jun 20, 2019
1 parent efbdd57 commit 006480b5320b265f5009c4df41eb98260ef5b6af
Showing 642 changed files with 18,132 additions and 20,952 deletions.
@@ -1,35 +1,36 @@
# Issue Template

1. Delete any not relevant section in this template.
2. Before posting any issue, please try to reproduce with latest `develop` branch. Development is quite active and your issue may already have a fix pending for next version. No issue will be considered before confirmation on the `develop` branch.
3. Don't worry for text between `<!--` and `--\>`, it will be automatically removed from the output.

# Environment
## Environment

* Ampache version:
* Web server + version:
* Server operating system:
* Client operating system:
* Ampache version:
* Web server + version:
* Server operating system:
* Client operating system:

<!-- Keep only the affected clients in the list below. Add client application name and version on the right of the client type you use. -->

* Client type:
- Web
- Ampache
- SubSonic
- Plex
- UPnP
- WebDAV
* Client type:
* Web
* Ampache
* SubSonic
* UPnP
* WebDAV

# Settings
## Settings

<!-- Put here a description of your settings or attach ampache.cfg.php after removing sensitive information (server host, database connection...) -->

# Description
## Description

<!-- Put here the bug/feature description and how to reproduce/integrate it. -->

# Logs
## Logs

<!-- [Ampache logs]( and web server access/error logs in attached files. Please also add client application logs if appropriate. -->
@@ -18,7 +18,6 @@
@@ -37,3 +36,6 @@ public/
35 .php_cs
@@ -1,11 +1,14 @@

$finder = PhpCsFixer\Finder::create()
@@ -18,20 +21,20 @@ return PhpCsFixer\Config::create()
'@PSR2' => true,
'strict_param' => false,
'no_trailing_whitespace' => true,
'blank_line_before_return' => true,
'full_opening_tag' => true,
'braces' => ['allow_single_line_closure' => true],
'single_blank_line_at_eof' => true,
'visibility_required' => true,
'binary_operator_spaces' => ['align_equals' => true],
'concat_space' => ['spacing' => 'one'],
'elseif' => true,
'blank_line_after_namespace' => true,
'lowercase_constants' => true,
'encoding' => true,
'no_break_comment' => false,
'method_argument_space' => false,
'no_trailing_whitespace' => true,
'blank_line_before_return' => true,
'full_opening_tag' => true,
'braces' => ['allow_single_line_closure' => true],
'single_blank_line_at_eof' => true,
'visibility_required' => true,
'binary_operator_spaces' => ['align_equals' => true],
'concat_space' => ['spacing' => 'one'],
'elseif' => true,
'blank_line_after_namespace' => true,
'lowercase_constants' => true,
'encoding' => true,
'no_break_comment' => false,
'method_argument_space' => false,
->setIndent(" ")
@@ -4,7 +4,7 @@ filter:
- 'lib/vendor/*'
- 'modules/*'
paths: { }

enabled: true
@@ -1,6 +1,6 @@
url = ""
label = GitHub Issue Number
warnifnoissue = false
number = true
logregex = "#\\d+\n\\d+"
url = ""
label = GitHub Issue Number
warnifnoissue = false
number = true
logregex = "#\\d+\n\\d+"
@@ -2,11 +2,11 @@ language: php
sudo: false
- 5.6
- 7.0
- 7.3

- export PATH="$PATH:$HOME/.composer/vendor/bin"
- composer global require friendsofphp/php-cs-fixer:~2.4.0
- composer global require friendsofphp/php-cs-fixer:~2.12.0
- chmod +x scripts/tests/
@@ -1,12 +1,13 @@
![Logo]( Ampache
# Ampache

![Logo]( Ampache

[]( |

**Notice:** Only pull requests (PR) for bug fixes will be considered.

## Basics

Ampache is a web based audio/video streaming application and file
manager allowing you to access your music & videos from anywhere,
@@ -19,69 +20,63 @@ presents an already organised collection in a useful way. It assumes
that you know best how to manage your files and are capable of
choosing a suitable method for doing so.

Recommended Version
## Recommended Version

The recommended and most stable version is [git HEAD](
[![Build Status](](

You get the latest version with recent changes and fixes but maybe in an unstable state from our [develop branch](
[![Build Status](](
[![Scrutinizer Code Quality](](
[![Codacy Badge](](
[![Codacy Badge](](
[![Code Climate](](

## Installation

Please see [the wiki](

## Requirements

* A web server. All of the following have been used, though Apache
receives the most testing:
* Apache
* lighttpd
* nginx
* A web server. All of the following have been used, though Apache receives the most testing:
* Apache
* lighttpd
* nginx

* PHP 5.6 or greater.

* PHP modules:
* hash
* session
* json
* simplexml (optional)
* curl (optional)
* hash
* session
* json
* simplexml (optional)
* curl (optional)

* For FreeBSD The following modules must be loaded:
* php-xml
* php-dom
* For FreeBSD The following php modules must be loaded:
* php-xml
* php-dom

* MySQL 5.x
* MySQL 5.x / MariaDB 10.x

## Upgrading

If you are upgrading from an older version of Ampache we recommend
moving the old directory out of the way, extracting the new copy in
its place and then copying the old /config/ampache.cfg.php, /rest/.htaccess,
and /play/.htaccess files if any. All database updates will be handled by Ampache.
/channel/.htaccess, and /play/.htaccess files if any.
All database updates will be handled by Ampache.

## License

Ampache is free software; you can redistribute it and/or
modify it under the terms of the GNU Affero General Public License v3 (AGPLv3)
as published by the Free Software Foundation.

Ampache includes some [external modules]( that carry their own licensing.

## Translations

Ampache is currently translated (at least partially) into the
following languages. If you are interested in updating an existing
@@ -91,25 +86,21 @@ for more instructions.

Translation progress so far:


## Credits

Thanks to all those who have helped make Ampache awesome: [Credits](docs/ACKNOWLEDGEMENTS)

Contact Us
## Contact Us

Hate it? Love it? Let us know! Dozens of people send ideas for amazing new features, report bugs and further develop Ampache actively. Be a part of Ampache with it's more than 10 years long history and get in touch with an awesome and friendly community!

* For Live discussions, visit us on our IRC Channel at #ampache or alternative via a [web based chat client](
* For harder cases or general discussion about Ampache take a look at our [Google Groups Forum](!forum/ampache)
* Found a bug or Ampache isn't working as expected? Please refer to the [Issues Template]( and head over to our [Issue Tracker](

Further Information and basic Help
## Further Information and basic Help

* Everything related to the Ampache Project can be found on our [Public Repository](
* Want to know, how to get Apache to work or learn more about the functions? See our [Documentation](

0 comments on commit 006480b

Please sign in to comment.
You can’t perform that action at this time.