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 `_)