SoCo 0.15 release notes

SoCo 0.15 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

  • Add __enter__ and __exit__ methods to Subscription, for automatic unsubscription in a with-block (#563)

  • Add __enter__ and __exit__ methods to Snapshot, for automatic snapshot and restore in a with block (#588)

  • Handle default value / allowed value range in Service.iter_actions and format the resulting actions (#573)

  • Allow keyword arguments in Service commands (#573)

  • Auto deploy new tagged releases to PyPI (#593)

  • Documentation updates (#580)

Bugfixes

  • Prevent parsing exceptions during event handling from killing the exception thread. Instead, return a DidlFault, which will reraise the exception when the user tries to use it (#567)

  • Fixed the set returned by discover() being modified later (#582)

  • Fixed regression in send_command (#577)

  • Fixed regression due to removed deprecated methods (#596)

  • Improved error handling with speakers not associated to a room (#555)

Backwards Compatability

  • Dropped support for Python 3.3 #527 (#527)

  • Removed the deprecated methods which were moved in 0.12 from core.py to music_library.py and move the assoctiated tests (#542)