From fec11e9b3e8757865b03f3db6ed2a118ae9c6ece Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20K=C3=B6gl?= Date: Tue, 3 Jun 2014 17:31:59 +0200 Subject: [PATCH] add changelog for 0.8 --- doc/release_notes.rst | 107 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 3dded833c..dc90f8d35 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -1,6 +1,113 @@ Release notes ************* +Version 0.8 +=========== + + +New Features +------------ + +* Re-added support for Python 2.6 (`#154 + `_) + +* Added :meth:`SoCo.get_sonos_playlists` (`#114 + `_) + +* Added methods for working with speaker topology + + * :attr:`soco.SoCo.group` retrieves the :class:`soco.groups.ZoneGroup` to + which the speaker belongs (`#132 `_). + The group itself has a :attr:`soco.groups.ZoneGroup.member` attribute + returning all of its members. Iterating directly over the group is possible + as well. + + * Speakers can be grouped using :meth:`soco.SoCo.join` + (`#136 `_):: + + z1 = SoCo('192.168.1.101') + z2 = SoCo('192.168.1.102') + z1.join(z2) + + * :attr:`soco.SoCo.all_zones` and :attr:`soco.SoCo.visible_zones` return all + and all visible zones, respectively. + + * :attr:`soco.SoCo.is_bridge` indicates if the ``SoCo`` instance represents a + bridge. + + * :attr:`soco.SoCo.is_coordinator` indicates if the ``SoCo`` instance is a + group coordinator (`#166 `_) + +* A new :class:`soco.plugins.spotify.Spotify` plugin allows querying and + playing the Spotify music catalogue (`#119 + `_):: + + from soco.plugins.spotify import Spotify + from soco.plugins.spotify import SpotifyTrack + # create a new plugin, pass the soco instance to it + myplugin = Spotify(device) + print 'index: ' + str(myplugin.add_track_to_queue(SpotifyTrack(' + spotify:track:20DfkHC5grnKNJCzZQB6KC'))) + print 'index: ' + str(myplugin.add_album_to_queue(SpotifyAlbum(' + spotify:album:6a50SaJpvdWDp13t0wUcPU'))) + + +* A :class:`soco.data_structures.URI` item can be passed to ``add_to_queue`` + which allows playing music from arbitrary URIs (`#147 + `_) :: + + import soco + from soco.data_structures import URI + + soc = soco.SoCo('...ip_address...') + uri = URI('http://www.noiseaddicts.com/samples/17.mp3') + soc.add_to_queue(uri) + + +* A new ``include_invisible`` parameter to :meth:`soco.discover` can be used + to retrieve invisible speakers or bridges (`#146 + `_) + +* A new ``timeout`` parameter to :meth:`soco.discover`. If no zones are found + within ``timeout`` seconds ``None`` is returned. (`#146 + `_) + +* Network requests can be cached for better performance (`#131 + `_). + +* It is now possible to subscribe to events of a service using its `subscribe` + method, which returns a `Subscription` object. To unsubscribe, call the + `unsubscribe` method on the returned object. (`#121 + `_, `#130 + `_) + +* Support for reading and setting crossfade (`#165 + `_) + + +Improvements +------------ + +* Performance improvements for speaker discovery (`#146 + `_) + +* Various improvements to the Wimp plugin (`#140 + `_). + +* Test coverage tracking using `coveralls.io `_ (`#163 + `_) + + +Backwards Compatability +----------------------- + +* Queue related use 0-based indexing consistently (`#103 + `_) + +* :meth:`soco.SoCo.get_speakers_ip` is deprecated in favour of + :meth:`soco.discover` (`#124 `_) + + Version 0.7 ===========