SoCo 0.13 release notes
***********************
**SoCo 0.13** is a new version of the SoCo library. This release adds new
features and fixes several bugs.
`SoCo (Sonos Controller) `_ is a simple Python class
that allows you to programmatically control Sonos speakers.
New Features and Improvements
=============================
* The IP address used by the events listener can be configured (`#444
`_)
* Add support for night mode (`#421 `_)
and dialog mode (`#422 `_) on devices
supporting the respective feature.
* Add queue-able data structures for the music service items (`#455
`_)
* Add a method for queueing multiple items with a single request (`#470
`_)
* Add methods to get and set the uri(s) of a ``DidlObject``. (`#482
`_)
* Add support for line in from other speakers (`#460
`_)
* Enhance ``add_to_queue()`` to with optional position argument (`#471
`_)
* Added ``by_name`` function to discovery to be able to get a device by
``player_name`` (`#487 `_)
* allow choice of how to play streams in ``play_uri`` (override Sonos default
with ``force_radio=True``) (`#491 `_)
* Added ``ramp_to_volume()`` method to smoothly change the volume (`#506
`_)
* Added FAQ, documentation and two examples to explain using SoCo's Snapshot
function (`#493 `_)
* Update documentation for ``add_uri_to_queue`` (`#503
`_)
* Added a FAQ section to the docs with play_uri and play local files answers
(`#481 `_)
* A few queue related micro examples was added to the examples page in the docs
(`#484 `_)
* Further documentation updates (`#435
`_, `#436
`_, `#459
`_, `#476
`_, `#489
`_, `#496
`_, `#522
`_)
Bugfixes
========
* Fixes an issue where restarting an application that had subscribed to events
sometimes causes an error when the events are delivered to the new instance
(`#437 `_)
* Fixes an issue where multiple threads trying to subscribe to events in
parallel would sometimes cause SoCo to attempt to create multiple event
listener servers and fail on ``socket.bind()``. (`#437
`_)
* Fixes an issue where SoCo would not recognize
``object.container.playlistContainer.sonos-favorite`` when receiving events
(`#438 `_).
* Fixes a bug in ``play_uri`` where it would not play a http or https prefixed
radio stream due to a change in the Sonos API (issue #434). This change
fixes it by replacing the two http type prefixes with Sonos'
``x-rincon-mp3radio://`` prefix (`#434
`_, `#443
`_)
* Fixes an exception being raised on Windows with ``discover``. The error was
caused by ``socket.getsockname`` raising an exception on Windows with and
unconnected unbound socket. Fixed by now simply logging the sockets. (`#445
`_)
* Change to use SoCo method to determine coordinator in Snapshot (`#529
`_, `#519
`_)
* Prevent error when queue started from Alexa and using snapshot. Currently
there is no was to restart a cloud queue from SoCo, this PR just prevents
Snapshot causing an error. (`#530 `_,
`#521 `_)
* Fix ``add_multiple_to_queue`` fails with too many items (`#488
`_)
* Fixed log level (`#534 `_)
Backwards Compatability
=======================
* Dropped support for Python 2.6 (`#325
`_, `#526
`_) and added support for 3.6 (`#528
`_)