707 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			707 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
Changelog
 | 
						||
=========
 | 
						||
 | 
						||
You can subscribe to release announcements by:
 | 
						||
 | 
						||
- Following `funkwhale@mastodon.eliotberriot.com <https://mastodon.eliotberriot.com/@funkwhale>`_ on Mastodon
 | 
						||
- Subscribing to the following Atom feed: https://code.eliotberriot.com/funkwhale/funkwhale/commits/develop?format=atom&search=tag
 | 
						||
 | 
						||
This changelog is viewable on the web at https://docs.funkwhale.audio/changelog.html.
 | 
						||
 | 
						||
.. towncrier
 | 
						||
 | 
						||
0.11 (2018-05-06)
 | 
						||
-----------------
 | 
						||
 | 
						||
Upgrade instructions are available at https://docs.funkwhale.audio/upgrading.html
 | 
						||
 | 
						||
Special thanks for this release go to @renon:matrix.org (@Hazmo on Gitlab)
 | 
						||
for bringing Apache2 support to Funkwhale and contributing on other issues.
 | 
						||
Thank you!
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Funkwhale now works behind an Apache2 reverse proxy (!165)
 | 
						||
  check out the brand new documentation at https://docs.funkwhale.audio/installation/index.html#apache2
 | 
						||
  if you want to try it!
 | 
						||
- Users can now request password reset by email, assuming a SMTP server was
 | 
						||
  correctly configured (#187)
 | 
						||
 | 
						||
Enhancements:
 | 
						||
 | 
						||
- Added a fix_track_files command to run checks and fixes against library
 | 
						||
  (#183)
 | 
						||
- Avoid fetching Actor object on every request authentication
 | 
						||
- Can now relaunch errored jobs and batches (#176)
 | 
						||
- List pending requests by default, added a status filter for requests (#109)
 | 
						||
- More structured menus in sidebar, added labels with notifications
 | 
						||
- Sample virtual-host file for Apache2 reverse-proxy (!165)
 | 
						||
- Store high-level settings (such as federation or auth-related ones) in
 | 
						||
  database (#186)
 | 
						||
 | 
						||
 | 
						||
Bugfixes:
 | 
						||
 | 
						||
- Ensure in place imported files get a proper mimetype (#183)
 | 
						||
- Federation cache suppression is now simpler and also deletes orphaned files
 | 
						||
  (#189)
 | 
						||
- Fixed small UI glitches/bugs in federation tabs (#184)
 | 
						||
- X-sendfile not working with in place import (#182)
 | 
						||
 | 
						||
 | 
						||
Documentation:
 | 
						||
 | 
						||
- Added a documentation area for third-party projects (#180)
 | 
						||
- Added documentation for optimizing Funkwhale and reduce its memory footprint.
 | 
						||
- Document that the database should use an utf-8 encoding (#185)
 | 
						||
- Foundations for API documentation with Swagger (#178)
 | 
						||
 | 
						||
 | 
						||
Database storage for high-level settings
 | 
						||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						||
 | 
						||
Due to the work done in #186, the following environment variables have been
 | 
						||
deprecated:
 | 
						||
 | 
						||
- FEDERATION_ENABLED
 | 
						||
- FEDERATION_COLLECTION_PAGE_SIZE
 | 
						||
- FEDERATION_MUSIC_NEEDS_APPROVAL
 | 
						||
- FEDERATION_ACTOR_FETCH_DELAY
 | 
						||
- PLAYLISTS_MAX_TRACKS
 | 
						||
- API_AUTHENTICATION_REQUIRED
 | 
						||
 | 
						||
Configuration for this settings has been moved to database, as it will provide
 | 
						||
a better user-experience, by allowing you to edit these values on-the-fly,
 | 
						||
without restarting Funkwhale processes.
 | 
						||
 | 
						||
You can leave those environment variables in your .env file for now, as the
 | 
						||
values will be used to populate the database entries. We'll make a proper
 | 
						||
announcement when the variables won't be used anymore.
 | 
						||
 | 
						||
Please browse https://docs.funkwhale.audio/configuration.html#instance-settings
 | 
						||
for more information about instance configuration using the web interface.
 | 
						||
 | 
						||
 | 
						||
System emails
 | 
						||
^^^^^^^^^^^^^
 | 
						||
 | 
						||
Starting from this release, Funkwhale will send two types
 | 
						||
of emails:
 | 
						||
 | 
						||
- Email confirmation emails, to ensure a user's email is valid
 | 
						||
- Password reset emails, enabling user to reset their password without an admin's intervention
 | 
						||
 | 
						||
Email sending is disabled by default, as it requires additional configuration.
 | 
						||
In this mode, emails are simply outputed on stdout.
 | 
						||
 | 
						||
If you want to actually send those emails to your users, you should edit your
 | 
						||
.env file and tweak the EMAIL_CONFIG variable. See :ref:`setting-EMAIL_CONFIG`
 | 
						||
for more details.
 | 
						||
 | 
						||
.. note::
 | 
						||
 | 
						||
  As a result of these changes, the DJANGO_EMAIL_BACKEND variable,
 | 
						||
  which was not documented, has no effect anymore. You can safely remove it from
 | 
						||
  your .env file if it is set.
 | 
						||
 | 
						||
 | 
						||
Proxy headers for non-docker deployments
 | 
						||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						||
 | 
						||
For non-docker deployments, add ``--proxy-headers`` at the end of the ``daphne``
 | 
						||
command in :file:`/etc/systemd/system/funkwhale-server.service`.
 | 
						||
 | 
						||
This will ensure the application receive the correct IP address from the client
 | 
						||
and not the proxy's one.
 | 
						||
 | 
						||
 | 
						||
0.10 (2018-04-23)
 | 
						||
-----------------
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Can now import files in-place from the CLI importer (#155)
 | 
						||
 | 
						||
 | 
						||
Enhancements:
 | 
						||
 | 
						||
- Avoid downloading audio files multiple times from remote libraries (#163)
 | 
						||
- Better file import performance and error handling (#144)
 | 
						||
- Import job and batch API and front-end have been improved with better
 | 
						||
  performance, pagination and additional filters (#171)
 | 
						||
- Increased max_length on TrackFile.source, this will help when importing files
 | 
						||
  with a really long path (#142)
 | 
						||
- Player is back in Queue tab (#150)
 | 
						||
 | 
						||
 | 
						||
Bugfixes:
 | 
						||
 | 
						||
- Fail graciously when AP representation includes a null_value for mediaType
 | 
						||
- Fix sidebar tabs not showing under small resolution under Chrome (#173)
 | 
						||
- Fixed broken login due to badly configured Axios (#172)
 | 
						||
- Fixed broken playlist modal after login (#155)
 | 
						||
- Fixed queue reorder or track deletion restarting currently playing track
 | 
						||
  (#151)
 | 
						||
- Radio will now append new track if you delete the last track in queue (#145)
 | 
						||
- Reset all sensitive front-end data on logout (#124)
 | 
						||
- Typos/not showing text due to i18n work (#175)
 | 
						||
 | 
						||
 | 
						||
Documentation:
 | 
						||
 | 
						||
- Better documentation for hardware requirements and memory usage (#165)
 | 
						||
 | 
						||
 | 
						||
In-place import
 | 
						||
^^^^^^^^^^^^^^^
 | 
						||
 | 
						||
This release includes in-place imports for the CLI import. This means you can
 | 
						||
load gigabytes of music into funkwhale without worrying about about Funkwhale
 | 
						||
copying those music files in its internal storage and eating your disk space.
 | 
						||
 | 
						||
`This new feature is documented here <https://docs.funkwhale.audio/importing-music.html#in-place-import>`_
 | 
						||
and require additional configuration to ensure funkwhale and your webserver can
 | 
						||
serve those files properly.
 | 
						||
 | 
						||
**Non-docker users:**
 | 
						||
 | 
						||
Assuming your music is stored in ``/srv/funkwhale/data/music``, add the following
 | 
						||
block to your nginx configuration::
 | 
						||
 | 
						||
    location /_protected/music {
 | 
						||
        internal;
 | 
						||
        alias   /srv/funkwhale/data/music;
 | 
						||
    }
 | 
						||
 | 
						||
And the following to your .env file::
 | 
						||
 | 
						||
    MUSIC_DIRECTORY_PATH=/srv/funkwhale/data/music
 | 
						||
 | 
						||
**Docker users:**
 | 
						||
 | 
						||
Assuming your music is stored in ``/srv/funkwhale/data/music``, add the following
 | 
						||
block to your nginx configuration::
 | 
						||
 | 
						||
    location /_protected/music {
 | 
						||
        internal;
 | 
						||
        alias   /srv/funkwhale/data/music;
 | 
						||
    }
 | 
						||
 | 
						||
Assuming you have the following volume directive in your ``docker-compose.yml``
 | 
						||
(it's the default): ``/srv/funkwhale/data/music:/music:ro``, then add
 | 
						||
the following to your .env file::
 | 
						||
 | 
						||
    # this is the path in the container
 | 
						||
    MUSIC_DIRECTORY_PATH=/music
 | 
						||
    # this is the path on the host
 | 
						||
    MUSIC_DIRECTORY_SERVE_PATH=/srv/funkwhale/data/music
 | 
						||
 | 
						||
 | 
						||
0.9.1 (2018-04-17)
 | 
						||
------------------
 | 
						||
 | 
						||
Bugfixes:
 | 
						||
 | 
						||
- Allow null values for musicbrainz_id in Audio ActivityPub representation
 | 
						||
- Fixed broken permission check on library scanning and too aggressive page
 | 
						||
  validation
 | 
						||
 | 
						||
 | 
						||
0.9 (2018-04-17)
 | 
						||
----------------
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Add internationalization support (#5)
 | 
						||
- Can now follow and import music from remote libraries (#136, #137)
 | 
						||
 | 
						||
 | 
						||
Enhancements:
 | 
						||
 | 
						||
- Added a i18n-extract yarn script to extract strings to PO files (#162)
 | 
						||
- User admin now includes signup and last login dates (#148)
 | 
						||
- We now use a proper user agent including instance version and url during
 | 
						||
  outgoing requests
 | 
						||
 | 
						||
 | 
						||
Federation is here!
 | 
						||
^^^^^^^^^^^^^^^^^^^
 | 
						||
 | 
						||
This is for real this time, and includes:
 | 
						||
 | 
						||
- Following other Funkwhale libraries
 | 
						||
- Importing tracks from remote libraries (tracks are hotlinked, and only cached for a short amount of time)
 | 
						||
- Searching accross federated catalogs
 | 
						||
 | 
						||
Note that by default, federation is opt-in, on a per-instance basis:
 | 
						||
instances will request access to your catalog, and you can accept or refuse
 | 
						||
those requests. You can also revoke the access at any time.
 | 
						||
 | 
						||
Documentation was updated with relevant instructions to use and benefit
 | 
						||
from this new feature: https://docs.funkwhale.audio/federation.html
 | 
						||
 | 
						||
Preparing internationalization
 | 
						||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						||
 | 
						||
Funkwhale's front-end as always been english-only, and this is a barrier
 | 
						||
to new users. The work make Funkwhale's interface translatable was started
 | 
						||
in this release by Baptiste. Although nothing is translated yet,
 | 
						||
this release includes behind the stage changes that will make it possible in
 | 
						||
the near future.
 | 
						||
 | 
						||
Many thank to Baptiste for the hard work and for figuring out a proper solution
 | 
						||
to this difficult problem.
 | 
						||
 | 
						||
Upgrade path
 | 
						||
^^^^^^^^^^^^
 | 
						||
 | 
						||
In addition to the usual instructions from
 | 
						||
https://docs.funkwhale.audio/upgrading.html, non-docker users will have
 | 
						||
to setup an additional systemd unit file for recurrent tasks.
 | 
						||
 | 
						||
This was forgotten in the deployment documentation, but recurrent tasks,
 | 
						||
managed by the celery beat process, will be needed more and more in subsequent
 | 
						||
releases. Right now, we'll be using to clear the cache for federated music files
 | 
						||
and keep disk usage to a minimum.
 | 
						||
 | 
						||
In the future, they will also be needed to refetch music metadata or federated
 | 
						||
information periodically.
 | 
						||
 | 
						||
Celery beat can be enabled easily::
 | 
						||
 | 
						||
    curl -L -o "/etc/systemd/system/funkwhale-beat.service" "https://code.eliotberriot.com/funkwhale/funkwhale/raw/develop/deploy/funkwhale-beat.service"
 | 
						||
    # Also edit /etc/systemd/system/funkwhale.target
 | 
						||
    # and ensure the Wants= line contains the following:
 | 
						||
    # Wants=funkwhale-server.service funkwhale-worker.service funkwhale-beat.service
 | 
						||
    nano /etc/systemd/system/funkwhale.target
 | 
						||
    # reload configuration
 | 
						||
    systemctl daemon-reload
 | 
						||
 | 
						||
Docker users already have celerybeat enabled.
 | 
						||
 | 
						||
 | 
						||
0.8 (2018-04-02)
 | 
						||
----------------
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Add a detail page for radios (#64)
 | 
						||
- Implemented page title binding (#1)
 | 
						||
- Previous Track button restart playback after 3 seconds (#146)
 | 
						||
 | 
						||
 | 
						||
Enhancements:
 | 
						||
 | 
						||
- Added credits to Francis Gading for the logotype (#101)
 | 
						||
- API endpoint for fetching instance activity and updated timeline to use this
 | 
						||
  new endpoint (#141)
 | 
						||
- Better error messages in case of missing environment variables (#140)
 | 
						||
- Implemented a @test@yourfunkwhaledomain bot to ensure federation works
 | 
						||
  properly. Send it "/ping" and it will answer back :)
 | 
						||
- Queue shuffle now apply only to tracks after the current one (#97)
 | 
						||
- Removed player from queue tab and consistently show current track in queue
 | 
						||
  (#131)
 | 
						||
- We now restrict some usernames from being used during signup (#139)
 | 
						||
 | 
						||
 | 
						||
Bugfixes:
 | 
						||
 | 
						||
- Better error handling during file import (#120)
 | 
						||
- Better handling of utf-8 filenames during file import (#138)
 | 
						||
- Converted favicon from .ico to .png (#130)
 | 
						||
- Upgraded to Python 3.6 to fix weird but harmless weakref error on django task
 | 
						||
  (#121)
 | 
						||
 | 
						||
 | 
						||
Documentation:
 | 
						||
 | 
						||
- Documented the upgrade process (#127)
 | 
						||
 | 
						||
 | 
						||
Preparing for federation
 | 
						||
^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						||
 | 
						||
Federation of music libraries is one of the most asked feature.
 | 
						||
While there is still a lot of work to do, this version includes
 | 
						||
the foundation that will enable funkwhale servers to communicate
 | 
						||
between each others, and with other federated software, such as
 | 
						||
Mastodon.
 | 
						||
 | 
						||
Funkwhale will use ActivityPub as it's federation protocol.
 | 
						||
 | 
						||
In order to prepare for federation (see #136 and #137), new API endpoints
 | 
						||
have been added under /federation and /.well-known/webfinger.
 | 
						||
 | 
						||
For these endpoints to work, you will need to update your nginx configuration,
 | 
						||
and add the following snippets::
 | 
						||
 | 
						||
    location /federation/ {
 | 
						||
        include /etc/nginx/funkwhale_proxy.conf;
 | 
						||
        proxy_pass   http://funkwhale-api/federation/;
 | 
						||
    }
 | 
						||
 | 
						||
    location /.well-known/webfinger {
 | 
						||
        include /etc/nginx/funkwhale_proxy.conf;
 | 
						||
        proxy_pass   http://funkwhale-api/.well-known/webfinger;
 | 
						||
    }
 | 
						||
 | 
						||
This will ensure federation endpoints will be reachable in the future.
 | 
						||
You can of course skip this part if you know you will not federate your instance.
 | 
						||
 | 
						||
A new ``FEDERATION_ENABLED`` env var have also been added to control whether
 | 
						||
federation is enabled or not on the application side. This settings defaults
 | 
						||
to True, which should have no consequences at the moment, since actual
 | 
						||
federation is not implemented and the only available endpoints are for
 | 
						||
testing purposes.
 | 
						||
 | 
						||
Add ``FEDERATION_ENABLED=false`` to your .env file to disable federation
 | 
						||
on the application side.
 | 
						||
 | 
						||
To test and troubleshoot federation, we've added a bot account. This bot is available at @test@yourinstancedomain,
 | 
						||
and sending it "/ping", for example, via Mastodon, should trigger
 | 
						||
a response.
 | 
						||
 | 
						||
 | 
						||
 | 
						||
0.7 (2018-03-21)
 | 
						||
----------------
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Can now filter artists and albums with no listenable tracks (#114)
 | 
						||
- Improve the style of the sidebar to make it easier to understand which tab is
 | 
						||
  selected (#118)
 | 
						||
- On artist page, albums are not sorted by release date, if any (#116)
 | 
						||
- Playlists are here \o/ :tada: (#3, #93, #94)
 | 
						||
- Use django-cacheops to cache common ORM requests (#117)
 | 
						||
 | 
						||
 | 
						||
Bugfixes:
 | 
						||
 | 
						||
- Fixed broken import request admin (#115)
 | 
						||
- Fixed forced redirection to login event with
 | 
						||
  API_AUTHENTICATION_REQUIRED=False (#119)
 | 
						||
- Fixed position not being reseted properly when playing the same track
 | 
						||
  multiple times in a row
 | 
						||
- Fixed synchronized start/stop radio buttons for all custom radios (#103)
 | 
						||
- Fixed typo and missing icon on homepage (#96)
 | 
						||
 | 
						||
 | 
						||
Documentation:
 | 
						||
 | 
						||
- Up-to-date and complete development and contribution instructions in
 | 
						||
  README.rst (#123)
 | 
						||
 | 
						||
 | 
						||
0.6.1 (2018-03-06)
 | 
						||
------------------
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Can now skip acoustid on file import with the --no-acoustid flag (#111)
 | 
						||
 | 
						||
 | 
						||
Bugfixes:
 | 
						||
 | 
						||
- Added missing batch id in output during import (#112)
 | 
						||
- Added some feedback on the play button (#100)
 | 
						||
- Smarter pagination which takes a fixed size (#84)
 | 
						||
 | 
						||
 | 
						||
Other:
 | 
						||
 | 
						||
- Completely removed django-cachalot from the codebase (#110). You can safely
 | 
						||
  remove the CACHALOT_ENABLED setting from your .env file
 | 
						||
 | 
						||
 | 
						||
0.6 (2018-03-04)
 | 
						||
----------------
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Basic activity stream for listening and favorites (#23)
 | 
						||
- Switched to django-channels and daphne for serving HTTP and websocket (#34)
 | 
						||
 | 
						||
Upgrades notes
 | 
						||
**************
 | 
						||
 | 
						||
This version contains breaking changes in the way funkwhale is deployed,
 | 
						||
please read the notes carefully.
 | 
						||
 | 
						||
Instance timeline
 | 
						||
^^^^^^^^^^^^^^^^^
 | 
						||
 | 
						||
A new "Activity" page is now available from the sidebar, where you can
 | 
						||
browse your instance activity. At the moment, this includes other users
 | 
						||
favorites and listening, but more activity types will be implemented in the
 | 
						||
future.
 | 
						||
 | 
						||
Internally, we implemented those events by following the Activity Stream
 | 
						||
specification, which will help us to be compatible with other networks
 | 
						||
in the long-term.
 | 
						||
 | 
						||
A new settings page has been added to control the visibility of your activity.
 | 
						||
By default, your activity will be browsable by anyone on your instance,
 | 
						||
but you can switch to a full private mode where nothing is shared.
 | 
						||
 | 
						||
The setting form is available in your profile.
 | 
						||
 | 
						||
Switch from gunicorn to daphne
 | 
						||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
						||
 | 
						||
This release include an important change in the way we serve the HTTP API.
 | 
						||
To prepare for new realtime features and enable websocket support in Funkwhale,
 | 
						||
we are now using django-channels and daphne to serve HTTP and websocket traffic.
 | 
						||
 | 
						||
This replaces gunicorn and the switch should be easy assuming you
 | 
						||
follow the upgrade process described bellow.
 | 
						||
 | 
						||
If you are using docker, please remove the command instruction inside the
 | 
						||
api service, as the up-to-date command is now included directly in the image
 | 
						||
as the default entry point:
 | 
						||
 | 
						||
.. code-block:: yaml
 | 
						||
 | 
						||
    api:
 | 
						||
      restart: unless-stopped
 | 
						||
      image: funkwhale/funkwhale:${FUNKWHALE_VERSION:-latest}
 | 
						||
      command: ./compose/django/gunicorn.sh  # You can remove this line
 | 
						||
 | 
						||
On non docker setups, you'll have to update the [Service] block of your
 | 
						||
funkwhale-server systemd unit file to launch the application server using daphne instead of gunicorn.
 | 
						||
 | 
						||
The new configuration should be similar to this:
 | 
						||
 | 
						||
.. code-block:: ini
 | 
						||
 | 
						||
    [Service]
 | 
						||
    User=funkwhale
 | 
						||
    # adapt this depending on the path of your funkwhale installation
 | 
						||
    WorkingDirectory=/srv/funkwhale/api
 | 
						||
    EnvironmentFile=/srv/funkwhale/config/.env
 | 
						||
    ExecStart=/usr/local/bin/daphne -b ${FUNKWHALE_API_IP} -p ${FUNKWHALE_API_PORT} config.asgi:application
 | 
						||
 | 
						||
Ensure you update funkwhale's dependencies as usual to install the required
 | 
						||
packages.
 | 
						||
 | 
						||
On both docker and non-docker setup, you'll also have to update your nginx
 | 
						||
configuration for websocket support. Ensure you have the following blocks
 | 
						||
included in your virtualhost file:
 | 
						||
 | 
						||
.. code-block:: txt
 | 
						||
 | 
						||
    map $http_upgrade $connection_upgrade {
 | 
						||
        default upgrade;
 | 
						||
        ''      close;
 | 
						||
    }
 | 
						||
 | 
						||
    server {
 | 
						||
        ...
 | 
						||
        proxy_http_version 1.1;
 | 
						||
        proxy_set_header Upgrade $http_upgrade;
 | 
						||
        proxy_set_header Connection $connection_upgrade;
 | 
						||
    }
 | 
						||
 | 
						||
Remember to reload your nginx server after the edit.
 | 
						||
 | 
						||
 | 
						||
0.5.4 (2018-02-28)
 | 
						||
------------------
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Now stop running radio when clearing queue (#98)
 | 
						||
 | 
						||
Bugfixes:
 | 
						||
 | 
						||
- Fixed queue skipping tracks (#91)
 | 
						||
- Now loop properly on queue when we only have one track (#95)
 | 
						||
 | 
						||
 | 
						||
0.5.3 (2018-02-27)
 | 
						||
------------------
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Added admin interface for radios, track files, favorites and import requests (#80)
 | 
						||
- Added basic instance stats on /about (#82)
 | 
						||
- Search now unaccent letters for queries like "The Dø" or "Björk" yielding more results (#81)
 | 
						||
 | 
						||
 | 
						||
Bugfixes:
 | 
						||
 | 
						||
- Always use username in sidebar (#89)
 | 
						||
- Click event outside of player icons (#83)
 | 
						||
- Fixed broken import because of missing transaction
 | 
						||
- Now always load next radio track on last queue track ended (#87)
 | 
						||
- Now exclude tracks without file from radio candidates (#88)
 | 
						||
- skip to next track properly on 40X errors (#86)
 | 
						||
 | 
						||
 | 
						||
Other:
 | 
						||
 | 
						||
- Switched to towncrier for changelog management and compilation
 | 
						||
 | 
						||
 | 
						||
0.5.2 (2018-02-26)
 | 
						||
------------------
 | 
						||
 | 
						||
- Fixed broken file import due to wrong url (#73)
 | 
						||
- More accurate mimetype detection
 | 
						||
- Fixed really small size on small screens
 | 
						||
- Added masonry layout for artists, requests and radios (#68)
 | 
						||
- We now have a favicon!
 | 
						||
- Fixed truncated play icon (#65)
 | 
						||
 | 
						||
 | 
						||
0.5.1 (2018-02-24)
 | 
						||
------------------
 | 
						||
 | 
						||
- Front: Fixed broken ajax call on radio builder (#69)
 | 
						||
- Front: Shuffle now restart next track from beginning (#70)
 | 
						||
- Front: volume slider should now have the same style everywhere (#72)
 | 
						||
 | 
						||
 | 
						||
0.5 (2018-02-24)
 | 
						||
----------------
 | 
						||
 | 
						||
- Front: Now reset player colors when track has no cover (#46)
 | 
						||
- Front: play button now disabled for unplayable tracks
 | 
						||
- API: You can now enable or disable registration on the fly, via a preference (#58)
 | 
						||
- Front: can now signup via the web interface (#35)
 | 
						||
- Front: Fixed broken redirection on login
 | 
						||
- Front: Fixed broken error handling on settings and login form
 | 
						||
 | 
						||
About page:
 | 
						||
 | 
						||
There is a brand new about page on instances (/about), and instance
 | 
						||
owner can now provide a name, a short and a long description for their instance via the admin (/api/admin/dynamic_preferences/globalpreferencemodel/).
 | 
						||
 | 
						||
Transcoding:
 | 
						||
 | 
						||
Basic transcoding is now available to/from the following formats : ogg and mp3.
 | 
						||
 | 
						||
*This is still an alpha feature at the moment, please report any bug.*
 | 
						||
 | 
						||
This relies internally on FFMPEG and can put some load on your server.
 | 
						||
It's definitely recommended you setup some caching for the transcoded files
 | 
						||
at your webserver level. Check the the exemple nginx file at deploy/nginx.conf
 | 
						||
for an implementation.
 | 
						||
 | 
						||
On the frontend, usage of transcoding should be transparent in the player.
 | 
						||
 | 
						||
Music Requests:
 | 
						||
 | 
						||
This release includes a new feature, music requests, which allows users
 | 
						||
to request music they'd like to see imported.
 | 
						||
Admins can browse those requests and mark them as completed when
 | 
						||
an import is made.
 | 
						||
 | 
						||
0.4 (2018-02-18)
 | 
						||
----------------
 | 
						||
 | 
						||
- Front: ambiant colors in player based on current track cover (#59)
 | 
						||
- Front: simplified front dev setup thanks to webpack proxy (#59)
 | 
						||
- Front: added some unittests for the store (#55)
 | 
						||
- Front: fixed broken login redirection when 401
 | 
						||
- Front: Removed autoplay on page reload
 | 
						||
- API: Added a /instance/settings endpoint
 | 
						||
- Front: load /instance/settings on page load
 | 
						||
- Added settings to report JS and Python error to a Sentry instance
 | 
						||
  This is disabled by default, but feel free to enable it if you want
 | 
						||
  to help us by sending your error reports :) (#8)
 | 
						||
 | 
						||
 | 
						||
0.3.5 (2018-01-07)
 | 
						||
------------------
 | 
						||
 | 
						||
- Smarter BACKEND_URL in frontend
 | 
						||
 | 
						||
 | 
						||
0.3.4 (2018-01-07)
 | 
						||
------------------
 | 
						||
 | 
						||
- Fixed wrong URL construction in ajax call
 | 
						||
 | 
						||
 | 
						||
0.3.3 (2018-01-07)
 | 
						||
------------------
 | 
						||
 | 
						||
- Users can now create their own dynamic radios (#51)
 | 
						||
 | 
						||
 | 
						||
0.3.2
 | 
						||
------------------
 | 
						||
 | 
						||
- Fixed an issue in the main dockerfile
 | 
						||
 | 
						||
 | 
						||
0.3.1
 | 
						||
------------------
 | 
						||
 | 
						||
- Revamped all import logic, everything is more tested and consistend
 | 
						||
- Can now use Acoustid in file imports to automatically grab metadata from musicbrainz
 | 
						||
- Brand new file import wizard
 | 
						||
 | 
						||
 | 
						||
0.2.7
 | 
						||
------------------
 | 
						||
 | 
						||
- Shortcuts: can now use the ``f`` shortcut to toggle the currently playing track
 | 
						||
  as a favorite (#53)
 | 
						||
- Shortcuts: avoid collisions between shortcuts by using the exact modifier (#53)
 | 
						||
- Player: Added looping controls and shortcuts (#52)
 | 
						||
- Player: Added shuffling controls and shortcuts (#52)
 | 
						||
- Favorites: can now modify the ordering of track list (#50)
 | 
						||
- Library: can now search/reorder results on artist browsing view (#50)
 | 
						||
- Upgraded celery to 4.1, added endpoint logic for fingerprinting audio files
 | 
						||
- Fixed #56: invalidate tokens on password change, also added change password form
 | 
						||
- Fixed #57: now refresh jwt token on page refresh
 | 
						||
- removed ugly dividers in batch import list
 | 
						||
- Fixed a few padding issues
 | 
						||
- Now persist/restore queue/radio/player state automatically
 | 
						||
- Removed old broken imports
 | 
						||
- Now force tests paths
 | 
						||
- Fixed #54: Now use pytest everywhere \o/
 | 
						||
- Now use vuex to manage state for favorites
 | 
						||
- Now use vuex to manage state for authentication
 | 
						||
- Now use vuex to manage state for player/queue/radios
 | 
						||
 | 
						||
 | 
						||
0.2.6 (2017-12-15)
 | 
						||
------------------
 | 
						||
 | 
						||
- Fixed broken Dockerfile
 | 
						||
 | 
						||
 | 
						||
0.2.5 (2017-12-15)
 | 
						||
------------------
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Import: can now specify search template when querying import sources (#45)
 | 
						||
- Login form: now redirect to previous page after login (#2)
 | 
						||
- 404: a decent 404 template, at least (#48)
 | 
						||
 | 
						||
Bugfixes:
 | 
						||
 | 
						||
- Player: better handling of errors when fetching the audio file (#46)
 | 
						||
- Csrf: default CSRF_TRUSTED_ORIGINS to ALLOWED_HOSTS to avoid Csrf issues on admin (#49)
 | 
						||
 | 
						||
Tech:
 | 
						||
 | 
						||
- Django 2 compatibility, lot of packages upgrades (#47)
 | 
						||
 | 
						||
 | 
						||
0.2.4 (2017-12-14)
 | 
						||
------------------
 | 
						||
 | 
						||
Features:
 | 
						||
 | 
						||
- Models: now store relese group mbid on Album model (#7)
 | 
						||
- Models: now bind import job to track files (#44)
 | 
						||
 | 
						||
Bugfixes:
 | 
						||
 | 
						||
- Library: fixen broken "play all albums" button on artist cards in Artist browsing view (#43)
 |