1.4.2
-----
 1. When guessing song details from filename (due to missing tags), remove any
    extension - not just three letter extensions!
 2. In tag editor, only show '(Various)' hint for the 'All tracks' entry.
 3. Also capitalise composer in tag editor.
 4. Resize device properties dialog when changing transcoder.
 5. Initialise sidebar icon sizes before constructing.
 6. Display multiple genres as separate entries in playlists page genre combo.
 7. Resize cover in grouped view if it is too wide.
 8. In context view, when creating links to similar artists compare artists
    names case-insensitively.
 9. Fix downloading of podcasts when url is redirected.
10. If 'force single click' is disabled, then double-click on icon view will
    not add artist/album to playqueue but navigate into.
11. When using Cache config page to clear disk cover/scaled-cover cache, also
    clear memory cache.
12. Allow to change stream, and online-service, filter search category without
    closing current search field.
13. Fix combo-box text changed signal for Qt5 builds.
14. Don't have double spacer when cover-widget is hidden.
15. Fix crash in context view if song tracks changed quickly.
16. Better method of setting disabled opacity for monochrome icons.
17. Fix parsing of podcast RSS files containing "content" tag.
18. Set user-agent for podcast URL queries, otherwise requests can fail.
19. Use https://googledrive.com/host/XXX and not
    https://drive.google.com/uc?export=download&id=XXX for stream provider URLs,
    etc. Seems like the drive.google.com URLs have download limits.
20. Fix crash when changing buttons of dialogs in Qt builds.
21. Fix setting of played state for podcasts.
22. Fix display of unplayed podcast episode counts.
23. Check if downloading podcasts in closeEvent() as well as quit()
24. If initial settings wizard is canceled, ensure that it is shown at next
    start.
25. Ignore empty station names in shoutcast and dirble.
26. Fix potential crash when parsing cue files.
27. Replace any of (/ ? < > \ : * | ") with underscore when creating cover file
    cache names under windows.

1.4.1
-----
 1. Remove unused var warning when compiling without online services.
 2. Remove some moc/QObject warnings in KDE builds without streams or http
    server.
 3. Update current song to scrobble, even if disabled, so that when enabled we
    can scrobble.
 4. Seems like MPDSribble itself is broken with regards to sending "love"
    status, so remove MPDScribble from list of scrobblers.
 5. Last.fm replies are XML, so decode these properly!
 6. Don't log scrobbler session key to debug file.
 7. Remove extra margin in podcast settings dialog.
 8. When adjusting track numbers in tag editor, start from first actual track.
 9. Only enable 'center on current track' action if there is a current track.
10. Use comma to split multiple genres in tooltip and table views.
11. Don't URL encode scrobble keys, just values.
12. If now playing has been sent, track has not been scrobbled, then when track
    is played after beeing paused for more than 5 seconds resend now playing.
13. Rescrobble, and re-send now playing, if track is repeated.
14. Exceptions are required for all non Qt5 builds.
15. Fix crash in settings dialog when some system-tray options removed.
16. Use QIcon::fromTheme to set system-tray icon.
17. Fix compilation with older ffmpeg versions.
18. Fix compilation with taglib versions older than 1.8
19. Use KDE cmake macro to enable exceptions in KDE builds.
20. Don't alter text of 'Other Views' tab in preferences dialog if streams,
    online, and device support are disabled - as there are still 2 views;
    folders and search.
21. Only remove cached scaled covers if updated via cover dialog.
22. If auto-splitter hide is disabled, then restore sizes.
23. ReplayGain settings only valid for MPD v0.16 onwards.
24. Don't center align context view headers and images - as this does not
    always work for images.
25. Attempt to align song view selector with header.
26. Remove 'Add albums in random order' from search view context menu.
27. Remove mention of streams from initial settings wizard file settings.
28. Fix updating of playqueue background when option changed in preferences
    dialog.
29. Fix reading of playqueue, and context, backdrop settings.
30. Fix uneven view heights when touch friendly setting is enabled.

1.4.0
-----
  1. Allow setting of custom device name for UMS and MTP devices.
  2. Allow to use table-view for search results.
  3. Add option to auto-switch to context view X seconds after playback starts,
     and switch back X seconds after stopped.
  4. Add option to auto-scroll lyrics - accessed via context-menu in lyrics
     view.
  5. Use smaller font for sidebar.
  6. Make cover-widget more stylized and smaller.
  7. Move cover-widget next to song details.
  8. Slightly larger play/pause button.
  9. Move position slider in-between controls.
 10. Use system libebur128 if found.
 11. Use smaller font for second line of current song details.
 12. Don't show song details in titlebar - this only duplicates info that is
     already clearly visible in the main window.
 13. Remove space between toolbar and views, and reduce spacing elsewhere.
 14. Use a thin splitter between playqueue and views.
 15. Set 'no interaction' flag on more labels, so that Oxygen's window drag code
     works on these.
 16. Add support for comments. These are read directly from the song file when
     the tag-editor is used, and they are NOT saved in Cantata's cache file.
     Comments are only read if MPD is configured to support the COMMENT field.
 17. Install Cantata's list of lyrics providers to INSTALL/share/cantata/config
 18. Read lyrics providers from each lyrics_*.xml file in
     ~/.local/share/cantata/config, and INSTALL/share/cantata/config
 19. Attempt to respect menubar usage of current desktop. For Windows and Gnome;
     menu button is used, and menubar hidden. For Mac and Unity; menubar is
     used, and menu button is hidden. For KDE Plasma; by default the menu button
     is used, and the menu bar hidden - but a menu entry is provided to toggle.
     This setting can be overridden - see README for details.
 20. Most songs will be less than 1 hr long, so by default we only need to
     reserve space for -MM:SS at each side of position slider. If song duration
     is longer than 1hr, then this is increased to -H:MM:SS
 21. Show number of tracks under playqueue, even if total time is 0.
 22. Enable song notifications in Linux builds without QtDBus.
 23. Speed-up MPD response parsing, by only converting strings to UTF-8 when
     required.
 24. In Albums view, always show album name as main text and artist as sub-text
     regardless of chosen sort.
 25. When context view is collapsed, draw background over selector buttons.
 26. Be consistent with displaying years of albums - year is shown in brackets
     after album name.
 27. Reduce memory usage, by storing album covers in a cache - and using this
     for display. Size of cache can be controlled by config item, see README for
     details.
 28. Only save albumartist tag in XML cache file if library supports this tag.
 29. Use MPD status to determine when to show, and hide, 'Updating...' message.
 30. Ignore mouse-events on message-overlay if cancel button is hidden.
 31. Update copy of QJson to 0.8.1
 32. Speed up building list of songs - by only checking if file has already
     been added, not song.
 33. After scanning replay gain, show original tag values in tooltips if
     different to those calculated.
 34. Don't use italic text for grouped view headers.
 35. Save scaled covers as PNG files.
 36. Use Q_GLOBAL_STATIC for Qt4.8, and Qt>=5.1 Qt-only builds.
 37. Show music folder location in device properties dialog when called from
     copy/delete dialog - just don't allow setting to be changed.
 38. Remove artist image support for online-services.
 39. Update context-view when artist, or album, image is updated.
 40. When current song is from an online-service (Jamendo, Magnatune, etc) then
     only show cover and title in context view. No attempt is made to get
     artist, album, or song information - as these are likely to fail anyway.
 41. Use an external-helper app to read/write tags - to isolate Cantata from
     TagLib crashes.
 42. Add -DUSE_OLD_DBUS_TYPEDEF=ON to CMake options. This can be used to force
     usage of OLD dbus XML files.
 43. If Cantata detects that an album, or artist, has new songs after updating
     MPD's DB, then the artist and album are drawn with bold text.
 44. When searching for album covers, do not look for $songFile.png/jpg
 45. Hide track change popup setting if running under Linux and
     org.freedesktop.Notifications DBus service is not registered.
 46. Remove 'home' button from listviews - only ever max 2 levels deep (Artists,
     Albums, Tracks), so no real need for button.
 47. Make shortcut for 'Go Back' action changeable.
 48. Don't attempt to find Amarok or Clementine covers.
 49. Don't hard-code artist name fixes, read from $install/tag_fixes.xml
 50. Remove grouping of multiple-artist albums under 'Various Artists'
 51. Change default sidebar shortcuts from 'Alt+' to 'Ctrl+Shift+' so as to
     avoid clashes with menubar.
 52. If compiled with MPD HTTP playback support, when MPD stream is paused then
     stop the Phonon/QMediaObject from playing. See README for config option
     on this.
 53. When searching, search both with and without diaeresis, etc. e.g. both
     Queensrÿche and Queensryche should match.
 54. Add 'Sort By' to playqueue context menu - allowing to re-sort tracks by
     artist, album artist, album, genre, or year.
 55. When sorting albums view, also ignore 'The ' at start of artist names, as
     per artists view.
 56. Add more sort options to albums view.
 57. Fix crash when changing view mode whilst search is active.
 58. Add a 'touch friendly' setting - toolbuttons are made wider, view actions
     always visible (semi-transparent in list/tree), and views are 'flick-able'
 59. Use a toolbutton for listview header and back action.
 60. Add 'Locate In Library' to search page.
 61. Remove 'Go Back' from listview context menu.
 62. Hide icons in shortcut dialog, and in actions used in menus, if
     Qt::AA_DontShowIconsInMenus is set. This seems to be the only way to force
     Unity to not show icons in menus of Qt apps. (There appears to be a bug in
     libdbusmenu-qt https://bugs.launchpad.net/libdbusmenu-qt/+bug/1287337)
     (Qt-only builds)
 63. If connection to MPD faiils, attempt to ascertain if its a proxy error.
 64. Add button under playqueue to re-center playqueue on current song.
 65. Add option to only act on songs that pass current string or genre filter.
 66. Multiple genre support.
 67. Store favourite streams as '[Radio Streams]' MPD playlist.
 68. For tracks for mutliple-artist albums, show as 'title - artist' and not
     'artist - title'
 69. In playqueue, if song's artist is different to album artist, then show song
     as 'title - artist'
 70. Also use musicbrainz_albumid, if present, to group albums. This can be used
     to group multiple releases of the same album. MPD must be configured to use
     this tag in order for this to function.
 71. Search for streams via dirble.
 72. Center images and headers in context view.
 73. Don't package stream providers with Cantata - add a dialog to download from
     Google Drive.
 74. Fix 'duplicate' albums being created if flac (or other) + cue file is used,
     and the music file does not contain metadata.
 75. Fix setting of cover for albums with cule file.
 76. Fix loading individual songs from cue file.
 77. Build as a Qt-only app by default. Pass -DENABLE_KDE=ON to create KDE
     build.
 78. Scrobbling support.
 79. Install podcast directories file to $install rather than embedding.
 80. cantata-dynamic perl script now uses MPD's client-to-client messages for
     control. Therefore, MPD>=0.17 is required.
 81. Remove 'Stop dynamizer on exit' option. Stop dynamzer if 'Stop playback on
     exit' is enabled.
 82. Read podcast_directories.xml, tag-fixes.xml, and scrobblers.xml from
     install folder and ~/.local/share/cantata
 83. Update replaygain ffmpeg input code to handle API changes in libavcodec.
 84. Fix transcoding tracks to MTP devices.
 85. Restore search field visibility for; PlayQueue, Artists, Albums, Folders,
     Playlists, Dynamic, and Devices views when started.
 86. Fix custom background images (play queue and context)  not appearing when
     Cantata started.
 87. If artist is different to album-artist, then show track title as
     "title - artist"
 88. In context-view rename Lyrics pane to Track. This is now a stack of lyrics,
     information, and tags. Tags contains all tags as read by taglib.
 89. Add option to re-load lyrics from disk.
 90. Add "Open In File Manager" to folders page for windows and mac builds.
 91. Use external editor to edit lyrics.
 92. Allow searching on performer tag.
 93. Remove ID3v1 when saving ID3 tags.
 94. 25% larger items in playqueue. Incrases covers from 32px to 40px
 95. Fix replay-gain scanner if file name, or path, contains non-latin1
     characters.
 96. Install Ubuntu mono sys-tray icons to
     $prefix/share/icons/ubuntu-mono-dark/apps/22/cantata-panel.svg and
     $prefix/share/icons/ubuntu-mono-light/apps/22/cantata-panel.svg.
     But only if compiled for Ubuntu, or -DINSTALL_UBUNTU_ICONS=ON is passed to
     cmake.
 97. Hide system-tray option in Qt builds if system tray is not available.
 98. In non Dbus Qt builds, if notifications is checked ensure that sys tray is
     also checkedd. Conversly if sys tray is unchecked, uncheck notifications.
 99. Add option to use libVLC for MPD HTTP stream playback - see INSTAL file
     for details.
100. Also show first IP address of interface in HTTP server settings page.
101. Fix progress update when saving Jamendo, etc, listing XML.
102. Add option to hide cover-widget.
103. Add option to hide stop button.
104. Add a Url label to exit full screen.
105. Use METADATA_BLOCK_PICTURE to extract covers from Vorbis comments, and
     "COVER ART (FRONT)" for APE tags.
106. Remove old library cache files when server settings changed.
107. Use QSslSocket to determine if Qt is linked to OpenSSL
108. Use Qt5's own json parser for Qt5 builds.
109. Fix Qt5 soundcloud searches.
110. Clear MPD errors after display.
111. More information in song tooltips - use table-style display.

1.3.4
-----
 1. Fix adding songs to playqueue with priority when playqueue is not empty.
 2. When loading covers, if load fails, check to see if this is because of an
    incorrect extension. e.g. load a .jpg file with PNG type, and vice versa.
 3. Fix showing of time-slider when Cantata is started minimized to system tray
    and MPD is playing.
 4. Remove unused 'Back' action.
 5. Don't treat albums with artists such as 'AlbumArtist ft Other' as multiple
    artist albums.
 6. Fix updating of playqueue sidebar tooltip and icon.
 7. Add playqueue action to main window, so that shortcut works.
 8. When using track organizer, also try to move artist images, backdrop images,
    and playlist files.
 9. After altering filename scheme from track organizer, save settings.
10. Don't set year or disc in tag editor for 'All Tracks' unless they are non
    zero.
11. In tag-editor, when obtaining values to use for 'All Tracks' entry, don't
    ignore empty fields.
12. When determining album year, ignore playlist files!
13. If MPD database is refreshed whilst listview is not at top level, then
    reset view to top level.
14. When TrackOrganizer is called after TagEditor, only perform MPD update
    once.
15. When editing filename scheme, after inserting a variable set cursor
    position to after newly inserted text and give focus back to line edit.

1.3.3
-----
 1. If Cantata is started whilst an instance is also running, raise window of
    current instance. (Linux-only fix)
 2. Add song to playqueue from albums page when double-clicked.
 3. Fix display of online service track album-artist in copy dialog.
 4. Ensure library is loaded the very first time Cantata is run (ie. after
    connected to MPD via initial settings wizard).
 5. When song is updated in context view, abort any current network jobs.
 6. Fix expand all / collapse all actions. Expand all will only expand 1 level
    for main browsers.
 7. When reading lines from user mpd.conf file, read as UTF-8.
 8. Reset devices and online services models when artist view cover size
    changes.
 9. If downloading online service track listing fails, stop loader and
    show error.
10. Use new location of Jamendo DB listing.

1.3.2
-----
 1. In cover/artist dialog, when attempting to save an image into Cantata's
    cache folder - ensure the 'covers' sub-folder is created.
 2. When saving artist image from cover dialog, if set to save in MPD folder and
    song's path does not have 2 folder elements then save in cache folder.
    Cantata will only save artist images, and backdrops, in MPD folder if the
    folder structure is (e.g.) Artist/Album/Track.mp3
 3. Use case-insensitive sort of folder view items when adding to playqueue.
 4. When determining the 'basic' artist of a track, if albumartist is set and
    artist is not, then use albumartist.
 5. For the web-links in the context view, replace ampersand and question mark
    characters in artist names with the relevant URL encoding.
 6. Use CMake to locate X11 libraries and headers.
 7. Set minimum size for initial settings wizard.
 8. If buddy of a checkbox or radio is clicked, then toggle check or radio.
 9. Disable context-view cancel actions until a job is created.
10. When searching models, also search composer field.
11. Fix enabling of "Initially collapse albums" in playlists settings tab.
12. Fix grouped playlist view initial state when set to initially collapse
    albums.
13. Fix calculating size of song files when copying off a device that has been
    previously scanned, and its contents cached.
14. When copying from a CD, check that we have enough space for track that was
    encoded with a 1:18 ratio. Just a sanity check really.
15. Fix song notification mem-leak (Linux only).
16. When transitioning between backdrops in cover view, draw old at correct
    position.
17. Don't load library twice at start-up when cache has been deleted current tab
    is artists or albums.

1.3.1
-----
 1. Fix collapsed context-view selector buttons text when using a dark
    background.
 2. Apply some Fedora patches.
 3. Fix MPD HTTP stream playback.
 4. Fix painting of Gtk thin scrollbar style on comboboxes.
 5. When waiting for replies from MPD, use Qt's standard timeout value of 30s.
    While the socket is still connected, Cantata will wait up to 4 times the
    timeout value. Therefore, the actual timeout has increased to 2minutes!
 6. If a sidebar view has focus, but sidebar is collapsed, then find action
    should activate playqueue search widget.
 7. FreeBSD 10 compile fixes.
 8. Fix scaling of context view background when size of view changes.
 9. Elide text of context view selector buttons, if insufficient space.
10. Only show mopidy note in copy/remove dialog if connected to mopidy.
11. Fix broken en_GB translation.
12. Fix folder-view path parsing. If two folders only differed in the last
    character then Cantata would have placed the contents of the second
    into the listing of the first.
13. Explicitly link to pthread.
14. Do not allow 'auto-hide sidebar' and 'playqueue in sidebar' to be active at
    the same time.

1.3.0.1
-------
1. Fix duplicate translations - causes KDE builds to fail.

1.3.0
-----
 1. Add option to control startup-state; visible, hidden, or remembered from
    previous run.
 2. Basic undo/redo support for playqueue.
 3. Search tab. Hidden by default, enable via settings dialog.
 4. Optionally save scaled covers (used in artist and albums views) to disk.
 5. Add option to always collapse context into single pane.
 6. Option to have small sidebar at top or bottom.
 7. Scale context view backdrops.
 8. Add a manual config item (mpdPoll) to control whether Cantata should poll
    MPD for its current state whilst playing. The value is specified in
    seconds. This is useful for cases where Cantata misses updates from MPD.
    This is only a work-around for certain scenarios. Please see README for
    more details.
 9. When sending commands to MPD, and waiting for response, use a timeout of 2
    seconds per 100K bytes of data.
10. Hide volume control if MPD returns a negative value for volume - which
    indicates MPD's volume mixer is disabled.
11. When closing search widget, after performing a search, collapse all bar top
    level items.
12. When adding files to playqueue, only add in batches of up to 10000 songs.
    This 'chunk size' may be altered by setting mpdListSize in Cantata's config
    file - see README for details.
13. Add 'Remove duplicates' functionality to play queue and play lists.
14. Only start internal HTTP server when required, and stop 1 second after
    last Cantata stream is removed.
15. If connected to MPD via a UNIX-domain socket, then send non-MPD files as
    file:/// URLs to MPD - i.e. don't use internal HTTP server. To force usage
    of HTTP server, set alwaysUseHttp to true in Cantata's config file. Refer to
    README for more details.
16. Add CMake option to disable building of internal HTTP server.
17. If listallinfo fails, then attempt to retrieve music listing via lsinfo
    calls on each folder. Usage of lsinfo may be forced by setting
    alwaysUseLsInfo in Cantata's config file - see README for details.
18. Add CMake option to disable streams, dynamic, and online services. Refer to
    INSTALL file for details.
19. Don't use QKeySequence::Delete to detect delete key event for play queue,
    instead check for no-modifiers and the Delete key itself. Closing a
    terminal with Ctrl-D seems to cause Cantata to see QKeySequence::Delete
20. Use &;copy for copyright symbol in text - better than (c)
21. Add config setting (for Qt only builds) to set language.
22. Set cover-widget icon size to at least twice tab-widget large icon size.
23. Remove usage of Gtk-style on-off button for Gtk style, and instead give
    checkboxes better text and adjust config layout.
24. Better control over 'Subscribe' button in podcast search dialog.
25. When downloading images, don't use extension to determine file format,
    instead look for JFIF and PNG in first few data bytes.
26. Cache folder listing as well as music listing. This cache is removed if
    the folder view is disabled.
27. Also search Spotify, iTunes, and Deezer for images in cover dialog.
28. Fix filename scheme help table.
29. Allow to specify filename scheme when copying to library.
30. Before calling ReplyGain after ripping CD, convert filenames to destination
    suffix.
31. Use Podcasts and SoundCloud icons in cover widget, and song notification,
    for relevant tracks.
32. Fix displaying of disc and track numbers for online services.
33. Move sidebar settings into settings dialog. Sidebar menu now just contains
    a 'Configure...' entry which opens settings dialog at relevent page.
34. Add new view style "Basic Tree (No Icons)". This is as per the simple tree,
    but only images, and not icons, will be shown.
35. Europe and Canada regions in ListenLive are not re-loadable (as they are
    read from listenlive.xml)
36. Set CMake defaults if not supplied on commandline; set prefix to /usr for
    Qt only Linux builds, path to `kde4-config --prefix` for KDE4 builds, and
    set build type to Release
37. Place Cantata's 'toolbar' within a QToolBar - so that the style's toolbar
    look is preserved, and styles that can drag window via toolbar (e.g.
    QtCurve) still work.
38. Call QApplication::alert() when showing errors - this causes taskbar entry
    to be marked.
39. Read lyrics from LYRICS tag for FLAC, Opus, Vorbis, and Speex files.
40. Be consistent with other players, and don't show disc number in list.
41. As per Amarok, split albums into discs in grouped playqueue view.
42. Fix some Mopidy 0.18 issues; cover and lyrics retrieval, folders view
    loading.
43. Mopidy seems to require all parameters to be quoted.
44. Only react to back or home action in listviews if view is visible!
45. Don't allow buttons in main widow to recieve focus.
46. Use Ctrl+G as short-cut to show genre combo popup.
47. Re-focus view when search closed.
48. Fix handling of playlists with a colon in their name.
49. If Mopidy playlist starts with "Smart Playlist:" then treat as a 'smart'
    playlist - e.g. don't try to display song count, don't try to load songs
    in playlists view, use sub text 'Smart Playlist' (and fix playlist name),
    and don't allow saving to these playlsts.
50. Remove find buttons in status bar, and use Ctrl-F for both find in views
    and find in playqueue. Action depends upon which view has focus.
51. Remove refresh buttons in status bar, and place into main menu. Also,
    prompt for confirmation before performing refresh.
52. Combine podcast subscribe and search dialogs.
53. Add option to NOT download covers from last.fm
54. Add menu to cover dialog, so that user can control which services are
    queried.
55. Add option to use a custom image as context view backdrop.
56. Add option to specify blur and opacity of context view backdrop image.
57. Add option to use a custom image as playqueue background.
58. Add option to specify blur and opacity of playqueue background image.
59. If list view has focus, pressing Backspace will navigate back.
60. Fix albumsview cover size when set to a tree style and Cantata is
    restarted.
61. Add 'Add To Playlist' menu item to playlists page.
62. Add 'Table' style view for playlists.
63. Clicking on title in list/icon view navigates back.
64. Bundle own copy of symblic media icons - so that these can be recoloured
    to match current theme.
64. Fix searches containing more than 4 words.
65. Use stretch header class from Clementine for table style views.
66. Don't change tray icon to play state - consistent with other apps.
67. For Linux builds, if systray.svg file exists in
    $prefix/share/cantata/icons/$iconTheme, then this will be used as the
    system tray icon. Currently Cantata supplies 2 mono SVGs - one for
    ubuntu-mono-dark and one for ubuntu-mono-light.
68. Show time-slider position tooltip immediately.
69. Expand interface if it is collpased and an error or question is to be
    displayed in message widget.
70. Hack-around issue with message widget not appearing in KDE builds when
    KDE's animations are disabled.
71. Remove 'copy track info' functionality, I see no need for this!
72. Remove showPage dbus function.
73. Use wmctrl to raise window under compiz for Qt5 builds.
74. Don't react to mouse-release event in coverwidget if an override cursor has
    been set. Fixes the case, with Qt5 builds, where a drag is started on the
    cover widget causes interface to expand/collapse.
75. Change views to scroll-per-pixel.
76. Don't allow expanding, or collapsing, if maximised or mesasge widget is
    visible.
77. Remove embedding of pre-rendered Cantata icons. Cantata requires the SVG
    icon plugin, so users must have this installed.
78. Use system menu icon for Linux builds. To revert to previous 3-line style
    icon pass -DUSE_SYSTEM_MENU_ICON=OFF to cmake.
79. When downloading, and parsing, ListenLive streams, if a station has more
    than 1 stream then list all streams - adding format and bitrate
80. Move search fields back to the top of views.
81. Close temporary files after write, to ensure data is written. This fixes an
    issue where sometimes 0 byte files were written from CoverDialog.
82. Use same order (URL, name) for both add stream-URL dialogs.
83. For UMS devices, add device and size (in brackets) after name. Should help
    devices with multiple partitions.
84. Use WindowText, and not ButtonText, colour for mono icons - fixes wrong
    colour being used with Bespin style.
85. Fix corrupted scrollbar background in views with a background image when
    Gtk style is used.
86. Don't draw tab-bar frame when using small sidebar style.
87. If using small sidebar on top, or bottom, then centre-align tabs.

1.2.2
-----
 1. Fix British English translation.
 2. Improve internal HTTP security - only serve files to MPD host, and only
    files in playqueue.
 3. Also remove CDDA files when Cantata exits.
 4. Improve error message if 'playlist_directory' does not exist.
 5. If icon theme does not have network-server, then use audio file icon for
    HTTP server settings page.
 6. Fix truncated files served from internal HTTP server.
 7. When adding songs to an existing play lists, don't allow play list files to
    be added.
 8. If Ctrl-F is activated again whilst search widget is visible, then select
    all current text.
 9. When MPD seeks a Cantata HTTP stream, set the Content-Range header field.
    This fixes seeking of FLAC files.
10. Fix toggling of checkboxes via short-cut.
11. Fix short-cuts in preferences dialog.
12. Don't clear the playqueue when Cantata is passed a song as a commandline at
    start-up.
13. Fix broken spinboxes in some dialogs with Gtk style.
14. Correctly style treeview in CD details dialog.
15. Only show artist name of CD track if it does not start with main CD artist.
16. Show track numbers in CD listing.

1.2.1
-----
1. Only use old Qt DBUS type annotations for Qt less than 4.8.2
2. Use "(c)" instead of "©", as "©" seems to mess up Qt translations.
3. Fix tagtype and URL handler detection. Fixes Composer support, and streams.
4. Use 32x32 for drag'n'drop icon, 64x64 for highdpi.
5. Use audio-x-generic icon for drag'n'drop if no cover found.
6. Fix potential memory leak with cover images.
7. Fix crash when changing online view from list to tree, after a soundcloud
   search.
8. Use MPD status.playlistLength to determine number of playqueue items when
   controlling state of prev, next, and stop buttons.

1.2.0
-----
 1. Add support for opus audio format - AudioCD encoding, transcoding, HTTP
    server, etc.
 2. Add support for user-installable stream providers. See README for file
    format.
 3. Add config page to control which stream categories are enabled, to import
    new categories, and to remove imported categories.
 4. Request IceCast stream list in compressed format.
 5. Add ShoutCast search.
 6. For some stream categories (digitally imported, jazzradio, rockradio, sky,
    somaFm, and some user categories) add category name to stream name when it
    is saved in favourites, or added to playqueue.
 7. Support composer tag - group albums via composer, edit tag, rename files
    using tag, and use field for dynamic playlists.
 8. Place HTTP stream URL into connections page, as URL could be different per
    connection.
 9. Use QListWidget in Qt preferences dialog, so that keyboard navigation can be
    used.
10. Add ability to 'filter search' stream categories.
11. Add option to prevent system from suspending whilst playing (Linux only).
12. If playqueue is cleared when dynamizer is running, then also stop dynamizer.
13. Create a new SizeGrip class, so that we can force the size-grip on the main
    window to have the same height as toolbuttons - this makes it align to the
    bottom.
14. Place a 0-pixel wide 'size widget' at the bottom of each view, to attempt to
    ensure consistent sizes between views.
15. Make playqueue search consistent with view search - ie. only show search on
    activating 'Search Play Queue', do not toggle.
16. Initial MacOS port - thanks to Ian Scott
17. Podcast support.
18. Add config page to determine list of online providers.
19. If 'Basic'/'Personal' is selected in initial settings wizard, then enable
    'stop playback' and 'stop dynamizer' options.
20. Store data under XDG_DATA_HOME (~/.local/share) Any existing files will be
    copied to the new location. NOTE: This is not backwards compatible, so if
    you downgrade Cantata, you will have issues (e.g. missing favourite
    streams)
21. Add two items to config file to modify cover-loading responsiveness. Please
    see README for further details.
22. Use "play" command if play button is pressed and there is no current song.
23. Use HTTPS URLs for Last.fm, Wikipedia, SoundCloud, etc, for non-windows
    builds.
24. Only show genre combo if we have some genres.
25. When parsing CUE files - attempt to load as UTF-8, and then "System"
    encoding. Support a new config item, 'cueFileCodecs', which allows extra
    Qt text-codecs to be tried (see README for details). If all of these fail,
    then revert back to the previous behaviour.
26. Don't build GNOME media-keys support into KDE builds, as these use KDE's
    global keyboard shortcuts.
27. With KDE builds, default to using media-keys as global shortcuts.
28. Optionally support Qxt global shortcuts for Qt-only (Qt4) Linux and Windows
    builds.
29. Move media-keys setting into shortcuts page.
30. Add a config item to disable all network access. Needs to be set manually,
    see README for details.
31. Add a config item to configure album-view to load all covers immediately,
    rather than waiting for then to be displayed. Again, no UI for this, and
    see README for details.
32. Slimmer toolbar - song times are now at the ends of the time slider.
33. Custom time slider and volume control.
34. Optionally, prompt before clearing playqueue.
35. Only show config pages, and tabs, that are relevant to the enabled views.
36. Show action short-cuts in tooltips.
37. When filtering (i.e. searching) Jamendo, Maganatue, and stream providers
    (apart from TuneIn and ShoutCast), then don't hide items from other
    services - but only filter the ones on the filtering service.
38. Also read Jamendo genre's from album tag.
39. Modify message-widget so that it uses a squeezed-text label. Because of
    this, always use Cantata's copy of KMessageWidget for all KDE builds.
40. Cantata requires libMTP 1.1.0 or newer.
41. When displaying paths, convert to native separators, and remove trailing
    separator. When reading back entry, revert this process.
42. Fix tag editing, track re-organisation, and playback of non-MPD files via
    HTTP server on windows.
43. Don't treat albums that have artists such as 'Abc' and 'Abc with xyz' as
    multiple artist albums.
44. When setting window title, use full-text from track/artist labels, and not
    the squeezed text!
45. Hungarian translation - thanks to Török Árpád
46. When displaying tag editor, track organiser, or replay gain dialogs, check
    that the song files can be accessed. (For speed reasons, only the 1st few
    files are checked)
47. Add a config item to control volume step - no config UI, see README for
    details.
48. Provide a CMake option to control whether KWallet is used to store MPD
    passwords for KDE builds.
49. Display total cache usage in Cache settings.
50. Fix updating of current collecion in Cantata's menu when current collection
    is set in settings dialog.
51. Only load ListenLive categories when requested.
52. In artists and albums views, add 'Add Albums In Random Order' entry to
    context menu. When selected, all highlighted albums (or albums by
    highlighted artists) will be added to playqueue in a random order.
53. Add 'Shuffle Albums' entry to playqueue context menu.
54. When showing a new page, place focus on view.
55. If MPD's database time is invalid, and the cache's database time is
    invalid, then accept a database listing. This works-around an issue with
    using MPD's proxy DB in versions prior to 0.18.5  - where no database time
    is sent. In this case, Cantata will store the current date and time in its
    cache file. Users with a proxy DB (and using MPD version before 0;18.5)
    will need to force Cantata to update to notice changes.
56. Look for backdrop.jpg/png in music folder before attempting to download.
57. Add option to store downloaded backdrops into music folder. Stored as
    backdrop.jpg
58. Fix crash when an album link is clicked on in context-view when current
    song is from a Various Artists album and the album link is to another album
    by the artist.
59. Show device copy/delete status in Unity launcher - show current progress,
    and track count to be actioned.
60. If playlists page is disabled, then hide 'Add to playlist' actions and hide
    playqueue save button.
61. Don't load folder list until view is visible.
62. Add 'Cancel' to context-view context menus - cancels current fetch job.
63. Correctly update tooltips when removing a short-cut from an action.
64. Instantiate network proxy factory when network access manager is
    constructed.
65. Using mouse wheel over position slider changes position by 5 seconds.
66. Fix fetching lyrics for songs, or artists, containing ampersand or question
    mark characters.
67. Use correct output argument for oggenc and faac.
68. Only load info of stored playlists when required.
69. If looking for lyrics on lyrics.wikia.com, then use its search API to
    locate lyrics page.
70. Radio GFM streams.
71. Fix lyrics scraping code for most providers.
72. Add leoslyrics.com to list of lyrics providers.
73. Align main popup menu to side of window.
74. Use AlbumArt.jpg as default cover name for MTP devices. Android's gallery
    application will ignore album covers if they are named this way.
75. Don't allow configuring of filename for MTP devices. MTP device support
    uses folder structure to determine 'Various Artists' album-artist (as LibMTP
    does not support album artist tag).
76. If song has a disc number set, then display song track as
    "disc.track title" - e.g. "2.01 Blah blah"
77. Better handling of Cantata stream URLs with special characters (e.g.
    question marks)
78. Remove Cantata streams when exiting.
79. Update album's year if song year is changed in tag editor.
80. If we can access a CUE file, but fail to parse it, then do not add CUE to
    album's track list.
81. Show MTP track list progress in percentages.
82. Fix memleak with MTP devices.
83. Open MTP devices in un-cached mode (faster)
84. Add clear button to Qt input dialogs.

1.1.3
-----
 1. (Hopefully) fix selection order of items - and order added to playqueue.
 2. Updated translations: German, Spanish.
 3. Add Russian translation, thanks to Julia Dronova.
 4. Online services support does not require taglib.
 5. Fix changing of Music folder for 'Personal' mpd collection.
 6. Use QDesktopServices/QStandardPaths to ascertain default music folder for
    'Personal' collections.
 7. If no icon is to be used on a message-box button, then ensure the icon is
    cleared.
 8. Fix display of album year in playqueue for KDE builds.
 9. If we recieve an error from MPD via status, then display this in the main
    window.
10. Don't react twice to every volume change. Volume was changing in 10%
    increments, whereas it should have been (and is now) 5%
11. Bind increase volume, decrease volume, and mute actions to main window, so
    that shortcuts work.
12. Fix number display in replaygain dialog in Qt-only builds.
13. When reading default MPD music folder, ensure this has a trailing slash.
14. Only enable 'Edit Song Tags' on playqueue if MPD music folder is readable.
15. Slightly improve tag-guessing from tracks without tags. Now the following
    are acceptable:
    Artist/Album/TrackTitle.mp3
    Artist/Album/TrackNo TrackTitle.mp3
    Artist/Album/TrackNo-TrackTitle.mp3
    Artist/Album/TrackNo. TrackTitle.mp3
    Artist - Album/TrackTitle.mp3
    Artist - Album/TrackNo TrackTitle.mp3
    ...etc.
16. Fix artist and album genres.
17. Show albums by artist, etc, even if wiki/last.fm search fails.

1.1.2
-----
 1. Fix build due to broken translation files.
 2. After toggling various artists grouping, or group single tracks, update list
    of genres associated with artists.
 3. Fix decoding of details for Online service URLs sent to MPD, and
    subsequently read back.
 4. Don't allow dragging of stream categories onto playqueue.
 5. Replace # in stream names with ${hash} when passing to MPD, and revert when
    URL is displayed.
 6. Fix covers when using album artist for multiple artist albums, and album
    artist name is "Various Artists" - but this has been translated in Cantata.
 7. Don't draw item divider in icon views.
 8. For Qt4 less than 4.8.4, then use old dbus Qt type annotations.
 9. Default to exporting favourites streams XML into home folder.
10. Reset the covers-requested-per-iteration counter after each event loop
    iteration. This should fix the case where sometimes the system tray
    notifications would not have a cover image.

1.1.1
-----
 1. Fix crash in settings dialog if current connection name is removed from
    config file.
 2. Fix starting of per-user MPD instance.
 3. For Qt-only Linux builds, set file permissions of config file so that
    others cannot read the file - as MPD, Magnatune, or DigitallyImported
    passwords will be saved here.
 4. Fix reading of genres from cache file.
 5. Fix updating of genres after DB is refreshed.
 6. Don't use https for context view searches.
 7. Work-around Windows and QJson issue.
 8. Remove cantata prefix when showing status message about fetching streams.
 9. When adding streams that have a name assigned, but no path, then add a
    trailing slash.
10. Fix 'Add Stream URL' action in builds where device support is disabled.

1.1.0
-----
 1. Display 'Calculating...', and 'Deleting...' in cache settings page if
    relevant.
 2. Add "(Muted)" to volume button tooltip if volume is currently muted.
 3. If cover name contains %artist%, then replace with the album artist of the
    current song. Likewise for %album%
 4. Add option (to sidebar context menu) to toggle usage of monochrome icons.
 5. After ripping a CD, prompt as to whether to calculate ReplyGain.
 6. Simplify HTTP server settings. Now only the interface can be chosen. HTTP
    server is used for all non-MPD files. If computer has no, or only one,
    active network connection, then the HTTP server settings  page is hidden.
 7. Only show actions on mouse-over.
 8. Use larger action icons in icon view when we have larger previews.
 9. Better non-monochrome radio-stream icons. Thanks to Grely
10. Don't use alternating rows in views (does not look too great with grouped
    view). Use a fading divider instead.
11. Combine info and lyrics pages into a new context view. By default this is
    not placed in the sidebar, but has a toggle to show in the main view.
12. Remove EchoNest usage, as this only seems to return English results. Use
    wikipedia instead. Only the introduction is displayed by default. If no
    entry is found on wikipedia, then last.fm is consulted.
13. Don't display stream URL as sub-text, it makes the view look messy for no
    real gain. (URL is still shown in tooltip)
14. Detailed tree view for folders and playlists by default.
15. Remove config compatibility with Cantata versions older than 0.7
16. Only have 2 stop actions; stop now, or stop after current. Default stop
    action is always 'stop now'
17. Make 'stop after current track' assignable to KDE global shortcut.
18. Add 'stop after current' to tray item menu, and to Cantata MPRIS interface.
19. Try to use better text for buttons in dialogs, and not just yes/no.
20. Don't use icons in buttons when using QGtkStyle - Gtk does not use button
    icons.
21. Use checkboxes in sync dialog to mark songs to be copied.
22. Show number of selected artists, albums, and songs in sync dialog.
23. Save sync dialog size.
24. Show number of songs to be copied on action dialog. Make number a link,
    when clicked produce a dialog showing list of songs.
25. Improve radiance CSS theme.
26. Use 24px playback icons if the icon theme has these.
27. When AudioCD is ejected, remove tracks from playqueue.
28. If Cantata is passed cdda:// then it will load, and start to play, the
    current AudioCD. Use cdda://?dev=$device (e.g. cdda://?dev=/dev/sr0) to
    specify which drive to use.
29. Provide KDE4 Solid actions file to play AudioCDs. (Only installed for KDE4
    builds)
30. Update ultimate_providers.xml to match Clementine 1.1.1
31. Prompt before removing dynamic rules - to be consistent with streams and
    playlists.
32. Add option to replaygain dialog to show only untagged tracks.
33. Automatic accelator assignment for Qt builds.
34. Add cmake check to see if TagLib has id3version in MPEG save.
35. RTL fixes.
36. For Qt4 Linux builds, use system QJson if found.
37. Remove amazon cover fetching - required API key that Cantata never really
    had.
38. Add debug logging. Please see README for details.
39. Enable MPD HTTP stream playback using QtMultiMedia for Qt5 builds. Thanks
    to Marcel Bosling for the patch. Disabled by default, to enable pass
    -DENABLE_HTTP_STREAM_PLAYBACK=ON to cmake.
40. Fix Qt5 segfault on exit, due to static QIcons being destructed.
41. Work-around Qt5 bug where toolbuttons (usually with menus) stay in the
    raised state.
42. Add port number to library cache filename, to cater for scenarios where
    there is more than 1 server on the same host.
43. Fix retrieval of covers in albums view for multiple-artist albums when
    these are configured to be grouped under "Various Artists"
44. Refresh albums view when multiple-artist grouping is changed.
45. Add context menu to replaygain and file organizer dialogs to remove items
    from list.
46. Also use discogs for artist images in cover dialog.
47. Fix invalid covers showing for online services.
48. For Qt builds, if shortcut is set to default then remove entry from config
    file.
49. Don't show page shortcuts in tooltips, as tooltip is not updated when
    shortcut is changed.
50. Check that perl is installed before attempting to start cantata-dynamic in
    local mode.
51. If cantata-dynamic is started in server mode, then have it create any
    missing folders.
52. Simpler proxy settings.
53. Delay loading of local devices at start-up, so that we have time to add
    device to view before try to expand it.
54. If cantata-dynamic is started in server mode, then communicate status via
    UDP multicast messages.
55. If using server mode cantata-dynamic and this is not started, then show an
    error message in dynamic page.
56. Fix keyboard shortcuts of tab pages.
57. Add support for a simple profile where MPD is started by cantata, and
    the only settings are the music folder and cover name.
58. Combine Output and Playback config pages.
59. Remove proxy config from settings, and always use system proxy.
    To re-enable proxy settings pass -DENABLE_PROXY_CONFIG=ON to cmake.
60. Copy Qt5 Linux system proxy code for Qt4 builds.
61. Add option to draw current album cover as backdrop to play queue.
62. Add 'Copy Songs To Device' action to playlists page.
63. Embed pre-rendered PNG versions of cantata icon, to help with Qt5 builds
    on systems that do not have the Qt SVG icon engine installed.
64. Simplify streams page. Remove user-categories, instead have a set of
    predefined top-level items; Favourites (user streams), TuneIn, IceCast,
    ShoutCast, SomaFM, Digitally Imported, Jazz Radio, Rock Radio, Sky.fm, and
    Listen Live.
65. Search for streams via TuneIn.
66. Place search fields on bottom of views, and hide by default. Show when
    Ctrl-F is used for views, and Ctrl-Shift-F for playqueue.
67. When searching in dynamic page, also search rules themselves.
68. For MPD versions 0.17 and above, if Cantata can read a .cue file then it
    will list each track as a separate entry in the artists and albums views.
69. When loading a stream into the playqueue, show a status message at the
    bottom - allowing the loading to be cancelled.
70. If stream is not an AudioCD stream, and the total time is known, then enable
    the position slider.
71. Allow seeking in cantata HTTP streams.
72. Default to enabling use of media keys under GNOME/Unity.
73. Add SoundCloud to online services.
74. Drop usage of lame when playing back AudioCDs, its not required.
75. Always use QNetworkAccessManager - as KIO is not thread safe :-(
76. Update copy of Solid to KDE4.10.5.
77. Provide Faience CSS theme.
78. Click on time label to toggle between showing current time and time
    remaining.
79. Use tooltip to display position that will be jumped to if mouse is pressed
    on time slider.
80. Place replaygain analysis within a separate app. Saves Cantata itself
    needing to link to ffmpeg/mpg123

1.0.3
-----
 1. Don't display codec settings in copy dialog unless we are copying to a
    device, or from an AudioCD.
 2. Save size of Track Organiser, Tag Editor, and ReplayGain dialogs.
 3. Fix consistency of default button in messageboxes between Qt and KDE builds.
 4. Unless using a dark toolbar, use same colour for toolbar menu icon as per
    menu icon in views.
 5. Document how to make a release build.
 6. When searching for artist information, if song's album artist contains
    artist, then use album artist. This is for tracks that have an artist such
    as "abc featuring 123", and album artist is "abc"
 7. Improve consume icon at larger sizes.
 8. Fix lyrics background when we toggle from showing cover to not showing.
 9. Replace multiple blank lines with single blank line when showing lyrics.
10. Fix AudioCD playback.
11. Remove time remaining from action dialog - its not accurate enough to be
    meaningful.
12. Fix detection of whether streams file is writeable or not.

1.0.2.1
-------
1. Re-spin to add Qt SVG iconengine to windows installer.

1.0.2
-----
 1. Show artist name as caption for cover dialog when setting artist images.
 2. Connect 'Set Cover' signal for windows builds.
 3. Fix usage of timers in threads.
 4. Fix non-taglib build.
 5. Fix loading of SVGs in windows build.
 6. Fix cover downloading.
 7. Fix deletion of threads.
 8. Enable online services for windows builds.
 9. Fix 'No such song' warning when removing songs from playqueue.
10. Indicate when streams file is read-only.
11. Better status labels for streams and dynamic pages.

1.0.1
-----
1. Don't display Jamendo and Magnatune cache settings in config dialog if these
   have been disabled at build time.
2. Correctly calculate size of cache folders when folder does not exist.
3. Fix deletion of cache when single item selected.

1.0.0
-----
  1. Give tooltips to view actions.
  2. Add 'Set Album Artist from Artist' action to tag editor.
  3. Add option to specify max cover size when transfering to device.
  4. Remove 'Small Control Buttons' and 'Small Playback Buttons' options.
  5. Prompt before disconnecting a device.
  6. For playqueue items, if we only have a filename, and no artist, etc, then
     attempt to ascertain artist, album, title, and track number from the
     filename. These will be extracted if the filename has the following
     pattern; "%artist%/%album%/%track% %title%" Otherwise, if we cannot extract
     all of these, just set the title to the filename without path.
  7. Allow editing of tags, and replaygain calculation, of files from folder
     view which do not contain tags.
  8. Merge 'External Settings' into 'Interface Settings'
  9. Add option to embed covers when copying songs to devices. (ID3v2, MP4,
     and Vorbis comment tag types only)
 10. Add a simple system dbus helper to allow user mounts of samba shares. This
     is intended to allow Cantata to connect to an Android device via Droid NAS.
     Requires cantata be built with remote device support.
 11. Add first-run wizard to enable basic configuration before Cantata is
     started for the first time.
 12. Add a 'Cache' page to settings dialog, allowing cache usage to be displayed
     and cache items deleted.
 13. Move group warning to last stage of intial settings wizard.
 14. Basic cover fetching dialog, allowing to change downloaded cover. Currently
     Last.fm, Google, Discogs, and CoverArtArchive are used to find images. To
     enable searching via Amazon, you need to obtain an 'access key' and a
     'secret access key' Cantata currently does not contain these, but you may
     supply these in Cantata's config file. To do this, simply add the following
     to the "[General]"  section:
         amazonAccessKey=xxxx
         amazonSecretAccessKey=xxxx
 15. Use cache by default for devices.
 16. GZip compress cache files.
 17. Save remote device library settings on remote device.
 18. When using list or icon view, only show genres that are relevant to the
     current level.
 19. (Qt-Only) When displaying filesizes, use KiB (1024 bytes) for KDE and
     Windows, and kB (1000 bytes) for others.
 20. Recolour repeat and shuffle icons to use button text colour - this is so
     that they always match consume and single icons.
 21. Re-enable animation when showing messagewidget, for Qt-only builds and
     for non 4.9.4 KDE builds.
 22. Speed up playqueue searches.
 23. Add prompt before removing playlists.
 24. When dropping files onto playqueue, check that they have a recognized
     extension (mp3, ogg, flac, wma, m4a, m4b, mp4, m4p, wav, wv, wvp, aiff,
     aif, aifc, ape, spx, tta, mpc, mpp, mp+, dff, dsf)
 25. Add import of IceCast and SomaFM streams.
 26. Move server info into a dialog.
 27. Add support for Jamendo and Magnatune streams.
 28. Add 'Add Stream' action to play queue menu - so that streams can be quickly
     added without needing to store in streams page.
 29. For streams, use filename part of path as track title.
 30. Fix setting of buttons in song copy dialog (Qt-only builds, KDE already
     working).
 31. Only stop dynamizer on exit if option enabled, not if just stop playback on
     exit is enabled.
 32. Add a new view style - 'Detailed Tree'. This uses the list-style appearance
     for treeviews - e.g. The album count appears under each artist, etc.
 33. Install cantata-dynamic to $prefix/share/cantata/scripts - as this script
     is not intended to be run by users.
 34. Use com.googlecode.cantata instead of org.kde.cantata for DBUS service,
     etc.
 35. Add action icons to grouped-albums style playlists at the top level.
 36. Scale image in lyrics view if it is less than 300x300px
 37. Allow to move streams to different categories via drag-n-drop.
 38. Read/write device cache files in non-gui thread.
 39. Add option to save streams in MPD folder.
 40. GZip compress streams files.
 41. When reading cache (either MPD, or device), and the grouping (single
     tracks, or multiple artists) has changed - then don't do a rescan, just
     re-do the grouping.
 42. If we are using QGtkStyle and this is set to Ambiance or Radiance, then
     apply a corresponding stylesheet to the toolbar - and allow window to be
     dragged by toolbar.
 43. If fetching artist images for a song, and the song-folder heirarchy is 2
     levels (artist/album/), then save image as artist.jpg/png within the artist
     folder. (Only if 'save downloaded covers in music folder' is enabled)
 44. Work-around QGtkStyle issues with large entries in comboboxes.
 45. Remove 'Auto' cover size setting. Now cover sizes are based upon setting
     and font size.
 46. Initial support for Qt5.
 47. When disabling system-tray icon, first set this to not visible, and then
     delete the item. This helps removing the entry from the Unity menubar.
 48. If all streams (and categories) have been removed, then remove streams xml
     file as well.
 49. Allow streams to have multiple genres.
 50. Custom menu icon - more like the one used in chrome.
 51. Use "-symbolic" icons for Qt-only Linux builds with ambiance theme.
 52. If replacing playqueue with a stream, then start playing when added.
 53. Fix restoring of alternate size. e.g. fix restore of collapsed size if
     started expanded - and vice versa.
 54. Recreate menubar for KDE4 build when run under unity. (Qt builds already
     had this)
 55. Hack-around size of QComboBox in page classes so that height is same as
     buttons. (QGtkStyle only)
 56. Support reading of lyrics from HTTP server - specify a HTTP url as MPD
     music path.
 57. Hack-around QGtkStyle focus issues if a spin-box is set to have no buttons.
     Cantata's Gtk3 style spin boxes are mimiced using a spin-box with no
     buttons, and 2 toolbuttons. QGtkStyle messes up the widget focus if this is
     used, so Cantata's spin box attempts to work-around this.
 58. Improve look of Gtk3 style spinbox.
 59. Use xdg-open for "Open In File Manager" action of folder page.
 60. Overlay-ish looking scrollbars for ambiance theme.
 61. If 'Album Artist' is empty, then store this as empty in the cache files.
     This is so that when these are read back, the tag-editor has the actual
     values.
 62. If we change a genre, or year, in the tag-editor, then update views.
 63. Disable connections menu when preferences dialog is open.
 64. Allow wildcard genres. e.g. 'Rock*' for 'Hard Rock' and 'RockNRoll' in
     dynamic rules.
 65. Handle multiple storage locations on MTP devices.
 66. Fix creation of music folder on MTP devices.
 67. Attempt to work-around lack of AlbumArtist support in libmtp. For each
     album that has tracks by different artists, set the AlbumArtist to
     'Various Artists' (This *only* works if there are no duplicate track
     numbers)
 68. Send cover files to MTP devices.
 69. If MTP track number is 0, then attempt to ascertain this from the filename.
 70. Respect ID3v2.3 / ID3v2.4 setting of tags - i.e. when save, ensure we use
     the same version.
 71. Optionally start track organizer after tag editor, if changing the tags
     indicates that the files should be renamed.
 72. Add extra option to filescheme dialog - "Track Artist (+Title)". This is
     intended to be used with Various Artist albums - so that the filename can
     also contain the track artist, if this is different to the album artist.
 73. Expand device when connected.
 74. Basic support for extracting music from audio CDs
 75. Update copy of Solid to KDE4.10.1 - adds Udisks2 support.
 76. Reduce memory usage - by having only Device/OnlineService derive from
     QObject, as opposed to every artist/album/song!
 77. Fix HTTP server listening on non-loopback address.
 78. Rename 'Library' tab to 'Artists'
 79. Save, and restore, sizes of (most) dialogs.
 80. Add stream name to fragment part of URL sent to MPD. This way, when the
     playqueue listing is received back from MPD, the name can be determined.
 81. Improve MPRIS interface - fix CanPlay/CanPause status update, and use micro
     seconds for times.
 82. Use EchoNest to retrieve artist information.
 83. Add ability to specify extra options for sshfs.
 84. Press F11 to make Cantata fullscreen.
 85. If configured to use GNOME MediaKeys, then start dbus service if it is not
     already started.
 86. Implement 'Stop after current track'
 87. Add 'Stop after track' to playqueue context menu.
 88. If cropping an artist image (because it is not square), always crop from
     the top. This is because if we have a portrait picture (where the height
     needs adjusting), then the artist's face is likely to be nearer the top
     than the middle.
 89. Middle click volume button to mute/unmute.
 90. Stream/category icons.
 91. When dynamic mod is active, and dynamic tab is not shown, show stop dymamic
     button.
 92. Add support for 'Auto' replaygain setting.
 93. When opening ffmpeg codec (for replaygain), try to open for 'float'
     version.
 94. If compiled with both ffmpeg and mpg123, then prefer mpg123 for mp3 files
     if ffmpeg does not have mp3float codec.
 95. Remove duplicates from dynamic rules.
 96. Add an 'Add' button to dynamic rule dialog, so that multiple rules may be
     created without closing dialog.
 97. Show next track in tooltip of next track button. (Only valid whilst
     playing)
 98. List untagged files in main 'artists'/'albums' views. Attempt to guess the
     tags based upon the filename/folder. e.g.
         $artist/$album/$trackNo - $trackTitle
 99. Monochrome sidebar icons. Enabled by default for Linux builds, disabled by
     default for Windows builds. To alter setting edit Cantata's config file and
     set the following in the "[General]" section to either true or false:
         monoSidebarIcons=false
100. If HTTP is set to a dynamically allocated port, then attempt to re-open
     the same port number the next time Cantata is started.
101. Enable HTTP server, and use, by default.

0.9.2
-----
 1. (Qt-Only) Don't show clear button for read-only line-edits.
 2. Fix 'Locate In Library' when library is not set to tree mode.
 3. Use grid layout for transcoder slider, removes Qt layout warning.
 4. Simplified Chinese translation - thanks to 薛景
 5. Fix restoring of splitter sizes when we start minimized to system tray.
 6. Fix decoding of Cantata HTTP stream URLs.
 7. Work-around issue of non display of main window when using transparent
    QtCurve theme.
 8. Fix playing of some non-MP3 files external to MPD database via Cantata's
    simple HTTP server.
 9. Fix playing of files containing square brackets, etc, that are external
    to MPD database via Cantata's simple HTTP server.
10. Fix detection of some filetypes.
11. Prevent multiple KDE Cantata windows appearing if app is attempted to be
    started repeatedly in quick succession.
12. For streams, if we have a 'name' but no artist or album title, then just
    display the name (this is usually the Radio Station)
13. For a song to be 'empty', artist, album, title, and name need to be empty.
    This fixes detection of updates to the name field when playing streams.
14. Fix potential memory leak when stopping threads.
15. Only enable play queue save-as and clear buttons if there are items in the
    play queue!
16. Fix detection of streams in play queue when current song is updated.

0.9.1
-----
1. Fix saving of 'Store covers in MPD dir' setting.
2. Show/hide main window when KDE tray item clicked.
3. Add 'Show Window' to tray item menu.
4. Don't allow to set focus onto clear button in line-edits.
5. Remove animation when showing messagewidget, seems to workaround a crash
   when compiled with KDE and using Oxygen.
6. Fix activation of devices tab via keyboard shortcut.

0.9.0
-----
 1. Add a 'server' mode to cantata-dynamic. This contains a basic HTTP API to
    list rules, update rules, and start/stop the dynamic mode.
 2. Allow use of 'dynamic' playlists in windows builds, but only for server mode
    cantata-dynamic.
 3. Add support for 'Similar Artists' in dynamic mode.
 4. Add a gui setting to control the enforcement of single-click.
 5. When sorting tracks, sort on duration after sorting on name, title, and
    genre. This way if tracks do not have a track number, disc, year, etc, then
    we will sort on the name/title before duration.
 6. When refreshing DB, make sure Albums view is at top level.
 7. Set Artist, AlbumArtist, and Album of cue files to that of assigned album.
 8. Improve item-view mouse over for Gtk+ style - when hovering, draw selection
    into a QPixmap and set painter's opacity before drawing image.
 9. Workaround issue of sometimes having an item (in icon view) staying in
    mouse-over state, even though mouse has left view.
10. For Qt translations, provide two strings for plural translation. One for
    singular (e.g. "1 Track") and one for plural (e.g. "%1 Tracks"). For
    languages that have more than 1 plural form, it is suggested that BOTH
    strings are translatated to the format "Items: %1" - e.g. "1 Track" becomes
    "Tracks: 1", and "%1 Tracks" becomes "Tracks: %1"
11. Device sync support for Qt-only  builds. To support this, a cut-down version
    of Solid is included.
12. Don't enforce oxygen icons for Qt-only (Linux) builds. Check for missing
    icons, and use alternatives.
13. Use a random icon that matches the repeat icon better.
14. Draw the consume icon in code, so that it matches random and repeat better.
15. Add a ON/OFF style checkbox for Linux builds when NOT run under KDE, and
    using QGtkStyle.
16. Add a custom spinbox to closer match Gtk3's large button spinbox style.
    Only for Linux builds NOT run under KDE, and using QGtkStyle.
17. Add 'Show Window' action to Linux builds - so that we have a way of
    restoring the Cantata window from the Unity menubar.
18. Use freedesktop.org notifications for Qt-only Linux builds.
19. Show menubar when run under Unity (Qt-only build).
20. Improve MPRISv2 interface - signal when proprties change.
21. Play/Pause track when middle click on tray icon for Qt-only builds (KDE
    builds already have this). Thanks to spartanj for the patch.
22. Remove faded icons from background of sync dialog views (as these did not
    render correctly with all styles), and enforce alternate row colours - as
    per other views.
23. Fix image/icon size, and spacing issues, in sync dialog when the library
    view is set to use icon/list style.
24. Add 'Add To Playlist' action to playqueue context menu.
25. Fix retrieval of covers from file-system based devices.
26. Support for modifiable keyboard shortcuts in Qt-only builds. (Code stolen
    from Quassel!)
27. Add option to control whether Cantata should minimise to the notification
    area when closed (default), or terminate.
28. Only save settings when modified.
29. Add option to support GNOME media keys.
30. Add setting to control name (without extension) of downloaded cover files.
31. For KDE builds, if run under Unity set KStatusNotifierItem status to
    Active - otherwise no item appears.
32. Truncate error messages to 150 characters. Set message (up to 500
    characters) as tooltip of message widget.
33. Remove setting of dockmanager item to current cover. This is better handled
    by an external dockmanager helper script, as per amarok, etc.
34. Remove option to enable/disable MPRIS interface, and always have enabled.
35. Disable Phonon stream playback support by default. Currently not all
    Phonon backends seem to work reliably, and there can be delays between
    pressing a button (e.g. start) and the action occurring (due to buffering?).
    To re-enable pass -DENABLE_PHONON=ON to cmake.
36. Handle UTF-8 playlist names.
37. Sort selected playqueue indexes before adding to stored playlist.
38. Update 'Add To Playlist' menu when rename a playlist.
39. Only need to download/parse streams (to check if they are a playlist) when
    added from the streams page. (Streams in an MPD playlist will not be
    playlists themselves, as MPD does not support this.)
40. Allow building of replaygain support with either ffmpeg or mpg123, or both.
41. Display extra information texts in messageboxs and not whats-this popups,
    as QGtkStyle seems to have issues with the palette in these.
42. Fix dynamic playlists with UTF-8 strings.
43. Remove unreferenced library cache's each time connection details are saved.
44. When KDE version is closed via quit action, ensure main window destructor
    is called - so that settings are saved.
45. Compile windows build against taglib 1.8 - enables tag editing and track
    reorganisation.
46. Korean translation - thanks to Min Ho Park.
47. Fix detection of audio codecs for ffmpeg 1.0.
48. Remove libmaia usage.
49. For Linux Qt builds, use dbus to determine single app status.
50. Add connect/disconnect functionality for UMS devices.
51. Fix crash when calling QFileDialog in Qt-only builds when Oxygen or QtCurve
    themes are used.
52. In devices view, only show covers that come from device.
53. Remove folders, albums, and cover art, when deleting tracks from MTP
    devices.
54. Copy covers from MTP devices. (Copying to the device is not currently
    supported.)
55. Show track listing progress when loading MTP devices.
56. For Qt-only Linux builds, check if current icon theme has the
    "document-save-as" icon. If not, then if the user has ether oxygen or gnome
    icon theme installed - set the icon theme name to this.
57. For Qt-only builds, allow to configure the icon theme name via Cantata's
    config file (~/.config/cantata/cantata.conf on Linux). Edit file and add
    (e.g.) the following in the "[General]" section:

        iconTheme=oxygen

    ...there is no GUI for this, as its only a work-around for some window
    managers.
58. If group single tracks, or multiple artists, settings are changed, then
    rebuild library and device models from existing set of songs - as opposed
    to re-reading all songs from MPD/device.
59. If window is minimized to system tray when Cantata is terminated, then
    restore to this state when restarted.
60. Add search line-edits, and expand/collapse all, to sync dialog.
61. Add a 1 pixel border around large cover in top-left corner.
62. When refresh button is pressed send an update and stats request to MPD.
63. Hard-code black background and grey text for cover widget tooltip.
64. Ignore quit action if we have open dialogs.
65. Fix crash when copying items to devices after a rescan has been performed.
66. Use UPower (Linux/Qt) to detect when being resumed, and if so reconnect to
    MPD.
67. In sync dialog, when detecting items unique to library/device, revert
    various artist work-around for each track if it is enabled on the device.
68. Fix memleak when copying items to/from devices.
69. When creating temp files, ensure these are in /tmp!
70. If applying various artist workaround for a remote device, apply the
    workaround to a local temp file, and send this.

0.8.3.1
-------
1. Fix Qt-only compile.

0.8.3
-----
 1. Add CMake options to disable 'automagic' dependencies - required for gentoo
    USE flags (http://www.gentoo.org/proj/en/qa/automagic.xml). Because of this
    WANT_KDE_SUPPORT option has been renamed to ENABLE_KDE
 2. When requesting covers from a HTTP server, use QUrl::toPercentEncoding.
 3. Fix multiple download attempts when getting covers from HTTP.
 4. With KDE builds (4.7 or later), and Windows Qt builds, reconnect to MPD when
    system is resumed. (A reconnect attempt is made every half second for a max
    of 15 seconds)
 5. To help with windows build, embed pre-rendered versions of main icon.
 6. When restoring window from notification area, also raise and activate the
    window.
 7. Fix issue with certain styles not drawing selection background in icon view.
 8. If we show an error, or info, message whilst using compact interface - then
    adjust size to take message widget into account.
 9. If we lose MPD connection, then show error widget.
10. Reset status when connection lost.
11. Don't attempt to send commands if not connected.
12. In Qt-builds, if we fail to update files (tag editor, replaygain) then
    show the list of failures in the 'detailed text' section.
13. In Qt (Linux) build, also register org.kde.cantata service - so that
    messages from dynamic helper can be received.
14. Update version of KMessageWidget
15. Update Polish translation.
16. Use 'avcodec' if 'ffmpeg' is not found.
17. Show current song details in tooltip of notification icon for Qt builds as
    per KDE builds.
18. If 'showPage' is called (via DBUS interface), ensure interface is expanded.
19. Save MPD filename scheme settings with MPD server settings.
20. Use QWIDGETSIZE_MAX and not INT_MAX to set maximum height of expanded
    interface.
21. More consistent control of prev/next buttons.
22. Allow 'showPage' dbus command to also show playqueue (if this has been
    placed in the sidebar)
23. Fix handling of filename's with quotes.
24. Fix track order when adding newly added album, via folders page, to
    playqueue.
25. Don't split albums based upon year - this messes up compilation albums,
    where each track may have a different year.
26. To be consistent, use the year of the lowest track number to be an album's
    year.
27. Use "users" group and not "audio" when setting the group ID of covers,
    lyrics, and audio files.
28. If we have no song tag details, show filename in playqueue.
29. In KDE builds, check if MPD is readable each time we get a device added
    or removed signal from Solid if using KDE4.9. If we are using an older KDE,
    or using Qt-only (on Linux) then watch for changes to /proc/mounts
30. If the date string received from MPD is longer than 4 characters, just use
    the first 4 - as we are only interested in the year.
31. If not changing artist/albumartist/album of a track in tag editor, then
    just update track if possible - as opposed to removing and adding to list
    (which causes a complete refresh of list)
32. When displaying cover tooltip, if image is too big or image file is not
    found (as is the case for embedded covers), then save the image into a
    base64 array as a PNG - and have Qt use this in the 'img' tag.
33. Package Qt's jpeg image plugin with windows zip file - otherwise jpeg
    cover images cannot be loaded!
34. Package missing edit-clear-locationbar-rtl.png icons so that clear button
    appears in windows line-edits.
35. Use correct palette (Active/Inactive) when drawing item text.
36. Force single-click activation in views. To enable double-click mode (which
    depends upon the style), edit cantatarc (KDE) or cantata.conf (Qt only) and
    set 'forceSingleClick=false' in the '[General]' section.
37. When looking for album covers, also check for "${file}.jpg/png",
    "${albumArtist} - ${album}.jpg/png" and "${album}.jpg/png" within current
    songs folder. (These are checked AFTER cover.jpg/png, etc.)
38. Improve FancyTabWidget appearance for Gtk+ style - when hovering, draw
    selection into a QPixmap and set painter's opacity before drawing image.
39. Elide to right (or left for RTL) strings in sidebar.
40. Implement support for translations in Qt-only builds. These use the KDE
    translations. Plural forms not supported correctly, hence instead of
    "1 Track" / "2 Tracks" Qt will have "Tracks: 1" / "Tracks: 2" The existing
    translations will need to be updated to handle the Qt specific cases.
41. Don't clear genre list when clearing music library model.
42. If we are grouping multiple-artists albums under 'Various Artists', then
    we also need to place 'Various Artists' albums there as well. This oddity
    can occur when i18n('Various Artists') != 'Various Artists'
43. Add 'Back' action to context menu of list/icon views.

0.8.2
-----
1. Fix track order when adding newly added album to playqueue.
2. When dragging one artist, or album, in treeview to play queue, show cover
   image (if possible).
3. Fix crash when toggling playqueue in sidebar at application start-up.

0.8.1
-----
 1. Detect when this is the first time a user has run Cantata. If so, don't
    place the play queue in the sidebar.
 2. Don't attempt to rename a playlist to its current name - otherwise it is
    deleted!
 3. When applying updates in tag editor, track organizer, or replay gain dialog
    show a progress bar to indicate activity.
 4. Display version number in Qt-only about dialog.
 5. When expanding interface, set max size to INT_MAX. Otherwise, on windows at
    least, the maximise button can get disabled.
 6. If 'Music folder' in settings dialog is a HTTP folder (path starts with
    http://), then attempt to download cover-art from the HTTP server.
 7. Don't update MPD volume just after we receive a status update - as MPD
    already has that setting! Fixes an issue with pulseaudio setups - where MPD
    disconnects from pulse audio, tells cantata that volume is -1, and cantata
    attempts to set volume to 0.
 8. When fading on stop, reset original volume immediately before sending stop.
 9. Fix saving of library to XML cache when multiple artist albums are grouped
    under 'Various Artists' (only save artist attribute once!!)
10. Use command list when adding songs to playlist.

0.8.0
-----
 1. Add ability to play MPD HTTP output stream via phonon. Thanks to Marcel
    Bosling for the idea and initial patch.
 2. Implement Ctrl+MouseWheel zoom for Qt-only info view.
 3. Initial attempt at a Windows port. (This is my 1st EVER windows build, so
    don't expect much!). See README.
 4. Add Track Organizer dialog to Qt-only build.
 5. Disable 'Edit Tags' and 'Organize Files' actions if MPD dir is not readable.
 6. No need to check if playqueue song exists in MPD dir when performing a
    'locate in library'. Its possible that the configured MPD dir does not
    exist - but 'locate in library' should still work.
 7. Implement a basic spinner widget for item views in Qt-only builds.
 8. Make Qt-only builds single instance apps, as per KDE build.
 9. Add commandline file loading support to Qt-only builds.
10. Remove ThreadWeaver usage, and add ReplayGain calculation support to
    Qt-only builds.
11. Fix size of playback buttons in qt-only build. Force icons to have a
    28x28 setting.
12. Add support for listing playlist files in folder view. Thanks to Aleksandr
    Beliaev for the patch.
13. When adding items to the playqueue, sort the selected items based upon
    their QModelIndex.
14. Add support for multiple MPD servers. Only 1 is ever active. If there
    are 2 or more servers defined, the settings menu will contain a sub menu
    to allow quick access to each server.
15. If an MPD connection has more than 1 output, show an 'Outputs' sub menu
    in the settings menu.
16. Disable volume control if MPD returns a volume of -1 - as it does when the
    mixer is disabled.
17. Read images from mp3 (ID3v2), mp4, flac, and ogg files.
18. Read lyrics from mp3 (ID3v2) files.
19. Fix genre filtering in albums view - filter was not updated when genre was
    changed.
20. Fix background painting in lyrics view for non-oxygen styles.
21. Enable mouse-tracking for all list/tree views.
22. Allow Icon/List for library view.
23. Add option to show artist images in library view.
24. Don't allow selection to overlap tab-widget border-lines in preferences
    dialog (Qt-only build).
25. Show playlists in library and album views (requires MPD 0.17)
26. Update ultimate_providers.xml to match Clementine 1.0.1
27. When clicking on a label associated with a combobox, show the combo popup.
28. Fix spacing issues of compact interface with some styles. If the style
    (such as the Qt Gtk style) returns -1 for its spacing, assume a spacing of
    4 pixels instead.
29. Workaround tab-widget issues with Gtk style. Only draw highlight for
    selected item, and item currently under mouse - no fade in/out.
30. Fix/workaround issues with fetching lyrics from letras.mus.br
31. Add option to specify HTTP server listen address/interface.
32. Support MPD queue functionality. Add an 'Add With Priority' to menu of
    library, etc, views. Add a 'Set Priority' to play queue. Requires MPD
    0.17.0 or newer.
33. Only ignore closeEvent if this is a 'spontaneous' event and we have a tray
    icon.
34. Drastically reduce replay-gain calculation memory usage.
35. Make more columns italic in replaygain dialog to mark entries that will be
    modified.
36. Make TagLib optional.
37. Adjust size of covers in grouped view, icons in views, and main cover
    preview based upon font size.
38. Add an extra cover-size setting (Automatic) which will adjust the covers in
    library and albums view based upon font size.
39. Add option to place playqueue in sidebar.
40. Add keyboard short-cut for 'back' icon in listviews.
41. Fix issue (in Qt-builds) where message widget sometimes (mainly at start-up)
    is not not as wide as the main window.
42. Provide sub-text for all items in folderview, fixes corruption of list
    mode.
43. Add option to have sidebar on the sides, top, or bottom.
44. Only show number of tracks, and duration, in playqueue status - consistent
    with other players.
45. Fix compile with avcodec v54
46. If KWallet is disabled, store password in config file.
47. When fetching lyrics or info for a song which has had the 'various artists'
    workaround applied - revert this before requesting data.
48. When reading mpd.conf file, if bind_to_address is set to "any", then use
    default of "localhost".
49. Fix noticing of tag changes when MPD database is updated. When comparing
    songs need to check all fields - not just filename!
50. Fix usage of tekstowo.pl and vagalume.com.br in lyrics settings.
51. Stop position timer whilst dragging slider.

0.7.1
-----
1. When saving track name to cache, save the actual name, not the displayed
   name.
2. Attempt to fix errors in cache where the displayed name was saved.
3. Fix tag-editor's 'Various Artists' workaround when all tracks is selected.
4. Set minimum font size for info page.
5. Only automatically start playing songs if we are replacing the playqueue, or
   the song is the first song added via the commandline.
6. Fix transcoding with new ffmpeg - thanks to Martin Blumenstingl for the
   patch.
7. Have cantata-dynamic helper script send a dbus message when it starts and
   stops - so that cantata main window can show the current status if the helper
   is started externally.
8. If 'Return'/'Enter' is pressed when play queue has focus, start playing from
   the first selected song.
9. Fix Qt-only install failure (cannot find RUNTIME).

0.7.0
-----
 1. Add dynamic playlist support.
 2. Fix detection of non standard filename covers.
 3. Clear any existing search when 'Locate In Library' is activated.
 4. In tag-editor, only set placeholder text to '(Various)' for fields where
    there are actually some values set.
 5. Add now playing info to MPRIS interface - thanks to Martin Blumenstingl
    for the patch.
 6. Better, less hacky, workaround for QAbstractItemView shift-select bug
    (https://bugreports.qt-project.org/browse/QTBUG-18009). Thanks to Spitfire
    from qtcentre.org forums for fix.
 7. Add a 'search' action (Ctrl-F) that will move focus to current tab's search
    field - or to play queue search field (if play queue has focus).
 8. Add 'Raise' support to MPRIS interface.
 9. Added a cantata-specific dbus interface with 'showPage(page, focusSearch)'
    method. So, to raise cantata, show library page, and focus on its search
    field:
        qdbus org.kde.cantata /org/mpris/MediaPlayer2 Raise
        qdbus org.kde.cantata /cantata showPage library true

    'page' can be either; library, albums, folders, playlists, dynamic, streams,
    lyrics, info, serverinfo, or devices. The page will only be shown if it is
    currently enabled.
10. Show song information in playqueue tooltips.
11. Default to 'Alt+<num>' for page shortcuts.
12. Improve MPD connection reliability. When one socket (command or idle) is
    disconnected, only reconnect that one. If a reconnect fails, then
    disconnect both. If we receive an empty reply to a command and socket has
    been closed - then attempt to reconnect and resend command.
13. Request list of URL handlers immediately after connecting.
14. Check if user is a member of 'audio' group at start-up, and warn if they
    are not. If a user is a member of 'audio', then cantata will save covers,
    lyrics, imported songs, etc, as writeable by 'audio'
15. Attempt to read defaults from /etc/mpd.conf (This is usually readable by
    'audio' group)
16. If connection fails due to password, then state this in error message.
17. Add extra-large  cover sizes (64pixels library, 160pixels albums).
18. Show full size cover image in tooltip for current track cover preview
    widget.
19. Update copy of ebur128
20. Fix fetching of covers for grouped playlists.
21. For sshfs devices; check ksshaskpass is installed, and check that cantata
    was not launched from the commandline (otherwise ksshaskpass is not
    invoked!)
22. Add option for UMS devices to autoscan, or not, when detected - default is
    set to not autoscan.
23. Fix detection of some UMS devices that are already mounted at startup.
24. Load library view covers in separate thread, as per albums view.
25. Add expandAll (Ctrl +) / collapseAll (Ctrl -) actions to expand/collapse all
    items of currently focused treeview.
26. Emit dataChanged() for all album header items that match the album
    currently being expanded/collapsed in the groupedview.
27. Add a basic 'sync' dialog. Shows two lists; left has songs that are only in
    library, right has songs that are only on device. Each has a 'Copy to'
    action. When songs are copied, the lists are updated to show the remaining
    differences.
28. Fix albums view position when going back from album contents.
29. Add option to draw (15% opacity) tiled cover as background to lyrics page.
30. When clicking on a label, pass focus to buddy widget. If this buddy is a
    checkbox, then also toggle its state.
31. When grouping songs into albums, take into account song year. Its possible
    for an artist to release two albums with the same name in different years!
32. Remove 'Single Tracks' cover creation. This is not used in grouped view,
    etc.
33. Limit downloaded covers to a max of 600x600 pixels.
34. Don't update 'current song' details when playqueue is updated - the current
    song is updated by other means. As we now use 'plchangesposid' to speed
    updates, we don't always have the full song info when playqueue is updated.
    This fixes a bug where the cover widget sometimes gets reset to empty.
35. When updating a non-MTP device, prompt the user as to whether to perform
    a partial scan (only new songs are scanned), or a full scan (where all songs
    are rescanned).
36. When creating/editing a SSHFS remote device, allow user to use
    KDirRequester to select music folder. (KDirRequester is passed an sftp://
    url to obtain folder listing).
37. When refreshing lyrics, instead of starting at first provider and iterating
    them all again (which will result in the same hit again), start at the next
    provider. This allows all providers to be checked. Thanks to Martin
    Blumenstingl for the patch.
38. Fix copying track from MTP devices.
39. When performing a custom lyrics search, and we have no current song, don't
    attempt to save the file to MPDs music folder (there is no valid filename).
40. When adding items to playqueue, only start to play if playqueue was
    previously empty.
41. When determining indexes to add to 'selectedIndexes' for a collapsed album
    (in grouped style play queue/lists), ensure each index is only added once.
42. Fix loading of songs via commandline if we are set to use HTTP server.

0.6.1
-----
1. Fix grouped playqueue when we have repeated instances of an album. Now when
   an album is expanded/collapsed - all instances are expanded/collapsed.

0.6.0
-----
 1. Grouped style for playlists.
 2. Fix reading of lyrics files with special characters - thanks to Martin
    Blumenstingl for the patch.
 3. Give tray icon a tooltip - thanks to Martin Blumenstingl for the patch.
 4. Apply 'group single track albums' to devices.
 5. Add option to group albums with multiple artists under Various Artists.
 6. When checking whether a song exists in device, or library, need to also
    check 'single tracks' and 'multiple artist' groupings - if these have been
    enabled.
 7. Update playlists if modified by another client.
 8. When an album is collapsed/expanded in playqueue, call dataChanged() so that
    title row is redrawn - otherwise, for single-track albums, the view might
    not get refreshed.
 9. Provide option to *not* store downloaded covers in MPD dir.
10. If fading out to stop, and cantata is closed, then send stop command.
11. Add 'Edit Song Tags' action to playqueue context menu.
12. When loading covers, if we fail to find one of the standard names
    (cover.jpg/png, AlbumArt.jpg/png, folder.jpg/png), then use the first image
    found.
13. Add a 'Locate In Library' action, to locate the selected play queue track
    in the library page.
14. Fix crash when quiting Cantata whilst devices are being scanned.
15. Disable JavaScript for webview, this removes the 'Show'/'Hide' buttons from
    wikipedia pages.
16. Set font family for info page. (KDE only)
17. Adjust min and max sizes for sidebar.
18. Add basic lyrics editing.
19. Fix order of items added from playlist to playqueue, when individual items
    of the list were selected.
20. Fix logic of replacing play queue - the clear message is sent in the MPD
    thread just before the add message.
21. Improve albums page responsiveness when loading covers.
22. Better searching - search on all strings, in any order.
23. Automatically expand treeview items when searching.
24. Add custom icons for library and info pages.
25. Use CD icon (without music note) for albums page.
26. Better size calculation of compact view height - should prevent text
    clipping.
27. Use 'plchangesposid' MPD command to get list of playqueue changes - means
    less data needs to be read from MPD per playqueue update.
28. Support 'single' mode.
29. When using large sidebar, attempt to calculate correct min size.
30. Add option to sort albumview by artist/year/album.
31. Add dialog where user can specify artist and title to fetch lyrics - useful
    if automatic fetching fails.
32. Fix crash in albums model when library updated after albums removed.
33. Fix filetype resolver so that we don't attempt to read tags from video files
    (asf/wmv/mp4v) - these seem to crash TagLib.
34. When using MPRISv2 interface, don't attempt to play a song if the playqueue
    is empty!
35. Use SH_ItemView_ActivateItemOnSingleClick to detect single click mode in Qt
    build.

0.5.1
-----
 1. Reduce QMutex usage - have MPDStats/MPDStatus emitted as objects, and
    stored in relevant classes.
 2. When renaming files, rename file.lyrics if it exists.
 3. Use QDateTime::toString(Qt::SystemLocaleShortDate) to show server last
    update in server info page.
 4. TagLib is required for build.
 5. Enable tag editor for Qt builds.
 6. Qt-only build does not install icons, so we need to embed the 16px and
    22px version of each into the application.
 7. Save lyrics and info pages zoom settings.
 8. If compiled for Qt-only, and icon theme is not oxygen, then check to see
    if current icon theme has required icons (devices/media-optical-audio, etc)
    If not, then if oxygen is installed - set icon theme to oxygen.
 9. Allocate more space for tab if required - up to a max of 50% extra. This
    fixes "HTTP Server" config page title under Ubuntu with Qt-only build.
10. Install icon for Qt-only build.

0.5.0
-----
 1. Add ability to calculate replaygain tags. (KDE only)
 2. Add a VERY basic HTTP server so that local files can be played even when
    connected to MPD from a non-local socket.
 3. Add grouped playqueue style - where album entries are grouped.
 4. Add option (in sidebar's context menu) to auto-hide the library, etc,
    browser pages when the mouse is not over them. Thanks to Piotr Wicijowski
    for implementing this.
 5. Add support for mounting a 'device' via sshfs, and for treating a local
    folder as a device. Currently NOT in main build, to use pass
    -DENABLE_REMOTE_DEVICES=1 to cmake
 6. Add "Open File Manager" action to folder page context menu. (KDE only)
 7. Open local files passed on commandline - if using local socket, or HTTP
    server. (KDE only)
 8. When MPD connection is lost, indicate via message widget.
 9. Don't show base dir when editing tags of tracks on a UMS device.
10. In tag editor dialog, if a field in the 'All tracks' section has multiple
    values - set the placeholder text to '(Various)'
11. Add a cmake option CANTATA_TRANSLATIONS, used to specify which translations
    should be built and installed. e.g.
        -DCANTATA_TRANSLATIONS="en;pl"
12. When playing, centre on current track.
13. Use correct value for transcoder parameter.
14. When saving cache file, if a track is filed under 'single artists' then
    store its actual album name in the cache file. Then when cache is loaded,
    the correct album name is available to use for the tag editor.
15. Fix crash when deleting streams.
16. Add option to sort albums in albums view by either album-artist or
    artist-album.
17. Fix build with "-DCMAKE_BUILD_TYPE=debugfull" set - thanks to Martin
    Blumenstingl.
18. Fix drag'n'drop of tracks from album view into play queue - affected list
    and icon/list modes.
19. Add a workaround for dockmanager issues - delay registration for .25secs.
20. Change default settings; use tree style for library, playlists, and
    streams.
21. Better playback button sizes.
22. Better height for collapsed interface.
23. Save/restore height of expanded interface, even when interface is
    collapsed.
24. Expand interface when showing error messages.
25. Combine playback and output config pages.
26. Disable MPD config items if not connected to MPD.
27. Save expanded and collapsed sizes to config file.
28. Change order of actions in system tray menu to be consistent with main
    window.
29. Use italic font for stream items in playqueue.
30. Update copy of KMessageWidget
31. Add ability to increment track numbers to tag editor.
32. Esc key navigates back in list views - if view has focus.
33. Better control over prev/next track buttons.

0.4.0
-----
 1. Transcode support when copying to devices.
 2. Don't allow editing of device properties when device is busy.
 3. Don't allow to change Music folder for UMS devices when properties dialog
    is shown from copy dialog.
 4. Use LibMTP to read device's serial number, and use this as the config key
    when saving properties to cantata's config file.
 5. Add option to cache contents of UMS library to an XML file on the device.
 6. Basic tag editing. (KDE only)
 7. Fix UMS and MTP song durations.
 8. Show file location in tooltips.
 9. Only save streams file if it has been modified.
10. Basic support for configurable stream/category icons. (KDE only)
11. Add track organiser dialog - so that files/folders can be renamed to match
    library/device scheme. (KDE only)
12. Unmaximise window when using compact interface.
13. When using local UNIX domain socket, allow playback of non database files.
    (This local UNIX only restriction comes from MPD)
14. Use KMessageWidget to show errors - copy of KDE code taken for pre KDE4.7
    and Qt only builds.
15. Fix updating of views when genre filter is changed.
16. Improve sidebar style context menu - icon only is a separate checkbox.
17. Improve look of play queue. Display 'play' icon next to current track.
18. Disable playback buttons depending upon size of play queue.
19. When sending track change notification, also include cover (if we have one)
20. Optionally fade-out track when stopping.
21. Add genre filtering to playlists and streams pages.
22. When pressing play after pressing stop, start playing at current song -
    don't start at beginning of play queue.
23. Better repeat and consume icons.
24. Fix search placeholder text when navigating back in list style devices.
25. Query MPD for list of supported protocols - and only allow supported URLs.
26. Remove 'Copy Track Info' from play queue context menu - functionality is
    available via Ctrl-C
27. Fix streams export.
28. Save/restore maximised state when collapsing/expanding interface.
29. Add 'copy to device', etc, actions to folders page.
30. Incremental update of folder page items.
31. Use current style for position slider.
32. Fix some toolbutton clipping with some styles.
33. Fix amarok import script.
34. Fix crash when navigating listviews.
35. Manually stop KStartupInfo when app is started. App is a KUniqueApplication
    and further attempts to restart start a new startup-info, which stays until
    the timeout. This fix prevents this.
36. Fix toolbutton icon size - helps with cleanlooks.
37. When copying files to library, and user is a member of 'audio' group - then
    set files/dirs as writable and owned by 'audio' group.

0.3.0
-----
 1. Basic copy to/from device support - USB mass storage (UMS) and MTP support
    only. MTP is *very* slow. (KDE only)
 2. When refreshing library/albums, only affect parts of the model that have
    changed. (Previously the whole model was replaced).
 3. When changing name of playlist, show the original name in the line-edit.
 4. Fix adding songs with spaces in their filenames to stored playlists
 5. When we receive an updated signal from MPD, refresh library view.
 6. When displaying songs of various artists albums, show as 'track number -
    artist - song'
 7. German translation - thanks to Lutz Lüttke
 8. Rename 'Update Database' action to 'Refresh', as the current view is now
    also refreshed. This action will also completely refresh the model.
 9. When determining cache filename, replace slashes with underscores.
10. Improve playqueue handling when we have 1000s of entries.
11. Fix sidebar painting for Qt styles (cleanlooks, plastique, etc.)

0.2.1
-----
1. Updated polish translation.
2. When editing a stream category name, show the current name in the entry
   field.
3. Use KInputDialog, not QInputDiallog, for KDE build.
4. Fix memory leak in playlistsmodel.
5. Fix crash when removing items from playlist.
6. When checking for existing covers, also check AlbumArt.jpg/png

0.2.0
-----
 1. Add option to show (and sort by) year of albums in library view.
 2. Show 'Various Artists' at the top of the library view.
 3. Add option to group single track artist/albums under
    'Various Artists'/'Single Tracks'/'Artist - Track'
 4. Improve time slider accuracy, by checking the time elapsed at each
    interval.
 5. Fix inconsistency between adding items via drag'n'drop and using the 'add
    to' and 'replace' actions.
 6. Add basic MPRISv2 interface - mainly so that Cantata can be controlled via
    IconTasks' media buttons.
 7. Add option to set icon in dockmanager docks (IconTasks, Docky, DockBarX,
    etc) to that of the current track.
 8. Provide a simple script to convert amarok radio streams into cantata
    streams.
 9. Use .cantata extension for import/export of cantata streams.
10. Only export selected stream categories.
11. Show track details in titlebar, so that these also appear in taskbar
    tooltips.
12. Use 'play' icon for 'replace play queue', and 'add' icon for 'add to play
    queue'
13. In list/icon view, show actions of non selected/highlighted items at 20%
    opacity.
14. Disable position slider when playing a stream.
15. Basic elided-text class for Qt-only build.
16. Don’t build libMaia as a library, just compile into cantata.
17. Expand/collapse interface via clicking on album cover.
18. Spanish translation - thanks to Omar Campagne.

0.1.2
-----
1. Explicitly link each Qt library.
2. Fix playqueue header hiding/restoring.
3. Allow to connect to local UNIX domain socket.
4. Jump to track position by clicking on position slider. Thanks to Piotr
   Wicijowski for the idea/patch.
5. Fix name of Polish translations file.
6. Better detection of when mouse is in action rect.
7. More opaque action background.

0.1.1
-----
1. Play/Pause track when middle click on tray icon. (KDE only). Thanks to Piotr
   Wicijowski for the idea/patch.
2. Only connect to QTreeView::activated when in single-click. Double-click
   already expands/collapses the item - so if we also do this on activated,
   then the item is re-collapsed/expanded.
3. Only create the tray icon once!
4. Add context menu to toolbar buttons to enable using smaller buttons.
5. Polish translation - thanks to Piotr Wicijowski
6. To be more consistent with other apps, show expander for root items in tree
   views.
7. Show spinner over library/folder view when loading. (KDE only)
8. Fix some right-to-left issues.
9. Czech translation - thanks to Pavel Fric

0.1.0
-----
[Changes from QtMPC]
1. Use XDG_CACHE_HOME to store XML and covers
2. Hide listview headers
3. Dir view -> Folders, Library view -> Library
4. Removed setting of font style and size - only bold now set
5. In library list, use album-artist (if available, artist otherwise) to group
   albums.
6. Remove search combo, and always default to searching in all fields.
7. Removed warning when add to playlist, and nothing selected - was
   inconsistent with playlist view. (Add to playlist actions should now only be
   enabled if there is something selected)
8. Fix call to setupGUI so as to not create a statusbar
9. If compiled with KDE support;
    - use KMessageBox
    - store config via KConfig
    - make app a KUniqueApplication, and
    - use KWallet to store password
10. Show cover on top-left
11. Fix blank item showing in playlist when playlist is empty
12. Hide password in preferences dialog
13. Only 2 socket connections to MPD - one for commands, and one for idle
    messages.
14. Only load data for a tab when the tab is selected.
15. If saving to a pre-existing playlist, ask the user if it is ok to
    overwrite. If so, delete the existing one first, then save.
16. Add a combo to filter on genre.
17. Check for cover (cover.png/jpg) within folder of current track to get
    cover-art, otherwise download.
18. Fetch lyrics
19. Also check mpdFolder+filename.lyrics for lyrics file
20. Use QNetworkAccessManager for HTTP downloads. If compiled with KDE support,
    use KIO::Integration::AccessManager so that we can gain access to KDE's
    proxy settings.
21. Use sidebar instead of tabbar.
22. Support replaygain setting.
23. Split config into pages.
24. Add option to stop playback when cantata exits.
25. Fixed thread usage - now sockets are in their own thread.
26. Add album-cover view
27. Support radio streams
28. Query artist/album information via wikipedia - show in a K/QWebView
29. Port to KStatusNotifierItem

--------------QtMPC ChangeLog--------------------

RELEASE 0.6.1
-------------

* Gracefully handle connection problems (ticket #35)
* Fixed song parsing when track or disc is num/totalnum (ticket #213)
* Crop playlist support (ticket #207)
* Shuffle support (ticket #209)
* Renaming of playlists (ticket #210)
* Output support (enable/disable) outputs (ticket #7)
* Copy song info to clipboard from playlist selection (ticket #184)

RELEASE 0.6.0
-------------

SVN:Thu Oct  6 20:45:11 CEST 2010
* Added idle support
* Removed bitrate from window status bar
* Removed tooltip (ticket #204) for now since it was not being updated

SVN:Wed Oct  5 22:48:21 CEST 2010
* Ask for confirmation when deleting playlists
* Remember window size & position
* Mutex the library to prevent conflicting updates

SVN:Tue Oct  5 22:48:21 CEST 2010
* Fixed loading playlists with spaces, quotes (") and backslashed (\)

SVN:Mon Oct  4 21:35:02 CEST 2010
* new icons for library view (credits go to the folks from amarok where i stole
  them)
* sortable playlists view
* fixed bug which was introduced by PlaylistProxyModel, playlist headers not
  showing on startup
* delete keyhandler for playlists view
* keep a row in playlist selected when removing entries (subsequent delete
  button presses)

SVN:Sat Oct  2 01:12:24 CEST 2010
* removed last.fm error message popups (modal popup for such unimportant errors
  was a bit over the top)
* added "Replace Playlist" button to all views (has been only been in rightclick
  menu so far)
* two modes for loading saved playlists "Add to Playlist" adds to current
  playlist, "Load" replaces current playlist (doubleclick adds to current)
* added right click menu to "Playlists" tab page
* added doubleclick handler for DirView
* only execute doubleclick handler on Songs/Files, doubleclick on higher levels
  only expands the treenode
* caseinsensitive and locale aware sorting for library and dir view
* searchable dirview
* enabled autoplay on drag&drop
* start playing again when replacing playlist and MPD has been playing before
* fixed moving around songs in playlist which are not in sequential order
  (Ctrl+Click -> Move) (all songs are moved together in sequential order onto
  the destination position, spaces between them disappear)
* preserve playlist selections over refreshs (primary usefull when moving around
  songs in playlist)
* searchable playlist
* added icons to library view (different icons for nodetypes and maybe scaled
  down albumart upcoming)

SVN:Tue Sep 28 22:32:12 CEST 2010
* enabled clear button for kde search field in library view
* added right click menus
* enabled password protected connections
* adapted row height for playlist
* fixed dropping of files from the library into the playlist, when the
  droptarget is not a song
* removed search button; search box searches onChange anyway
* clickable sliders
* added date to playlist
* fixed delete key for playlist in kde build
* implemented clear playlist rightclick item
* implemented drag & drop for directory view

SVN:
fixed:
* Dragging and dropping of albums and artists now also works! (ticket #145)
* Initial sorting of music library and filesystem view on startup
new:
* Added support for enabling/disabling consume mode (items from playlist are
  removed once played)
* No more Qt 4.4 checks. Qt 4.4 is stable so move on!
* Better KDE integration (ticket #183, patch by aanisimov)
* Completely disjunctive searching (patch by M. Grachten)
* Playlist support
removed:
* Last.fm scrobbling support has been removed

0.5.0:
fixed:
* a file name containing a " character would make it impossible to add it to the
  play list
* fix a segfault when adding a selection containing one or more artists to the
  playlist
* Now only items displayed in the library can be added to the playlist (usefull
  when searching)
* Fixed the restoring of the playlist
* Check for duplicates when adding from the DirView
* Re-search when chaning album/artist etc
new:
* separate connection for database commands
* variable update interval for stats/status
* Dir view (ticket #36)
* Disc number support
  - Visible in playlist
  - Sort Musiclibrary tracks not only by track number but also by disc number
* Better memory usage for musiclibrary and dirview
* Use libmaia (xml-rpc)
* Use last.fm for album covers instead of amazon
* last.fm scrobbling support
  - Follow last.fm guide lines
    - scrobbling is own thread so the rest of the program had nothing to do with
        it.
* synchttp for synchornous http support
* show album release date

0.4.1:
new:
* Playlist stats use QSet instead of QList
* mpdstat converted to a singleton
* mpdstatus converted to a singleton
* only load QSettings when needed
* GUI tweaks
* search direct trough playlist
* display playlist stats also in stats window

fixed:
* some valgrind warnings
* reset position of slider to 00:00
* add playlist item in the order they are in the music lib
