Files
sublime-music/CHANGELOG.rst
2020-05-08 11:14:50 -06:00

266 lines
9.6 KiB
ReStructuredText

v0.9.2
======
* **Flatpak support is back!** After resolving a build error that's been
plaguing us since **v0.8.9**, we once again have a Flatpak build!
The Flatpak now also exports a ``.desktop`` file and an AppStream manifest
file.
* The ``keyring`` dependency is now optional.
* The ``.desktop`` file doesn't hard-code the exec path anymore.
v0.9.1
======
* **macOS Support Alpha:** support for macOS is now in alpha. There is very
little documentation, and quite a few hacks, but core functionality works.
* Sublime Music is more resilient to certain libraries or functionalities not
existing on the system. (Namely libnotify, NetworkManager, and DBus)
* Sublime Music now prompts you to confirm you actually want to delete the
playlist. (#81)
* Playlist and Artist info now scroll with the rest of the content which makes
Sublime Music usable on smaller screens. (#152)
* Worked with deluan_ to support the Navidrome_ server.
* **Bug Fixes**
* Sublime Music no longer explodes when you say "don't save password" in your
keyring notification popup.
* The ``NM`` library is used instead of the deprecated ``NetworkManager`` and
``NMClient``. (Contributed by @anarcat.)
* Sublime Music will crash less often due to missing dependencies.
* Fixed some bugs where the state of the application wouldn't update when you
deleted/downloaded songs from certain parts of the application.
.. _deluan: https://www.deluan.com/
.. _Navidrome: https://www.navidrome.org/
v0.9.0
======
This is the first ``v0.9.*`` release. I've decided to bump the minor version,
since this is the first release where I feel that all core functionality works.
All of the releases in the ``v0.9.*`` series will build towards the ``v1.0.0``
release.
* New logo that isn't total garbage. By mountdesign_ on Fiverr_. (#110)
* Cover art for a given album is now only stored once at high resolution and
scaled whenever used.
* The shuffle and repeat buttons are now toggle buttons, and no longer rely on
the icon theme to provide context as to whether they are activated or not.
(#125)
* Added support for Replay Gain option which is available from the Application
Settings dialog. (#137)
* All of the buttons that are only icons now have tooltips describing what they
do.
* **Bug Fixes**
* The year inputs on the Albums tab no longer allow for non-numeric inputs,
and are generally way less janky. (#123)
* When dealing with track covers, the ``song.coverArt`` property is used
instead of the ``song.id``. (Contributed by @sentriz.)
* The Albums tab no longer loads infinitely when there are more than 500
albums in the results. (Contributed by @sentriz.)
* The Albums tab doesn't flicker every single time an ``update`` is called
from the top level. (#114)
* Fixed issue with setting the title of the "Edit/Add Server" dialog.
* **Infrastructure**
* Enabled a bunch of flake8 linter extensions including:
* Enforcing using type hints on all function declarations.
* Enforcing no ``print`` statements via flake8 instead of my janky script.
* Enforcing no use of ``%`` style string formatting.
These changes resulted in a *lot* of code cleanup.
.. _mountdesign: https://www.fiverr.com/mountdesign
.. _Fiverr: https://www.fiverr.com
v0.8.13
=======
**Hotfix Release**: the previous release had a few major bugs which are
show-stoppers. This release fixes them.
* **Bug Fixes**
* Fixed issue where Browse didn't work the first time you opened the app to
that tab.
* Fixed issue where refresh didn't work on the Artists tab.
* Fixed issue displaying with incorrectly sized cover art in the player
controls.
* **Infrastructure**
* All TODOs in the code must now have corresponding issues.
v0.8.12
=======
:Milestone: Beta 3
* When album cover art is not provided by the server, a default album art image
is used (Contributed by @sentriz.)
* **New Setting**: *Serve locally cached files over the LAN to Chromecast
devices*: If checked, a local server will be started on your computer which
will serve your locally cached music files to the Chromecast. If not checked,
the Chromecast will always stream from the server.
* When serving local files, the internal server now only exposes one song at a
time via a token and the song's token is randomized.
* The *Sync enabled* setting was renamed to *Play queue sync enabled*.
* **Bug Fixes**
* Fixed issue where the UI was still in a "Playing" state after removing all
songs from the play queue.
* Fixed a multitude of problems where the wrong data would load if you quickly
move around between cached and un-cached information.
* When you use the Google Home app to cause the device that Sublime is using
to "Stop Casting", Sublime now shows as paused.
* The Chromecast device list are only requested after the first time you click
on the Devices button.
* Seeking now works with the mouse and keyboard.
* **Documentation**
* Updated the CONTRIBUTING document to the current state of the Sublime Music
codebase.
* Added documentation for all of the settings available in Sublime Music.
* **Infrastructure**
* Fixed logo build step.
* Moved ``player`` module to root instead of being under ``ui.common``.
v0.8.11
=======
* Added a logo. It's pretty bad, but it's something.
* Added a ``.desktop`` file for the app.
* Standardized the way that command line parameters are handled to use Python's
``argparse`` instead of the GTK argument parsing.
* **Infrastructure**
* Added build step for logo at various different sizes.
v0.8.10
=======
* Converted to use use ``logging`` instead of ``print`` statements. Log file and
level configurable using the ``-l|--logfile`` and ``-m|--loglevel``
parameters.
* Added busy-wait on Chromecast retrieval when already getting Chromecasts.
* **Bug Fix:** Sublime Music no longer crashes when selecting a server for the
first time.
* **Documentation**
* Added automated documentation of the ``sublime`` Python module using Sphinx
and automated parameter documentation using ``sphinx-autodoc-typehints``.
* Started documenting more of the classes including type hints.
* Added some screenshots.
* **Infrastructure**
* Auto-deploy of documentation to GitLab Pages:
https://sumner.gitlab.io/sublime-music.
* Code coverage report now available for latest ``master`` at
https://sumner.gitlab.io/sublime-music/htmlcov.
* Lint step also disallows ``print()`` statements in code.
v0.8.9
======
**Note:** this release does not have Flatpak support due to a dependency issue
that I haven't been able to crack. Please install from PyPi or the AUR. (If you
are a Flatpak expert, I would greatly appreciate help fixing the issue. See
#79.)
* Global Search
* Search for and go to Songs, Artists, Albums, and Playlists.
* Works online and offline (when online, the search results from the server
are included).
* Uses a fuzzy matching algorithm for ranking results.
* Browse by filesystem structure via the "Browse" tab.
* Passwords are now stored in the system keyring rather than in plain text.
**Note:** You will have to re-enter your password in the *Configure Servers*
dialog to make Sublime Music successfully connect to your server again.
* The play queue now behaves properly when there are many instances of the same
song in the play queue.
* The play queue can now be reordered, and songs can be added and removed from
it. Right click also works on the play queue.
* The Local Network SSID and Local Network Address settings now actually work.
It only checks the SSID on startup or new server connect for now.
* ``CacheManager`` now returns RAM results immediately instead of using a
future. This means it returns data faster to the UI if it's already cached.
* **Bug Fixes:**
* Pressing ESC on the Playlist edit dialog no longer deletes the playlist.
* DBus functions no longer block on `CacheManager` results which was causing
long startup times.
* **Infrastructure**:
* Added a ``Pipfile`` and made the CI/CD build use it for testing.
* Upgraded the Flatpak dependencies on ``org.gnome.Platform`` and
``org.gnome.Sdk`` to ``3.34`` which allows us to have much faster Flatpak
build times.
* Added ``mypy`` tests to the build process.
v0.8.8
======
* Removed the ``gobject`` dependency from ``setup.py`` which hopefully fixes the
issue with AUR installs.
* Don't scrobble songs until 5 seconds into the song.
* Added "Play All" and "Shuffle All" to the Artists view.
* Don't load the device list every single time the Devices button is pressed.
* Indicator for the currently active device in the Devices list.
* **Bug Fixes:**
* Fixed a few of the icons.
v0.8.7
======
* **Flatpak support!** Everything works with Flatpak now, and the Flatpak is
configured to use the local ``XDG`` directories.
* Switch between multiple Subsonic API compliant servers.
* Fixed a few of the icons to make them use the ``-symbolic`` version.
* Infrastructure:
* Automatically cut a release when a ``v*`` tag is present. (This creates a
PyPi release and a new release in the Releases tab.)
* Protected the ``v*`` tag so that only maintainers can deploy releases.
v0.8.6
======
* Pre-beta release
* First release to be released to the AUR
* Everything is more or less working. Most of the main user flows are fully
supported.
* Browse songs using Album, Artist, and Playlist views.
* Connect to a Subsonic API compliant server.
* Play music through Chromecasts on the same LAN.
* DBus MPRIS interface integration for controlling Sublime Music via
``playerctl``, ``i3status-rust``, KDE Connect, and other DBus MPRIS clients.
* Play queue.
* Create/delete/edit Playlists.
* Cache songs for offline listening.