Permalink
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
``Screen.define_charset``.
- 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
GitHub.
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 setup.py.
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 <https://github.com/jquast/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``
instead.
- 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
change.
- ``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 http://www.vt100.net/docs/vt510-rm/DECAWM 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 http://www.vt100.net/docs/vt510-rm/LNM and issue #11 on GitHub for
details.
Version 0.4.6
-------------
Bugfix release, released on February 29th 2012
Version 0.4.5
-------------
Technical release, released on September 1st 2011
- Added MANIFEST.in 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
release.
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.