Skip to content

Commit ded00d2

Browse files
committed
docs: more stream-refactor work
1 parent 4cd32cb commit ded00d2

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

docs/changelog.rst

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ Enhancements
2525
^^^^^^^^^^^^
2626

2727
* `#587 <https://github.com/dw/mitogen/issues/587>`_: partial support for
28-
Ansible 2.8 is now available. This implementation does not yet support the
29-
new `become plugins
28+
Ansible 2.8 is available. This implementation does not yet support the new
29+
`become plugins
3030
<https://docs.ansible.com/ansible/latest/plugins/become.html>`_
3131
functionality, which will be addressed in a future release.
3232

@@ -70,33 +70,39 @@ Core Library
7070
*"Stream(ssh:123).connect()"* could become *"connecting to ssh:123"*.
7171

7272
* :func:`bytearray` was removed from the list of supported serialization types.
73-
It has never been portable, and does not appear to have been used.
73+
It has never been portable, and does not appear to have been used.
7474

7575
* `#170 <https://github.com/dw/mitogen/issues/170>`_: to better support child
7676
process management and a future asynchronous connect implementation, a
7777
:class:`mitogen.parent.TimerList` API is available.
7878

7979
* `#419 <https://github.com/dw/mitogen/issues/419>`_: the internal
8080
:class:`mitogen.core.Stream` has been refactored into 7 new classes,
81-
separating out protocol behaviour logic, output buffering, line-oriented
82-
input parsing, options handling, and connection management. The new
83-
connection management implementation is internally asynchronous, laying
84-
almost all the groundwork needed for fully asynchronous connect.
81+
modularizing protocol behaviour, output buffering, line-oriented input
82+
parsing, options handling and connection management. Connection setup is
83+
internally asynchronous, laying almost all the groundwork needed for fully
84+
asynchronous connect, proxied Ansible become plug-ins, and integrating
85+
`libssh <https://www.libssh.org/>`_.
8586

8687
* `#419 <https://github.com/dw/mitogen/issues/419>`_: zombie process reaping
8788
has vastly improved, by using the timer API to efficiently poll for a slow
8889
child to finish exiting. Polling avoids the need to install a process-global
8990
`SIGCHLD` handler, or rely on the process-global 'signal file descriptor'
9091
functionality only available in newer Python releases.
9192

92-
* `#419 <https://github.com/dw/mitogen/issues/419>`_: almost all uses of
93+
* `#419 <https://github.com/dw/mitogen/issues/419>`_: most uses of
9394
:func:`os.dup` have been removed, along with almost all cases of manual file
9495
descriptor management. Descriptors are trapped in :func:`os.fdopen` objects
9596
as soon as they are opened, ensuring a leaked object will close itself, and
9697
ensuring every descriptor is fused to a `closed` flag, preventing historical
9798
bugs where a double close could destroy descriptors belonging to an unrelated
9899
stream.
99100

101+
* `a5536c35 <https://github.com/dw/mitogen/commit/a5536c35>`_: avoid quadratic
102+
buffer management when logging lines received from a child's redirected
103+
standard IO.
104+
105+
100106

101107

102108
Thanks!

0 commit comments

Comments
 (0)