SoCo 0.20 release notes *********************** **SoCo 0.20** is the latest increment to the SoCo module. Among the additions this time are support for adding stereo pairs, proper categorization of Sonos Amp as a playbar to add proper support for 'night sound' and 'speech enhancement' and finally a fix for a long running issue where vendor extended DIDL-Lite classes would cause events to crash without specific code added for each one. See the full list of additions and bugfixes below. `SoCo (Sonos Controller) `_ is a Python package that allows you to programmatically control Sonos speakers. New Features and Improvements ============================= * Add support for creating and separating stereo pairs of speakers. Note: works with dissimilar Sonos speakers if required. Pull request `#704 `_. * Add support for autogenerating vendor extended DIDL-Lite classes. Pull request `#713 `_. This should fix all the problems where SoCo would crash if some vendor specific data type is unknown. * Categorize Sonos Amp as a playbar in order to provide support for 'night sound' and 'speech enhancement'. Pull request `#721 `_ * If port 1400 is in use, the next available 100 ports will be tried. Pull request `#724 `_. Bugfixes ======== * Fix bug where data_structures_upgrade would fail on items that has no uri. Issue `#702 `_. * Process share browsing correctly. Issue `#717 `_. Credit to @Sonosy for the fix. Developer improvements ====================== * Format all soco main, test and example code with the black code formatter (https://github.com/psf/black) and make it mandatory going forward including a TravisCI check. Pull request `#706 `_. * Improve ``test_remove_playlist_bad_id()`` to handle the case of no existing playlists. Pull request `#726 `_, fixes issue `#725 `_.