435 lines
13 KiB
Plaintext
435 lines
13 KiB
Plaintext
|
========================
|
||
|
pySerial Release Notes
|
||
|
========================
|
||
|
|
||
|
Version 1.0 13 Feb 2002
|
||
|
---------------------------
|
||
|
- First public release.
|
||
|
- Split from the pybsl application (see http://mspgcc.sourceforge.net)
|
||
|
|
||
|
New Features:
|
||
|
|
||
|
- Added Jython support
|
||
|
|
||
|
|
||
|
Version 1.1 14 Feb 2002
|
||
|
---------------------------
|
||
|
Bugfixes:
|
||
|
|
||
|
- Win32, when not specifying a timeout
|
||
|
- Typos in the Docs
|
||
|
|
||
|
New Features:
|
||
|
|
||
|
- added ``serialutil`` which provides a base class for the ``Serial``
|
||
|
objects.
|
||
|
|
||
|
- ``readline``, ``readlines``, ``writelines`` and ``flush`` are now supported
|
||
|
see README.txt for deatils.
|
||
|
|
||
|
|
||
|
Version 1.11 14 Feb 2002
|
||
|
---------------------------
|
||
|
Same as 1.1 but added missing files.
|
||
|
|
||
|
|
||
|
Version 1.12 18 Feb 2002
|
||
|
---------------------------
|
||
|
Removed unneded constants to fix RH7.x problems.
|
||
|
|
||
|
|
||
|
Version 1.13 09 Apr 2002
|
||
|
---------------------------
|
||
|
Added alternate way for enabling rtscts (CNEW_RTSCTS is tried too)
|
||
|
If port opening fails, a ``SerialException`` is raised on all platforms
|
||
|
|
||
|
|
||
|
Version 1.14 29 May 2002
|
||
|
---------------------------
|
||
|
Added examples to archive
|
||
|
Added non-blocking mode for ``timeout=0`` (tnx Mat Martineau)
|
||
|
|
||
|
Bugfixes:
|
||
|
|
||
|
- win32 does now return the remaining characters on timeout
|
||
|
|
||
|
|
||
|
Version 1.15 04 Jun 2002
|
||
|
---------------------------
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- removed debug messages
|
||
|
- compatibility to win9x improved
|
||
|
|
||
|
|
||
|
Version 1.16 02 Jul 2002
|
||
|
---------------------------
|
||
|
Added implementation of RI and corrected RTS/CTS on Win32
|
||
|
|
||
|
|
||
|
Version 1.17 03 Jul 2002
|
||
|
---------------------------
|
||
|
Silly mix of two versions in win32 code corrected
|
||
|
|
||
|
|
||
|
Version 1.18 06 Dec 2002
|
||
|
---------------------------
|
||
|
Bugfixes (general):
|
||
|
|
||
|
- remove the mapping of flush to the destructive flushOutput as
|
||
|
this is not the expected behaviour.
|
||
|
- readline: EOL character for lines can be chosen idea by
|
||
|
John Florian.
|
||
|
|
||
|
Bugfixes (posix):
|
||
|
|
||
|
- cygwin port numbering fixed
|
||
|
- test each and every constant for it's existence in termios module,
|
||
|
use default if not existent (fix for Bug item #640214)
|
||
|
- wrong exception on nonexistent ports with /dev file. bug report
|
||
|
by Louis Cordier
|
||
|
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- RTS/CTS handling as suggested in Bug #635072
|
||
|
- bugfix of timeouts brought up by Markus Hoffrogge
|
||
|
|
||
|
|
||
|
Version 1.19 19 Mar 2003
|
||
|
---------------------------
|
||
|
Bugfixes (posix):
|
||
|
|
||
|
- removed ``dgux`` entry which actually had a wrong comment and is
|
||
|
probably not in use anywhere.
|
||
|
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- added ``int()`` conversion, [Bug 702120]
|
||
|
- remove code to set control lines in close method of win32
|
||
|
version. [Bug 669625]
|
||
|
|
||
|
|
||
|
Version 1.20 28 Aug 2003
|
||
|
---------------------------
|
||
|
- Added ``serial.device()`` for all platforms
|
||
|
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- don't recreate overlapped structures and events on each
|
||
|
read/write.
|
||
|
- don't set unneeded event masks.
|
||
|
- dont use DOS device names for ports > 9.
|
||
|
- remove send timeout (its not used in the linux impl. anyway).
|
||
|
|
||
|
|
||
|
Version 1.21 30 Sep 2003
|
||
|
---------------------------
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- name for COM10 was not built correctly, found by Norm Davis.
|
||
|
|
||
|
Bugfixes (examples):
|
||
|
|
||
|
- small change in ``miniterm.py`` that should mage it run on cygwin,
|
||
|
[Bug 809904] submitted by Rolf Campbell.
|
||
|
|
||
|
|
||
|
Version 2.0b1 1 Oct 2003
|
||
|
---------------------------
|
||
|
Transition to the Python 2.0 series:
|
||
|
|
||
|
- New implementation only supports Python 2.2+, backwards compatibility
|
||
|
should be maintained almost everywhere.
|
||
|
The OS handles (like the ``hComPort`` or ``fd`` attribute) were prefixed
|
||
|
with an underscore. The different names stay, as anyone that uses one of
|
||
|
these has to write platform specific code anyway.
|
||
|
- Common base class ``serialutil.SerialBase`` for all implementations.
|
||
|
- ``PARITY_NONE``, ``PARITY_EVEN``, ``PARITY_ODD`` constants changed and all
|
||
|
these constants moved to ``serialutil.py`` (still available as
|
||
|
``serial.PARITY_NONE`` etc. and they should be used that way)
|
||
|
- Added ``serial.PARITY_NAMES`` (implemented in ``serialutil.PARITY_NAMES``).
|
||
|
This dictionary can be used to convert parity constants to meaningful
|
||
|
strings.
|
||
|
- Each Serial class and instance has a list of supported values:
|
||
|
``BAUDRATES``, ``BYTESIZES``, ``PARITIES``, ``STOPBITS``Ggg
|
||
|
(i.e. ``serial.Serial.BAUDRATES or s = serial.Serial; s.BAUDRATES``)
|
||
|
these values can be used to fill in value sin GUI dialogs etc.
|
||
|
- Creating a ``Serial()`` object without port spec returns an unconfigured,
|
||
|
closed port. Useful if a GUI dialog should take a port and configure
|
||
|
it.
|
||
|
- New methods for ``serial.Serial`` instances: ``open()``, ``isOpen()``
|
||
|
- A port can be opened and closed as many times as desired.
|
||
|
- Instances of ``serial.Serial`` have ``baudrate``, ``bytesize``, ``timeout``
|
||
|
etc. attributes implemented as properties, all can be set while the port is
|
||
|
opened. It will then be reconfigured.
|
||
|
- Improved ``__doc__``'s.
|
||
|
- New ``test_advanced.py`` for the property setting/getting testing.
|
||
|
- Small bugfix on posix with get* methods (return value should be true a
|
||
|
boolean).
|
||
|
- added a ``__repr__`` that returns a meaningful string will all the serial
|
||
|
setting, easy for debugging.
|
||
|
- The serialposix module does not throw an exception on unsupported
|
||
|
platforms, the message is still printed. The idea that it may still
|
||
|
work even if the platform itself s not known, it simply tries to do
|
||
|
the posix stuff anyway (It's likely that opening ports by number
|
||
|
fails, but by name it should work).
|
||
|
|
||
|
|
||
|
Version 2.0b2 4 Oct 2003
|
||
|
---------------------------
|
||
|
- Added serial port configuration dialog for wxPython to the examples.
|
||
|
- Added terminal application for wxPython with wxGlade design file
|
||
|
to the examples.
|
||
|
- Jython support is currently broken as Jython does not have a Python 2.2
|
||
|
compatible release out yet
|
||
|
|
||
|
|
||
|
Version 2.0 6 Nov 2003
|
||
|
---------------------------
|
||
|
- Fixes ``setup.py`` for older distutils
|
||
|
|
||
|
|
||
|
Version 2.1 28 Jul 2004
|
||
|
---------------------------
|
||
|
Bugfixes:
|
||
|
|
||
|
- Fix XON/XOFF values [Bug 975250]
|
||
|
|
||
|
Bugfixes (posix):
|
||
|
|
||
|
- ``fd == 0`` fix from Vsevolod Lobko
|
||
|
- netbsd fixes from Erik Lindgren
|
||
|
- Dynamicaly lookup baudrates and some cleanups
|
||
|
|
||
|
Bugfixes (examples):
|
||
|
|
||
|
- CRLF handling of ``miniterm.py`` should be more consistent on Win32
|
||
|
and others. Added LF only command line option
|
||
|
- Multithreading fixes to ``wxTerminal.py`` (helps with wxGTK)
|
||
|
- Small change for wxPython 2.5 in ``wxSerialConfigDialog.py`` [Bug 994856]
|
||
|
|
||
|
New Features:
|
||
|
|
||
|
- Implement write timeouts (``writeTimeout`` parameter)
|
||
|
|
||
|
|
||
|
Version 2.2 31 Jul 2005
|
||
|
---------------------------
|
||
|
Bugfixes:
|
||
|
|
||
|
- [Bug 1014227]: property <del> broken
|
||
|
- [Bug 1105687]: ``serial_tcp_example.py``: ``--localport`` option
|
||
|
- [Bug 1106313]: device (port) strings cannot be unicode
|
||
|
|
||
|
Bugfixes (posix):
|
||
|
|
||
|
- [Patch 1043436] Fix for [Bug 1043420] (OSError: EAGAIN)
|
||
|
- [Patch 1102700] ``fileno()`` added
|
||
|
- ensure disabled PARMRK
|
||
|
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- [Patch 983106]: keep RTS/CTS state on port setting changes
|
||
|
|
||
|
New Features:
|
||
|
|
||
|
- ``dsrdtr`` setting to enable/disable DSR/DTR flow control independently
|
||
|
from the ``rtscts`` setting. (Currenly Win32 only, ignored on other
|
||
|
platforms)
|
||
|
|
||
|
|
||
|
Version 2.3 19 Jun 2008
|
||
|
---------------------------
|
||
|
New Features:
|
||
|
|
||
|
- iterator interface. ``for line in Serial(...): ...`` is now possible
|
||
|
Suggested by Bernhard Bender
|
||
|
- ``sendBreak()`` accepts a ``duration`` argument. Default duration increased.
|
||
|
- win32 handles \\.\COMx format automatically for com ports of higher number
|
||
|
(COM10 is internally translated to \\.\COM10 etc.)
|
||
|
- miniterm.py has a new feature to send a file (upload) and configurable
|
||
|
special characters for exit and upload. Refactored internals to class based
|
||
|
structure (upload and class refactoring by Colin D Bennett)
|
||
|
|
||
|
Bugfixes:
|
||
|
|
||
|
- [Bug 1451535] TCP/serial redirect example "--help"
|
||
|
- update VERSION variable
|
||
|
- update wxSerialConfigDialog.py and wxTerminal.py compatibility with
|
||
|
wxPython 2.8 (Peleg)
|
||
|
- Check for string in write function. Using unicode causes errors, this
|
||
|
helps catching errors early (Tom Lynn)
|
||
|
|
||
|
Bugfixes (posix):
|
||
|
|
||
|
- [Bug 1554183] setRTS/setDTR reference to non existing local "on"
|
||
|
- [Bug 1513653] file descriptor not closed when exception is thrown
|
||
|
- FreeBSD now uses cuadX instead of cuaaX (Patrick Phalen)
|
||
|
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- [Bug 1520357] Handle leak
|
||
|
- [Bug 1679013] Ignore exception raised by SetCommTimeout() in close().
|
||
|
- [Bug 1938118] process hang forever under XP
|
||
|
|
||
|
|
||
|
Version 2.4 6 Jul 2008
|
||
|
---------------------------
|
||
|
New Features:
|
||
|
|
||
|
- [Patch 1616790] pyserial: Add inter-character timeout feature
|
||
|
- [Patch 1924805] add a setBreak function
|
||
|
- Add mark/space parity
|
||
|
- Add .NET/Mono backend (IronPython)
|
||
|
|
||
|
Bugfixes (posix):
|
||
|
|
||
|
- [Bug 1783159] Arbitrary baud rates (Linux/Posix)
|
||
|
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- [Patch 1561423] Add mark/space parity, Win32
|
||
|
- [Bug 2000771] serial port CANNOT be specified by number on windows
|
||
|
- examples/scanwin32.py does no longer return \\.\ names
|
||
|
- fix \\.\ handling for some cases
|
||
|
|
||
|
Bugfixes (jython):
|
||
|
|
||
|
- The Jython backend tries javax.comm and gnu.io (Seo Sanghyeon)
|
||
|
|
||
|
|
||
|
Version 2.5-rc1 2009-07-30
|
||
|
---------------------------
|
||
|
New Features:
|
||
|
|
||
|
- Python 3.x support (through 2to3)
|
||
|
- compatible with Python io library (Python 2.6+)
|
||
|
- Support for Win32 is now written on the top of ctypes (bundled with
|
||
|
Python 2.5+) instead of pywin32 (patch by Giovanni Bajo).
|
||
|
- 1.5 stop bits (STOPBITS_ONE_POINT_FIVE, implemented on all platforms)
|
||
|
- miniterm application extended (CTRL+T -> menu)
|
||
|
- miniterm.py is now installed as "script"
|
||
|
- add scanlinux.py example
|
||
|
- add port_publisher example
|
||
|
- experimental RFC-2217 server support (examples/rfc2217_server.py)
|
||
|
- add ``getSettingsDict`` and ``applySettingsDict`` serial object methods
|
||
|
- use a ``poll`` based implementation on Posix, instead of a ``select`` based,
|
||
|
provides better error handling [removed again in later releases].
|
||
|
|
||
|
Bugfixes:
|
||
|
|
||
|
- Improve and fix tcp_serial_redirector example.
|
||
|
- [Bug 2603052] 5-bit mode (needs 1.5 stop bits in some cases)
|
||
|
|
||
|
Bugfixes (posix):
|
||
|
|
||
|
- [Bug 2810169] Propagate exceptions raised in serialposix _reconfigure
|
||
|
- [Bug 2562610] setting non standard baud rates on Darwin (Emmanuel Blot)
|
||
|
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- [Bug 2469098] parity PARITY_MARK, PARITY_SPACE isn't supported on win32
|
||
|
- [SF 2446218] outWaiting implemented
|
||
|
- [Bug 2392892] scanwin32.py better exception handling
|
||
|
- [Bug 2505422] scanwin32.py Vista 64bit compatibility
|
||
|
|
||
|
|
||
|
Version 2.5-rc2 2010-01-02
|
||
|
---------------------------
|
||
|
New Features:
|
||
|
|
||
|
- Documentation update, now written with Sphinx/ReST
|
||
|
- Updated miniterm.py example
|
||
|
- experimental RFC-2217 client support (serial.rfc2217.Serial, see docs)
|
||
|
- add ``loop://`` device for testing.
|
||
|
- add ``serial.serial_for_url`` factory function (support for native ports and
|
||
|
``rfc2217``, ``socket`` and ``loop`` URLs)
|
||
|
- add new example: ``rfc2217_server.py``
|
||
|
- tests live in their own directory now (no longer in examples)
|
||
|
|
||
|
Bugfixes:
|
||
|
|
||
|
- [Bug 2915810] Fix for suboption parsing in rfc2217
|
||
|
- Packaging bug (missed some files)
|
||
|
|
||
|
Bugfixes (posix):
|
||
|
|
||
|
- improve write timeout behavior
|
||
|
- [Bug 2836297] move Linux specific constants to not break other platforms
|
||
|
- ``poll`` based implementation for ``read`` is in a separate class
|
||
|
``PosixPollSerial``, as it is not supported well on all platforms (the
|
||
|
default ``Serial`` class uses select).
|
||
|
- changed error handling in ``read`` so that disconnected devices are
|
||
|
detected.
|
||
|
|
||
|
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- [Bug 2886763] hComPort doesn't get initialized for Serial(port=None)
|
||
|
|
||
|
|
||
|
Version 2.5 2010-07-22
|
||
|
---------------------------
|
||
|
New Features:
|
||
|
|
||
|
- [Bug 2976262] dsrdtr should default to False
|
||
|
``dsrdtr`` parameter default value changed from ``None`` (follow ``rtscts``
|
||
|
setting) to ``False``. This means ``rtscts=True`` enables hardware flow
|
||
|
control on RTS/CTS but no longer also on DTR/DSR. This change mostly
|
||
|
affects Win32 as on other platforms, that setting was ignored anyway.
|
||
|
- Improved xreadlines, it is now a generator function that yields lines as they
|
||
|
are received (previously it called readlines which would only return all
|
||
|
lines read after a read-timeout). However xreadlines is deprecated an not
|
||
|
available when the io module is used. Use ``for line in Serial(...):``
|
||
|
instead.
|
||
|
|
||
|
Bugfixes:
|
||
|
|
||
|
- [Bug 2925854] test.py produces exception with python 3.1
|
||
|
- [Bug 3029812] 2.5rc2 readline(s) doesn't work
|
||
|
|
||
|
Bugfixes (posix):
|
||
|
|
||
|
- [BUG 3006606] Nonblocking error - Unix platform
|
||
|
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- [Bug 2998169] Memory corruption at faster transmission speeds.
|
||
|
(bug introduced in 2.5-rc1)
|
||
|
|
||
|
|
||
|
Version 2.6 2011-11-02
|
||
|
---------------------------
|
||
|
New Features:
|
||
|
|
||
|
- Moved some of the examples to serial.tools so that they can be used
|
||
|
with ``python -m``
|
||
|
- serial port enumeration now included as ``serial.tools.list_ports``
|
||
|
- URL handers for ``serial_for_url`` are now imported dynamically. This allows
|
||
|
to add protocols w/o editing files. The list
|
||
|
``serial.protocol_handler_packages`` can be used to add or remove user
|
||
|
packages with protocol handlers (see docs for details).
|
||
|
- new URL type: hwgrep://<regexp> uses list_ports module to search for ports
|
||
|
by their description
|
||
|
- serveral internal changes to improve Python 3.x compatibility (setup.py,
|
||
|
use of absolute imports and more)
|
||
|
|
||
|
Bugfixes:
|
||
|
|
||
|
- [Bug 3093882] calling open() on an already open port now raises an exception
|
||
|
- [Bug 3245627] connection-lost let rfc2217 hangs in closed loop
|
||
|
- [Patch 3147043] readlines() to support multi-character eol
|
||
|
|
||
|
Bugfixes (posix):
|
||
|
|
||
|
- [Patch 3316943] Avoid unneeded termios.tcsetattr calls in serialposix.py
|
||
|
- [Patch 2912349] Serial Scan as a Module with Mac Support
|
||
|
|
||
|
Bugfixes (win32):
|
||
|
|
||
|
- [Bug 3057499] writeTimeoutError when write Timeout is 0
|
||
|
- [Bug 3414327] Character out of range in list_ports_windows
|
||
|
- [Patch 3036175] Windows 98 Support fix
|
||
|
- [Patch 3054352] RTS automatic toggle, for RS485 functionality.
|
||
|
- Fix type definitions for 64 bit Windows compatibility
|