diff options
author | Victor Stinner <vstinner@redhat.com> | 2015-07-11 16:01:12 +0200 |
---|---|---|
committer | Victor Stinner <vstinner@redhat.com> | 2015-07-11 16:46:20 +0200 |
commit | 05ecc3ccf71ed9168acbd9c34ca2afc540bd7d07 (patch) | |
tree | eab7460458804b57d6f1904af64eb65db0ab48be | |
parent | b5e33de48e1773a9d7f85b9e2ea74acb2ddc48df (diff) | |
download | trollius-git-05ecc3ccf71ed9168acbd9c34ca2afc540bd7d07.tar.gz |
update doc
* update project URL
* set version to 2.0
-rw-r--r-- | README.rst | 4 | ||||
-rw-r--r-- | doc/changelog.rst | 87 | ||||
-rw-r--r-- | doc/conf.py | 2 | ||||
-rw-r--r-- | doc/index.rst | 2 | ||||
-rw-r--r-- | doc/install.rst | 6 | ||||
-rw-r--r-- | setup.py | 4 |
6 files changed, 90 insertions, 15 deletions
@@ -35,8 +35,8 @@ OpenIndiana. * `Trollius documentation <http://trollius.readthedocs.org/>`_ * `Trollius project in the Python Cheeseshop (PyPI) <https://pypi.python.org/pypi/trollius>`_ -* `Trollius project at Github <https://github.com/haypo/trollius>`_ (code, - bug tracker) +* `Trollius project at Github <https://github.com/haypo/trollius>`_ + (bug tracker, source code) * Copyright/license: Open source, Apache 2.0. Enjoy! See also the `asyncio project at Github <https://github.com/python/asyncio>`_. diff --git a/doc/changelog.rst b/doc/changelog.rst index 1ddfc21..578e21a 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -2,14 +2,32 @@ Change log ++++++++++ -Version 1.0.5 -============= +Version 2.0 +=========== Major changes: on Python 3.5+ ProactorEventLoop now supports SSL, a lot of bugfixes (random race conditions) in the ProactorEventLoop. +The Trollius project moved from Bitbucket to Github. The project is now a fork +of the Git repository of the asyncio project (previously called the "tulip" +project), the trollius source code lives in the trollius branch. + +The new Trollius home page is now: https://github.com/haypo/trollius + +The asyncio project moved to: https://github.com/python/asyncio + +Note: the PEP 492 is not supported in trollius (yet?). + API changes: +* Issue #234: Drop JoinableQueue on Python 3.5+ +* add the asyncio.ensure_future() function, previously called async(). + The async() function is now deprecated. +* New event loop methods: set_task_factory() and get_task_factory(). +* Python issue #23347: Make BaseSubprocessTransport.wait() private. +* Python issue #23347: send_signal(), kill() and terminate() methods of + BaseSubprocessTransport now check if the transport was closed and if the + process exited. * Python issue #23209, #23225: selectors.BaseSelector.get_key() now raises a RuntimeError if the selector is closed. And selectors.BaseSelector.close() now clears its internal reference to the selector mapping to break a @@ -18,6 +36,11 @@ API changes: pipe is closed. * Remove Overlapped.WaitNamedPipeAndConnect() of the _overlapped module, it is no more used and it had issues. +* Python issue #23537: Remove 2 unused private methods of + BaseSubprocessTransport: _make_write_subprocess_pipe_proto, + _make_read_subprocess_pipe_proto. Methods only raise NotImplementedError and + are never used. +* Remove unused SSLProtocol._closing attribute New SSL implementation: @@ -57,8 +80,35 @@ Enhance, fix and cleanup the IocpProactor: CancelledError: just exit. On error, log the exception and exit; don't try to close the event loop (it doesn't work). -Bugfixes: - +Bug fixes: + +* Fix LifoQueue's and PriorityQueue's put() and task_done(). +* Issue #222: Fix the @coroutine decorator for functions without __name__ + attribute like functools.partial(). Enhance also the representation of a + CoroWrapper if the coroutine function is a functools.partial(). +* Python issue #23879: SelectorEventLoop.sock_connect() must not call connect() + again if the first call to connect() raises an InterruptedError. When the C + function connect() fails with EINTR, the connection runs in background. We + have to wait until the socket becomes writable to be notified when the + connection succeed or fails. +* Fix _SelectorTransport.__repr__() if the event loop is closed +* Fix repr(BaseSubprocessTransport) if it didn't start yet +* Workaround CPython bug #23353. Don't use yield/yield-from in an except block + of a generator. Store the exception and handle it outside the except block. +* Fix BaseSelectorEventLoop._accept_connection(). Close the transport on error. + In debug mode, log errors using call_exception_handler(). +* Fix _UnixReadPipeTransport and _UnixWritePipeTransport. Only start reading + when connection_made() has been called. +* Fix _SelectorSslTransport.close(). Don't call protocol.connection_lost() if + protocol.connection_made() was not called yet: if the SSL handshake failed or + is still in progress. The close() method can be called if the creation of the + connection is cancelled, by a timeout for example. +* Fix _SelectorDatagramTransport constructor. Only start reading after + connection_made() has been called. +* Fix _SelectorSocketTransport constructor. Only start reading when + connection_made() has been called: protocol.data_received() must not be + called before protocol.connection_made(). +* Fix SSLProtocol.eof_received(). Wake-up the waiter if it is not done yet. * Close transports on error. Fix create_datagram_endpoint(), connect_read_pipe() and connect_write_pipe(): close the transport if the task is cancelled or on error. @@ -82,8 +132,34 @@ Bugfixes: * Python issue #23209: Break some reference cycles in asyncio. Patch written by Martin Richard. -Changes: +Optimization: + +* Only call _check_resolved_address() in debug mode. _check_resolved_address() + is implemented with getaddrinfo() which is slow. If available, use + socket.inet_pton() instead of socket.getaddrinfo(), because it is much faster +Other changes: + +* Python issue #23456: Add missing @coroutine decorators +* Python issue #23475: Fix test_close_kill_running(). Really kill the child + process, don't mock completly the Popen.kill() method. This change fix memory + leaks and reference leaks. +* BaseSubprocessTransport: repr() mentions when the child process is running +* BaseSubprocessTransport.close() doesn't try to kill the process if it already + finished. +* Tulip issue #221: Fix docstring of QueueEmpty and QueueFull +* Fix subprocess_attach_write_pipe example. Close the transport, not directly + the pipe. +* Python issue #23347: send_signal(), terminate(), kill() don't check if the + transport was closed. The check broken a Tulip example and this limitation is + arbitrary. Check if _proc is None should be enough. Enhance also close(): do + nothing when called the second time. +* Python issue #23347: Refactor creation of subprocess transports. +* Python issue #23243: On Python 3.4 and newer, emit a ResourceWarning when an + event loop or a transport is not explicitly closed +* tox.ini: enable ResourceWarning warnings +* Python issue #23243: test_sslproto: Close explicitly transports +* SSL transports now clear their reference to the waiter. * Python issue #23208: Add BaseEventLoop._current_handle. In debug mode, BaseEventLoop._run_once() now sets the BaseEventLoop._current_handle attribute to the handle currently executed. @@ -106,7 +182,6 @@ Changes: exception in debug mode when called from the wrong thread. It should help to notice misusage of the API. - 2014-12-19: Version 1.0.4 ========================= diff --git a/doc/conf.py b/doc/conf.py index 0bcd2da..818d819 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -48,7 +48,7 @@ copyright = u'2014, Victor Stinner' # built documents. # # The short X.Y version. -version = release = '1.0.5' +version = release = '2.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/doc/index.rst b/doc/index.rst index 317f924..c6b70bf 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -43,7 +43,7 @@ Linux, Mac OS X, FreeBSD and OpenIndiana. * `Trollius project in the Python Cheeseshop (PyPI) <https://pypi.python.org/pypi/trollius>`_ (download wheel packages and tarballs) -* `Trollius project at Bitbucket <https://bitbucket.org/enovance/trollius>`_ +* `Trollius project at Github <https://github.com/haypo/trollius>`_ (bug tracker, source code) * Mailing list: `python-tulip Google Group <https://groups.google.com/forum/?fromgroups#!forum/python-tulip>`_ diff --git a/doc/install.rst b/doc/install.rst index ea2b455..72e20e8 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -49,13 +49,13 @@ Download source code Command to download the development version of the source code (``trollius`` branch):: - hg clone 'https://bitbucket.org/enovance/trollius#trollius' + git clone https://github.com/haypo/trollius.git -b trollius The actual code lives in the ``trollius`` subdirectory. Tests are in the ``tests`` subdirectory. -See the `trollius project at Bitbucket -<https://bitbucket.org/enovance/trollius>`_. +See the `trollius project at Github +<https://github.com/haypo/trollius>`_. The source code of the Trollius project is in the ``trollius`` branch of the Mercurial repository, not in the default branch. The default branch is the @@ -45,14 +45,14 @@ if sys.version_info < (3,): install_options = { "name": "trollius", - "version": "1.0.5", + "version": "2.0", "license": "Apache License 2.0", "author": 'Victor Stinner', "author_email": 'victor.stinner@gmail.com', "description": "Port of the Tulip project (asyncio module, PEP 3156) on Python 2", "long_description": long_description, - "url": "https://bitbucket.org/enovance/trollius/", + "url": "https://github.com/haypo/trollius", "classifiers": [ "Programming Language :: Python", |