New in 23

    * emms-radio-browser.el: an EMMS client for radio-brower API.
    * emms.el: add `insert-current' to `define-emms-source' macro.
    * emms-filters.el: filter and search the metadata cache.
    * emms-browser.el: filter and search using emms-filters.el.

    Special thank you to Fran Burstall and Erica Lina Qi


New in 22

    * emms-volume-mpv.el: raise or lower the volume of mpv (new file).
    * emms-player-mpd.el: Match HTTPS URLs in MPD player.
    * emms-mode-line.el: Use character width to display the track description.
    * emms-info-exiftool.el: ensure numeric album titles and info are strings.
    * Exanded documentation for playlist lock functions.


New in 21

    * emms.el: new function `emms-playlist-length' and `emms-playlist-total-playing-time'.
    * emms.el: `emms-repeat-track' is now buffer local.
    * emms-lyrics-lrclib.el New module for fetching synchronized lyrics from LRCLIB.
    * emms-browser.el: Use pre-defined convert when caching thumbnails.
    * emms-info-native-mp3.el: Fix possible type error in MP3 duration decoding.
    * Add album artist to metaflac, tag editor, playlist sort and limit.
    * Add active playlist lock, browse and send songs from other playlists.


New in 20.2

    * Fix `emms-single-track' not working with mpv.
    * emms-source-beets.el: Fix filter not cleared over multiple calls
    * emms-player-mpd: fixed albumartist not being recorded from mpd.
    * Remove references in code to defunct services.


New in 20.1

    * emms-info.el: add `emms-info-init-done-hook'.


New in 20

    * emms-volume-pulse.el: Deal with pactl being translated correctly.
    * beets: Add `sort' argument controlling sorting of added tracks.
    * emms-listenbrainz-scrobbler.el: new feature.
    * emms-cue.el: Use completing-read to jump to tracks in cue file.
    * emms-playlist-sort.el: `..-sort-shuffle' and `..-sort-by-random' aliases.


New in 19

    * emms-source-beets.el: EMMS source utilizing a beets library database.
    * emms-playing-time.el: show hours in playing time.
    * emms-player-mpd.el: Factor check for remote files into a function.
    * emms-player-mpd.el: Only play using MPD if the file is in the right directory.
    * emms-info.el: Better default display of tracks with composer, artist, title, and album fields.
    * emms-mode-line.el: truncate overly long descriptions.
    * Documentation updates.


New in 18

    * emms-player-mpv.el: remove emms-player-mpv-ipc-conn-emacs-26.1-workaround.
    * emms-player-mpv.el: remove long-deprecated --input-file=fifo support.
    * emms-playlist-mode.el: shift a track up or down by a line.
    * emms-playlist-limit.el: add limiting to note.


New in 17

    * Automatic detection of existing players via `emms-setup-discover'.
    * Autodetect GNU find.
    * Native decoding of playing time for `emms-info-native'.
    * Add info support for SNES SPC files.


New in 16

    * emms-info-ogginfo: Avoid writing ogginfo tags over 1k.
    * emms-streams.el: Updated URLs, avoid early loading errors.
    * emms-player-mpd.el: Use native relative seeking.
    * emms-player-mpd.el: Fix consume and random modes in MPD.


New in 15

    * emms-source-playlist.el: add native playlist to cache.
    * emms-mpris.el: add shuffle and loopstatus.
    * emms-mpris.el: fix artUrl metatadata issues.
    * emms-volume-pulse.el, emms-volume-amixer.el, emms.el: unified `get' interface.
    * emms-mark.el: fix bug when setting `emms-playlist-default-major-mode'.
    * emms-playlist-mode.el: Do not run `emms-playlist-mode' at the wrong time.
    * emms-browser.el: Fix bug in emms-browser-format-spec.
    * Documentation improvements and updates.


New in 14

    * emms.el: Fix emms-seek-* functions to work with number arguments.
    * emms-mpris.el: Fix Seek and SetPosition methods, implement Properties.GetAll method.


New in 13

    * emms-mpris.el: provides a dbus interface to EMMS.
    * quickstart section in the manual has been improved.


New in 12

    * emms-volume-pulse.el: Try to find the default sink.
    * `emms-setup-discover-players' automatic player discovery.
    * emms.el: reverse the order players are collected.
    * emms-browser.el: tab now toggles subitems.
    * emms.el: accept timestamps in emms-seek*.
    * emms-playlist-mode.el: Prefer using dired-jump.
    * emms-playlist-mode.el (emms-playlist-mode-goto-dired-at-point): Use
      dired-jump, optionally opening the dired buffer in other-window.


New in 11

    * Bug fix: emms-info-exiftool.el now handles numeric song titles gracefully.
    * Cache is now saved after tag editing.
    * Minor bug fixes in emms-tag-editor.el and emms-streams.el.


New in 10

    * emms-player-mpv.el: bug fixes and improvments (details in VC history).
    * emms-player-mpd.el: bug fixes and improvments (details in VC history).


New in 9

    * emms-player-mpd.el: playing order fix.


New in 8

    * emms-player-mpv.el: graceful handling of no icy-title.
    * Prune defuct streams from the list.
    * Notify if `emms-player-list' is empty.


New in 7.8

    * Fix to Libre.FM scrobbing.
    * Multiple improvements to emms-player-mpv.el.


New in 7.7

    * Add sndioctl support.
    * Use thing-at-point for URLs.
    * Add player-preference interface.


New in 7.6

    * Change the way we write the NEWS file: "New in..." instead of "News since...".
    * emms-player-mpv.el: Fix customize.
    * Document how `emms-player-mpv-update-metadata' works.
    * emms-player-mpd: fix caching behavior.


News since version 7.4

  - emms-player-mpv.el: fix reconnect-playback-restart issue.


News since version 7.3

  - emms-player-mpv.el: explicitly unpause after switching to a new track.


News since version 7.2

  - Add support for the audiotools tracktag executable.
  - Errors reading track metadata no longer stalls building the playlist.


News since version 7.1

  - Make it possible to force-update Emms cache.
  - Myriad bug fixes and code improvements.
  - Move jack.el into the Emms namespace.


News since version 7.0

  - Add authinfo support for libre.fm streaming.
  - Allow easily disabling the icon in the modeline.


News since version 6.3

  - Native reading of file metadata via emms-info-native.
  - emms-tag-editor: add pipe capability.
  - Compatibility with lexical scoping.
  - Improvements to the fine manual.


News since version 6.2

  - Updated documentation


News since version 5.4

  - Emms is now available via the GNU ELPA repository.
  - New info method: tinytag.
  - New info method: exiftool.
  - emms-volume.el: Fix missing quote in emms-volume-change-function.
  - namespace cleanup (emms-later-do.el).


News since version 5.3

  - Updated Website launched.
  - New and simplified emms-streams.el implementation.
  - New streaming radio stations.
  - Use track-at-point as a hint for guessing emms-add directory.
  - Bug fix: prevent skipping track when switching them during mpv playback.
  - Mixerctl now availabe in custom interface.


News since version 5.2

  - emms-volume-mixerctl.el: mixerctl volume control.
  - emms-playlist-save: improve behavior.
  - emms-playing-time: add a count-down timer display style.
  - Try to auto-detect the appropriate volume control.


News since version 5.1

  - emms-browser.el: faster thumbnail cache lookups.
  - emms-player-mpd.el: Parse disc number for mpd tracks.
  - Make thing-at-point behavior more consistent.
  - Remove redundant functions in code.
  - Allow changing the mode-line icon.
  - Bug fix: emms-player-mode, more consistent behavior.
  - Bug fix: emms-browser, Don't rely on (interactive "r").


News since version 5.0

  - Add `emms-toggle-single-track'.
  - Fix the way emms-score skips tracks.
  - Safer key-binding for interactively killing the playlist buffer.
  - Bug fix: emms-show-all quit now behaves well.
  - Bug fix: Metalplaylist focus would error without a current buffer.
  - emms-playlist-sort sorts the visible playlist.
  - Rewrite emms-playlist-limit implementation. Now operates on the
    current buffer rather than the current playlist. Add
    emms-playlist-limit-to-description.
  - Rewrite mpv backend to use long-running mpv instances controlled
    over json-rpc protocol for newer versions.


News since version 4.4

  - Add Org-style "TAB" binding to cycle through the different levels of expansions.
  - Bind emms-browser-move-up-level to "^".
  - Make "RET" (emms-add-tracks) add all tracks in region or with numeric argument
    that many tracks.
  - Supersede emms-browser-delete-files with emms-browser-remove-tracks to
    remove tracks from browser without deleting files.  Use prefix argument to
    get the old behaviour.  Regions and numeric argument are supported.
  - Add emms-cache-reset.
  - Use the "album artist" instead of the "artist" browser node by default.
  - Bug fix: emms-volume-pulse multi-digit volume numbers.
  - Bug fix: emms-smart-browse "cascading" from a browser search.
  - Bug fix: fix fallback thumbnail filter.
  - Add mpv backend support.
  - Speed up info processing.
  - Add Opus info support via emms-info-opusinfo.el.
  - Code modernizations thanks to Pierre Neidhardt.
  - Tagging mp3 files v2.x files now works via mid3v2.
  - Add dynamic thumbnail caching.
  - Improve emms-metaplaylist-mode.


News since version 4.3:

  - emms-volume-amixer.el: card id can be customized
  - Bug fix: set-playlist-buffer listing.
  - emms-source-file-directory-tree-find now follows symlinks.
  - Playlists can now be sorted by mtime.
  - Move to cl-lib.
  - Improve emms-volume.
  - Bug fix: fix mpg321 autoplay.


News since version 4.2:

  - Limit network lookups in Browser mode.
  - New (C++) emms-print-metadata brings more TagLib features.
  - Compilation warnings gone (excl. cl).
  - Bug fix: emms-lyrics free variable fix.


News since version 4.1:

  - Removed defunct streams.
  - Various emms-tag-editor bug fixes.
  - Bug fix: Info file now installs with correct suffix.
  - Bug fix: `make install' now installs emms-print-metadata.


News since version 4.0:

  - Change the default behavior of C-k in emms-playlist-mode.
  - Covers can have several extensions.  See
    `emms-browser-covers-file-extensions'.
  - Libre.fm login details can, and should, be stored in authinfo now.
  - Possible to set volume via PulseAudio pactl via
    emms-volume-pulse.el.
  - emms-lyrics.el now uses eww if present.  Also EMMS tries to fetch
    non-Chinese lyrics from lyricwiki.org.
  - Add HTTPS support where possible.
  - Sort using locale language in the browser, if possible.
  - emms-setup.el has been simplified.
  - The Emms manual has been revised to help new users.
  - New feature: M-x emms-show-all.


News since version 3.0:

  - Add GNU FM support.
  - Added mp4, m4a to the extensions handled by emms-info-libtag.
  - Play tracks randomly.
  - Extend MPD player support.
  - Add pause-resume support for lyrics display.
  - New implementation of emms-print-metadata.
  - Support both XEmacs and Emacs to highlight playing lyrics.
  - Add support for disc-number sorting of FLAC files.
  - New function to allow custom browser track-formats to display
    track duration.
  - Drop support for emms-player-gstreamer, Last.fm.
  - emms-player-mplayer: Remove code for loading movie subtitles
    automatically by emms, since mplayer has an option
    (`sub-fuzziness') controlling that.
  - Support displaying lyrics in a dedicated buffer, to highlight playing lyric.
  - Fix make install on Cygwin.
  - Compilation errors cleanup.


News since version 2.1:

  - Saving bookmarks in individual tracks is now supported.
  - Support deleting files from the cache.
  - Add mms:// URL support for emms-player-mplayer.
  - Implement pause, resume, and seek support for
    emms-player-alsaplayer.
  - A new player called emms-player-timidity has been implemented
    which is capable of playing midi files.
  - A new player called emms-player-fluidsynth is also capable of
    playing midi files.
  - A new player called emms-player-xine (in emms-player-xine.el) is
    capable of using Xine to play tracks.
  - Hitting "<" or ">" in emms-playlist-mode causes seeking backward
    and forward, respectively.
  - New file jack.el allows jackd to be started from within emacs, and
    permits clients to be connected or disconnected.
  - New file emms-tag-editor.el is capable of editing track
    information in songs.
  - New file emms-mark.el allows tracks in a playlist to be marked and
    operated on, much like dired mode.
  - New file emms-lastfm.el implements submitting track information to
    Last.fm and playing Last.fm radio streams.  Support for playing
    these streams has been added to emms-streams.el.
  - New file emms-i18n.el adds support for handling coding systems
    properly in process input/output.  This is currently only used by
    emms-info-mp3info.el.
  - New file emms-history.el causes playlists to be saved
    automatically when exiting Emacs.
  - emms-player-mpd:
    - Using the emms-browser to insert and play tracks now works
      properly with emms-player-mpd.
    - Display the correct error message if an error occurs while
      trying to play a stream.
    - Handle any encoding errors that occur during playback.
    - Integrate with emms-lastfm.el in `emms-player-mpd-show', if
      emms-lastfm is loaded and active.
  - emms-playing-time supports different display styles now.
  - emms-lyrics: Now support lyrics auto-scrolling.
  - emms-player-mplayer: Capable of loading movie subtitles
    automatically now.


News since version 2.0:

  - A new player that uses mpg321's remote mode is now available
    (emms-player-mpg321-remote)--this allows seeking and copes with
    errors in files.
  - A metadata browser has been added in emms-browser.el.
  - Recording of the time a track was last played is now supported.
  - emms-play-* and emms-add-* functions now toggle their play/add
    behavior when a prefix argument is supplied.
  - EMMS now caches tracks, which speeds up loading of large
    collections with info tags considerably.
  - EMMS now knows how to change the volume (emms-volume.el).
  - When playing a playlist from emms-playlist-mode, EMMS now
    optionally opens a new buffer for this playlist.

User-visible bug fixes:

  - The emms-playlist-mode is now much faster.
  - MP3s with errors are now playable when using the remote player.
