diff --git a/docs/changelog.rst b/docs/changelog.rst index a1ebd081..f1b11179 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -51,6 +51,21 @@ Internal changes :issue:`1115`) +v1.0.3 (2015-04-28) +=================== + +Bug fix release. + +- HTTP: Another follow-up to the Tornado <3.0 fixing. Since the tests aren't + run for Tornado 2.3 we didn't catch that our previous fix wasn't sufficient. + (Fixes: :issue:`1153`, PR: :issue:`1154`) + +- Audio: Follow-up fix for :issue:`1097` still exhibits issues for certain + setups. We are giving this get an other go by setting the buffer size to + maximum 100ms instead of a fixed number of buffers. (Fixes: :issue:`1147`, + PR: :issue:`1154`) + + v1.0.2 (2015-04-27) =================== diff --git a/docs/conf.py b/docs/conf.py index 96209182..e970bdee 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -106,6 +106,9 @@ from mopidy.utils.versioning import get_version release = get_version() version = '.'.join(release.split('.')[:2]) +# To make the build reproducible, avoid using today's date in the manpages +today = '2015' + exclude_trees = ['_build'] pygments_style = 'sphinx' diff --git a/docs/installation/debian.rst b/docs/installation/debian.rst index 490aa6ac..8cf08bca 100644 --- a/docs/installation/debian.rst +++ b/docs/installation/debian.rst @@ -22,7 +22,7 @@ from scratch, we have a guide for installing Debian/Raspbian and Mopidy. See - Raspbian stable ("jessie") and testing ("stretch"), - Ubuntu 14.04 LTS and later. - Some of the packages *does not* work with Ubuntu 12.04 LTS or Debian 7 + Some of the packages *do not* work with Ubuntu 12.04 LTS or Debian 7 "wheezy". This is just what we currently support, not a promise to continue to diff --git a/mopidy/__init__.py b/mopidy/__init__.py index 583ce116..7eaa5bc6 100644 --- a/mopidy/__init__.py +++ b/mopidy/__init__.py @@ -14,4 +14,4 @@ if not (2, 7) <= sys.version_info < (3,): warnings.filterwarnings('ignore', 'could not open display') -__version__ = '1.0.2' +__version__ = '1.0.3' diff --git a/mopidy/audio/actor.py b/mopidy/audio/actor.py index 111f21a7..2c1a7fba 100644 --- a/mopidy/audio/actor.py +++ b/mopidy/audio/actor.py @@ -169,7 +169,8 @@ class _Outputs(gst.Bin): # All tee branches need a queue in front of them. # But keep the queue short so the volume change isn't to slow: queue = gst.element_factory_make('queue') - queue.set_property('max-size-buffers', 15) + queue.set_property('max-size-time', 100 * gst.MSECOND) + self.add(element) self.add(queue) queue.link(element) diff --git a/mopidy/backend.py b/mopidy/backend.py index fe8676ca..72293f94 100644 --- a/mopidy/backend.py +++ b/mopidy/backend.py @@ -400,7 +400,7 @@ class BackendListener(listener.Listener): Marker interface for recipients of events sent by the backend actors. Any Pykka actor that mixes in this class will receive calls to the methods - defined here when the corresponding events happen in the core actor. This + defined here when the corresponding events happen in a backend actor. This interface is used both for looking up what actors to notify of the events, and for providing default implementations for those listeners that are not interested in all events. diff --git a/mopidy/http/handlers.py b/mopidy/http/handlers.py index 0802f1e8..228c245c 100644 --- a/mopidy/http/handlers.py +++ b/mopidy/http/handlers.py @@ -1,5 +1,6 @@ from __future__ import absolute_import, unicode_literals +import functools import logging import os import socket @@ -91,13 +92,14 @@ class WebSocketHandler(tornado.websocket.WebSocketHandler): if hasattr(tornado.ioloop.IOLoop, 'current'): loop = tornado.ioloop.IOLoop.current() else: - loop = tornado.ioloop.IOLoop.instance() # Fallback for 2.3 + loop = tornado.ioloop.IOLoop.instance() # Fallback for pre 3.0 # This can be called from outside the Tornado ioloop, so we need to # safely cross the thread boundary by adding a callback to the loop. for client in cls.clients: # One callback per client to keep time we hold up the loop short - loop.add_callback(_send_broadcast, client, msg) + # NOTE: Pre 3.0 does not support *args or **kwargs... + loop.add_callback(functools.partial(_send_broadcast, client, msg)) def initialize(self, core): self.jsonrpc = make_jsonrpc_wrapper(core) diff --git a/tests/test_version.py b/tests/test_version.py index 9840468d..9e1e0449 100644 --- a/tests/test_version.py +++ b/tests/test_version.py @@ -58,5 +58,6 @@ class VersionTest(unittest.TestCase): self.assertVersionLess('0.19.4', '0.19.5') self.assertVersionLess('0.19.5', '1.0.0') self.assertVersionLess('1.0.0', '1.0.1') - self.assertVersionLess('1.0.1', __version__) - self.assertVersionLess(__version__, '1.0.3') + self.assertVersionLess('1.0.1', '1.0.2') + self.assertVersionLess('1.0.2', __version__) + self.assertVersionLess(__version__, '1.0.4')