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 byplayer_name
(#487) - allow choice of how to play streams in
play_uri
(override Sonos default withforce_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 bysocket.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)