summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2015-07-11 16:01:12 +0200
committerVictor Stinner <vstinner@redhat.com>2015-07-11 16:46:20 +0200
commit05ecc3ccf71ed9168acbd9c34ca2afc540bd7d07 (patch)
treeeab7460458804b57d6f1904af64eb65db0ab48be
parentb5e33de48e1773a9d7f85b9e2ea74acb2ddc48df (diff)
downloadtrollius-git-05ecc3ccf71ed9168acbd9c34ca2afc540bd7d07.tar.gz
update doc
* update project URL * set version to 2.0
-rw-r--r--README.rst4
-rw-r--r--doc/changelog.rst87
-rw-r--r--doc/conf.py2
-rw-r--r--doc/index.rst2
-rw-r--r--doc/install.rst6
-rw-r--r--setup.py4
6 files changed, 90 insertions, 15 deletions
diff --git a/README.rst b/README.rst
index a55218d..a1bf495 100644
--- a/README.rst
+++ b/README.rst
@@ -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
diff --git a/setup.py b/setup.py
index 407e314..f3028e9 100644
--- a/setup.py
+++ b/setup.py
@@ -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",