Fetching contributors…
Cannot retrieve contributors at this time
226 lines (171 sloc) 7.46 KB
pyte Changelog
Here you can see the full list of changes between each pyte release.
Version 0.6.0
This release is NOT backward compatible with 0.5.X branch!
- Optimized ``Stream.feed`` for plain-text input. The code was backported
from ``pymux`` project by Jonathan Slenders.
- Further optimized ``Stream._parser_fsm`` by forcing static binding between
``Stream`` events and ``Screen`` methods. The code was backported from
``pmux`` project by Jonathan Slenders.
- Restricted ``Stream`` to a single listener and deprecated ``attach`` and
``detach``. The old logic can be emulated by a fanout proxy, forwarding
events to a list of its listeners.
- Merged ``Stream`` and ``ByteStream`` and required bytes as input.
This allows to decode the bytes on the ``Screen`` side. The next version
will force the use of ``bytes``. See issue #49 on GitHub.
- Removed overly generic ``Screen.__before__`` and ``Screen.__after__``.
- Renamed ``Screen.set_charset`` to a more appropriate
- Added support for ECMA-035 `DOCS` command, which the Linux terminal uses
to enable UTF-8.
- Added support for OSC sequences allowing to set terminal title and
icon name.
- Allowed 256 and 24bit colours in ``Screen.select_graphic_rendition``.
- Added support for ``aixterm`` colours in ``Screen.select_graphic_rendition``,
see issue #57 on GitHub.
- Fixed rendering of multicolumn characters at ``Screen` boundaries.
Thanks to @shaform! See PR #55 on GitHub.
- Fixed ``Screen.display`` in the case of multicolumn characters. See
issue #52 on GitHub.
- Fixed `DECSTBM` handling in case of missing arguments. See issue #61 on
Version 0.5.2
Pi Day bugfix release, released on March 14th, 2016
- Fixed a bug in handling DA request. See issue #46 on GitHub.
Version 0.5.1
Bugfix release, released on January 10th 2015
- Fixed dependencies in
Version 0.5.0
Released on January 10th 2015
- Deprecated ``Stream.consume`` in favour of ``Stream.feed``. The latter
allows for a more efficient implementation because it operates on the
whole input string.
- Improved ``Stream`` performance by converting FSM to a coroutine as
suggested by Jonathan Slenders in issue #41 on GitHub.
- Added support for `DA` (device attributes) and `DSR` (device status report).
The implementation is based on the code by Jonathan Slenders. See issue
#41 on GitHub.
- ``Screen.draw`` now properly handles full/ambiguous-width characters.
Thanks to the excellent `wcwidth <>`_
library by Jeff Quast.
- Removed re-exports of abbreviated modules (e.g. ``mo`` as a synonym for
``modes``) from ``pyte``.
- Removed ``Screen.size`` which misleadingly returned constructor arguments
in reverse order. Please use ``Screen.columns`` and ``Screen.lines``
- Fixed a bug in ``ByteStream`` which suppressed the exception if all of
the decoders failed to process the input.
Version 0.4.10
Bugfix release, released on August 4th 2015
- Fixed a bug in ``DiffScreen.draw`` which marked the wrong
line as changed when `DECAWM` was enabled.
- ``Stream`` now recognizes ESC % sequences for selecting control
character set. However, these operations are no-op in the current version
in a sense that ``ByteStream`` does not handle them to change encoding.
Version 0.4.9
Bugfix release, released on December 3rd 2014
- Fixed a bug in ``Char`` initialization, see issue #24 on GitHub for details.
- Updated error message in ``Stream``, referencing ``str`` is relevant
for Python 3, but not Python 2.
Version 0.4.8
Released on January 13th 2014
- ``Screen`` does NOT inherit from builtin ``list``, use ``Screen.buffer``
to access individual characters directly. This is a backward INCOMPATIBLE
- ``Char._asdict`` was broken on Python 3.3 because of the
changes in ``namedtuple`` implementation.
- ``LAT1_MAP`` was an iterator because of the change in map semantics
in Python 3.
- Changed ``Screen`` to issues a CR in addition to LF when
`DECAWM` mode is set and the cursor is at the right border of the
screen. See and issue #20
on GitHub for details.
Version 0.4.7
Bugfix release, released on March 28th 2013
- Updated ``pyte`` and tests suite to work under Python 3.3.
- Changed ``Screen`` so that `LNM` mode is reset by default,
see and issue #11 on GitHub for
Version 0.4.6
Bugfix release, released on February 29th 2012
Version 0.4.5
Technical release, released on September 1st 2011
- Added and CenOS spec file
Version 0.4.4
Bugfix release, released on July 17th 2011
- Removed ``pdb`` calls, left from ``HistoryScreen`` debugging -- silly,
I know :)
Version 0.4.3
Bugfix release, released on July 12th 2011
- Fixed encoding issues in ``DebugStream`` -- Unicode was not converted
to bytes properly.
- Fixed G0-1 charset handling and added VAX42 charset for the ancient
stuff to work correctly.
Version 0.4.2
Bugfix release, released on June 27th 2011
- Added a tiny debugging helper: ``python -m pyte your escape codes``
- Added ``Screen.__{before,after}__()`` hooks to ``Screen`` -- now
subclasses can extend more than one command easily.
- Fixed ``HistoryScreen`` -- now not as buggy as it used to be:
and allows for custom ratio aspect when browsing history, see
``HistoryScreen`` documentation for details.
- Fixed `DECTCEM` private mode handling -- when the mode is reset
``Screen.cursor.hidden`` is ``True`` otherwise it's ``False``.
Version 0.4.1
Bugfix release, released on June 21st 2011
- Minor examples and documentation update before the first public
Version 0.4.0
Released on June 21st 2011
- Improved cursor movement -- ``Screen`` passes all but one tests
in `vttest`.
- Changed the way ``Stream`` interacts with ``Screen`` -- event
handlers are now implicitly looked up in screen's ``__dict__``,
not connected manually.
- Changed cursor API -- cursor position and attributes are encapsulated
in a separate ``Cursor`` class.
- Added support for `DECSCNM` -- toggle screen-wide reverse-video mode.
- Added a couple of useful ``Screen`` subclasses: ``HistoryScreen``
which allows screen pagination and ``DiffScreen`` which tracks
the changed lines.
Version 0.3.9
Released on May 31st 2011
- Added initial support for G0-1 charsets (mappings taken from ``tty``
kernel driver) and SI, SO escape sequences.
- Changed ``ByteStream`` to support fallback encodings -- it now
takes a list of ``(encoding, errors)`` pairs and traverses it
left to right on ``feed()``.
- Switched to ``unicode_literals`` -- one step closer to Python3.
Version 0.3.8
Released on May 23rd 2011
- Major rewrite of ``Screen`` internals -- highlights: inherits from
``list``; each character is represented by ``namedtuple`` which
also holds SGR data.
- Numerous bugfixes, especially in methods, dealing with manipulating
character attributes.
Version 0.3.7
First release after the adoption -- skipped a few version to reflect that.
Released on May 16th 2011
- Added support for ANSI color codes, as listed in ``man console_codes``.
Not implemented yet: setting alternate font, setting and resetting
mappings, blinking text.
- Added a couple of trivial usage examples in the `examples/` dir.