<commit_before>*********
Changelog
*********

This changelog is used to track all major changes to Mopidy.

v0.14.0 (UNRELEASED)
====================

The 0.14 release has a clear focus on two things: the new configuration system
and extension support. Mopidy's documentation has also been greatly extended
and improved.

Since the last release a month ago, we've closed or merged 51 issues and pull
requests. A total of seven :ref:`authors <authors>` have contributed, including
one new.

**Dependencies**

- setuptools or distribute is now required. We've introduced this dependency to
  use setuptools' entry points functionality to find installed Mopidy
  extensions.

**New configuration system**

- Mopidy has a new configuration system based on ini-style files instead of a
  Python file. This makes configuration easier for users, and also makes it
  possible for Mopidy extensions to have their own config sections.

  As part of this change we have cleaned up the naming of our config values.

  To ease migration we've made a tool named :option:`mopidy-convert-config` for
  automatically converting the old ``settings.py`` to a new ``mopidy.conf``
  file. This tool takes care of all the renamed config values as well. See
  :ref:`mopidy-convert-config` for details on how to use it.

- A long wanted feature: You can now enable or disable specific frontends or
  backends without having to redefine :attr:`~mopidy.settings.FRONTENDS` or
  :attr:`~mopidy.settings.BACKENDS` in your config. Those config values are
  gone completely.

**Extension support**

- Mopidy now supports extensions. This means that any developer now easily can
  create a Mopidy extension to add new control interfaces or music backends.
  This helps spread the maintenance burden across more developers, and also
  makes it possible to extend Mopidy with new backends the core developers are
  unable to create and/or maintain because of geo restrictions, etc. If you're
  interested in creating an extension for Mopidy, read up on
  :ref:`extensiondev`.

- All of Mopidy's existing frontends and backends are now plugged into Mopidy
  as extensions, but they are still distributed together with Mopidy and are
  enabled by default.

- The NAD mixer have been moved out of Mopidy core to its own project,
  Mopidy-NAD. See :ref:`ext` for more information.

- <NAME> has made the first two external extensions for Mopidy: a backend
  for playing music from Soundcloud, and a backend for playing music from a
  Beets music library. See :ref:`ext` for more information.

**Command line options**

- The command option :option:`mopidy --list-settings` is now named
  :option:`mopidy --show-config`.

- The command option :option:`mopidy --list-deps` is now named
  :option:`mopidy --show-deps`.

- What configuration files to use can now be specified through the command
  option :option:`mopidy --config`, multiple files can be specified using colon
  as a separator.

- Configuration values can now be overridden through the command option
  :option:`mopidy --option`. For example: ``mopidy --option
  spotify/enabled=false``.

- The GStreamer command line options, :option:`mopidy --gst-*` and
  :option:`mopidy --help-gst` are no longer supported. To set GStreamer debug
  flags, you can use environment variables such as :envvar:`GST_DEBUG`. Refer
  to GStreamer's documentation for details.

**Spotify backend**

- Add support for starred playlists, both your own and those owned by other
  users. (Fixes: :issue:`326`)

- Fix crash when a new playlist is added by another Spotify client. (Fixes:
  :issue:`387`)

**MPD frontend**

- Playlists with identical names are now handled properly by the MPD frontend
  by suffixing the duplicate names with e.g. ``[2]``. This is needed because
  MPD identify playlists by name only, while Mopidy and Spotify supports
  multiple playlists with the same name, and identify them using an URI.
  (Fixes: :issue:`114`)

**MPRIS frontend**

- The frontend is now disabled if the :envvar:`DISPLAY` environment variable is
  unset. This avoids some harmless error messages, that have been known to
  confuse new users debugging other problems.<commit_msg>spotify: Fix for #387 fixes #425 too<commit_after>*********
Changelog
*********

This changelog is used to track all major changes to Mopidy.

v0.14.0 (UNRELEASED)
====================

The 0.14 release has a clear focus on two things: the new configuration system
and extension support. Mopidy's documentation has also been greatly extended
and improved.

Since the last release a month ago, we've closed or merged 53 issues and pull
requests. A total of seven :ref:`authors <authors>` have contributed, including
one new.

**Dependencies**

- setuptools or distribute is now required. We've introduced this dependency to
  use setuptools' entry points functionality to find installed Mopidy
  extensions.

**New configuration system**

- Mopidy has a new configuration system based on ini-style files instead of a
  Python file. This makes configuration easier for users, and also makes it
  possible for Mopidy extensions to have their own config sections.

  As part of this change we have cleaned up the naming of our config values.

  To ease migration we've made a tool named :option:`mopidy-convert-config` for
  automatically converting the old ``settings.py`` to a new ``mopidy.conf``
  file. This tool takes care of all the renamed config values as well. See
  :ref:`mopidy-convert-config` for details on how to use it.

- A long wanted feature: You can now enable or disable specific frontends or
  backends without having to redefine :attr:`~mopidy.settings.FRONTENDS` or
  :attr:`~mopidy.settings.BACKENDS` in your config. Those config values are
  gone completely.

**Extension support**

- Mopidy now supports extensions. This means that any developer now easily can
  create a Mopidy extension to add new control interfaces or music backends.
  This helps spread the maintenance burden across more developers, and also
  makes it possible to extend Mopidy with new backends the core developers are
  unable to create and/or maintain because of geo restrictions, etc. If you're
  interested in creating an extension for Mopidy, read up on
  :ref:`extensiondev`.

- All of Mopidy's existing frontends and backends are now plugged into Mopidy
  as extensions, but they are still distributed together with Mopidy and are
  enabled by default.

- The NAD mixer have been moved out of Mopidy core to its own project,
  Mopidy-NAD. See :ref:`ext` for more information.

- <NAME> has made the first two external extensions for Mopidy: a backend
  for playing music from Soundcloud, and a backend for playing music from a
  Beets music library. See :ref:`ext` for more information.

**Command line options**

- The command option :option:`mopidy --list-settings` is now named
  :option:`mopidy --show-config`.

- The command option :option:`mopidy --list-deps` is now named
  :option:`mopidy --show-deps`.

- What configuration files to use can now be specified through the command
  option :option:`mopidy --config`, multiple files can be specified using colon
  as a separator.

- Configuration values can now be overridden through the command option
  :option:`mopidy --option`. For example: ``mopidy --option
  spotify/enabled=false``.

- The GStreamer command line options, :option:`mopidy --gst-*` and
  :option:`mopidy --help-gst` are no longer supported. To set GStreamer debug
  flags, you can use environment variables such as :envvar:`GST_DEBUG`. Refer
  to GStreamer's documentation for details.

**Spotify backend**

- Add support for starred playlists, both your own and those owned by other
  users. (Fixes: :issue:`326`)

- Fix crash when a new playlist is added by another Spotify client. (Fixes:
  :issue:`387`, :issue:`425`)

**MPD frontend**

- Playlists with identical names are now handled properly by the MPD frontend
  by suffixing the duplicate names with e.g. ``[2]``. This is needed because
  MPD identify playlists by name only, while Mopidy and Spotify supports
  multiple playlists with the same name, and identify them using an URI.
  (Fixes: :issue:`114`)

**MPRIS frontend**

- The frontend is now disabled if the :envvar:`DISPLAY` environment variable is
  unset. This avoids some harmless error messages, that have been known to
  confuse new users debugging other problems.
{'fraction_non_alphanumeric': 0.07597951649398595, 'fraction_numerical': 0.005597237108491128, 'mean_word_length': 4.209677419354839, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4581148', 'n_tokens_mistral': 2336, 'n_tokens_neox': 2256, 'n_words': 1164}