blob: b033de4fb6ddf9a39ff700cc3661c69aaac7d107 [file] [log] [blame]
cliechti3509fba2009-07-30 21:32:05 +00001========================
2 pySerial Release Notes
3========================
cliechticf709e62005-12-21 00:57:56 +00004
cliechti65ec6392002-02-14 01:31:49 +00005Version 1.0 13 Feb 2002
cliechticf709e62005-12-21 00:57:56 +00006---------------------------
7- First public release.
8- Split from the pybsl application (see http://mspgcc.sourceforge.net)
9
10New Features:
11
12- Added Jython support
13
14
cliechti65ec6392002-02-14 01:31:49 +000015Version 1.1 14 Feb 2002
cliechticf709e62005-12-21 00:57:56 +000016---------------------------
17Bugfixes:
18
19- Win32, when not specifying a timeout
20- Typos in the Docs
cliechti84508572009-07-30 21:15:57 +000021
cliechticf709e62005-12-21 00:57:56 +000022New Features:
23
24- added ``serialutil`` which provides a base class for the ``Serial``
25 objects.
26
27- ``readline``, ``readlines``, ``writelines`` and ``flush`` are now supported
28 see README.txt for deatils.
29
cliechti1dbe4b62002-02-14 02:49:25 +000030
31Version 1.11 14 Feb 2002
cliechticf709e62005-12-21 00:57:56 +000032---------------------------
33Same as 1.1 but added missing files.
34
cliechtie3199682002-02-18 19:33:03 +000035
36Version 1.12 18 Feb 2002
cliechticf709e62005-12-21 00:57:56 +000037---------------------------
38Removed unneded constants to fix RH7.x problems.
39
cliechtie3199682002-02-18 19:33:03 +000040
cliechti3c422cc2002-04-08 23:16:11 +000041Version 1.13 09 Apr 2002
cliechticf709e62005-12-21 00:57:56 +000042---------------------------
43Added alternate way for enabling rtscts (CNEW_RTSCTS is tried too)
44If port opening fails, a ``SerialException`` is raised on all platforms
45
cliechtia9e4e952002-05-26 01:20:22 +000046
cliechti1e4b3432002-06-04 18:30:06 +000047Version 1.14 29 May 2002
cliechticf709e62005-12-21 00:57:56 +000048---------------------------
49Added examples to archive
50Added non-blocking mode for ``timeout=0`` (tnx Mat Martineau)
cliechti1e4b3432002-06-04 18:30:06 +000051
cliechticf709e62005-12-21 00:57:56 +000052Bugfixes:
53
54- win32 does now return the remaining characters on timeout
55
cliechti1e4b3432002-06-04 18:30:06 +000056
57Version 1.15 04 Jun 2002
cliechticf709e62005-12-21 00:57:56 +000058---------------------------
59Bugfixes (win32):
60
61- removed debug messages
62- compatibility to win9x improved
63
cliechti1e4b3432002-06-04 18:30:06 +000064
cliechti20eeeab2002-07-02 20:00:50 +000065Version 1.16 02 Jul 2002
cliechticf709e62005-12-21 00:57:56 +000066---------------------------
67Added implementation of RI and corrected RTS/CTS on Win32
68
cliechti7bb452a2002-07-03 20:08:43 +000069
70Version 1.17 03 Jul 2002
cliechticf709e62005-12-21 00:57:56 +000071---------------------------
72Silly mix of two versions in win32 code corrected
73
cliechti7bb452a2002-07-03 20:08:43 +000074
cliechti33b040d2002-12-06 00:21:52 +000075Version 1.18 06 Dec 2002
cliechticf709e62005-12-21 00:57:56 +000076---------------------------
77Bugfixes (general):
78
79- remove the mapping of flush to the destructive flushOutput as
80 this is not the expected behaviour.
81- readline: EOL character for lines can be chosen idea by
82 John Florian.
83
84Bugfixes (posix):
85
86- cygwin port numbering fixed
87- test each and every constant for it's existence in termios module,
88 use default if not existent (fix for Bug item #640214)
cliechti949e15d2009-02-07 00:24:03 +000089- wrong exception on nonexistent ports with /dev file. bug report
cliechticf709e62005-12-21 00:57:56 +000090 by Louis Cordier
91
92Bugfixes (win32):
93
cliechti949e15d2009-02-07 00:24:03 +000094- RTS/CTS handling as suggested in Bug #635072
cliechticf709e62005-12-21 00:57:56 +000095- bugfix of timeouts brought up by Markus Hoffrogge
cliechti6c468b32003-03-19 01:46:06 +000096
cliechti3509fba2009-07-30 21:32:05 +000097
cliechti6c468b32003-03-19 01:46:06 +000098Version 1.19 19 Mar 2003
cliechticf709e62005-12-21 00:57:56 +000099---------------------------
100Bugfixes (posix):
101
cliechti949e15d2009-02-07 00:24:03 +0000102- removed ``dgux`` entry which actually had a wrong comment and is
cliechticf709e62005-12-21 00:57:56 +0000103 probably not in use anywhere.
104
105Bugfixes (win32):
106
107- added ``int()`` conversion, [Bug 702120]
cliechti949e15d2009-02-07 00:24:03 +0000108- remove code to set control lines in close method of win32
cliechticf709e62005-12-21 00:57:56 +0000109 version. [Bug 669625]
cliechti6c468b32003-03-19 01:46:06 +0000110
cliechti3509fba2009-07-30 21:32:05 +0000111
cliechti356a7362003-08-28 22:39:48 +0000112Version 1.20 28 Aug 2003
cliechticf709e62005-12-21 00:57:56 +0000113---------------------------
114- Added ``serial.device()`` for all platforms
115
116Bugfixes (win32):
117
cliechti949e15d2009-02-07 00:24:03 +0000118- don't recreate overlapped structures and events on each
cliechticf709e62005-12-21 00:57:56 +0000119 read/write.
cliechti949e15d2009-02-07 00:24:03 +0000120- don't set unneeded event masks.
Jakub Wilk772a6fa2016-12-20 21:59:27 +0100121- don't use DOS device names for ports > 9.
122- remove send timeout (it's not used in the linux impl. anyway).
cliechti3a77ac82003-09-30 00:01:02 +0000123
124
cliechti84508572009-07-30 21:15:57 +0000125Version 1.21 30 Sep 2003
cliechticf709e62005-12-21 00:57:56 +0000126---------------------------
127Bugfixes (win32):
128
129- name for COM10 was not built correctly, found by Norm Davis.
130
131Bugfixes (examples):
132
133- small change in ``miniterm.py`` that should mage it run on cygwin,
134 [Bug 809904] submitted by Rolf Campbell.
cliechtid6bf52c2003-10-01 02:28:12 +0000135
cliechti3509fba2009-07-30 21:32:05 +0000136
cliechti80a0ed12003-10-03 23:53:42 +0000137Version 2.0b1 1 Oct 2003
cliechticf709e62005-12-21 00:57:56 +0000138---------------------------
139Transition to the Python 2.0 series:
140
141- New implementation only supports Python 2.2+, backwards compatibility
142 should be maintained almost everywhere.
143 The OS handles (like the ``hComPort`` or ``fd`` attribute) were prefixed
144 with an underscore. The different names stay, as anyone that uses one of
145 these has to write platform specific code anyway.
146- Common base class ``serialutil.SerialBase`` for all implementations.
147- ``PARITY_NONE``, ``PARITY_EVEN``, ``PARITY_ODD`` constants changed and all
148 these constants moved to ``serialutil.py`` (still available as
149 ``serial.PARITY_NONE`` etc. and they should be used that way)
150- Added ``serial.PARITY_NAMES`` (implemented in ``serialutil.PARITY_NAMES``).
151 This dictionary can be used to convert parity constants to meaningful
152 strings.
153- Each Serial class and instance has a list of supported values:
cliechti31000fc2011-08-05 01:47:26 +0000154 ``BAUDRATES``, ``BYTESIZES``, ``PARITIES``, ``STOPBITS``Ggg
cliechticf709e62005-12-21 00:57:56 +0000155 (i.e. ``serial.Serial.BAUDRATES or s = serial.Serial; s.BAUDRATES``)
156 these values can be used to fill in value sin GUI dialogs etc.
157- Creating a ``Serial()`` object without port spec returns an unconfigured,
158 closed port. Useful if a GUI dialog should take a port and configure
159 it.
160- New methods for ``serial.Serial`` instances: ``open()``, ``isOpen()``
161- A port can be opened and closed as many times as desired.
162- Instances of ``serial.Serial`` have ``baudrate``, ``bytesize``, ``timeout``
163 etc. attributes implemented as properties, all can be set while the port is
164 opened. It will then be reconfigured.
165- Improved ``__doc__``'s.
166- New ``test_advanced.py`` for the property setting/getting testing.
167- Small bugfix on posix with get* methods (return value should be true a
168 boolean).
169- added a ``__repr__`` that returns a meaningful string will all the serial
170 setting, easy for debugging.
171- The serialposix module does not throw an exception on unsupported
172 platforms, the message is still printed. The idea that it may still
173 work even if the platform itself s not known, it simply tries to do
174 the posix stuff anyway (It's likely that opening ports by number
175 fails, but by name it should work).
176
cliechti80a0ed12003-10-03 23:53:42 +0000177
cliechti13548782003-10-04 16:10:39 +0000178Version 2.0b2 4 Oct 2003
cliechticf709e62005-12-21 00:57:56 +0000179---------------------------
180- Added serial port configuration dialog for wxPython to the examples.
181- Added terminal application for wxPython with wxGlade design file
182 to the examples.
cliechti949e15d2009-02-07 00:24:03 +0000183- Jython support is currently broken as Jython does not have a Python 2.2
cliechticf709e62005-12-21 00:57:56 +0000184 compatible release out yet
185
cliechti13548782003-10-04 16:10:39 +0000186
cliechti5600e7c2003-11-06 22:17:21 +0000187Version 2.0 6 Nov 2003
cliechticf709e62005-12-21 00:57:56 +0000188---------------------------
189- Fixes ``setup.py`` for older distutils
190
cliechtic6178262004-03-22 22:04:52 +0000191
cliechtiaf3dfd52004-07-28 00:52:06 +0000192Version 2.1 28 Jul 2004
cliechticf709e62005-12-21 00:57:56 +0000193---------------------------
194Bugfixes:
195
196- Fix XON/XOFF values [Bug 975250]
197
198Bugfixes (posix):
199
200- ``fd == 0`` fix from Vsevolod Lobko
201- netbsd fixes from Erik Lindgren
Jakub Wilk772a6fa2016-12-20 21:59:27 +0100202- Dynamically lookup baudrates and some cleanups
cliechticf709e62005-12-21 00:57:56 +0000203
204Bugfixes (examples):
205
206- CRLF handling of ``miniterm.py`` should be more consistent on Win32
207 and others. Added LF only command line option
208- Multithreading fixes to ``wxTerminal.py`` (helps with wxGTK)
209- Small change for wxPython 2.5 in ``wxSerialConfigDialog.py`` [Bug 994856]
210
211New Features:
212
213- Implement write timeouts (``writeTimeout`` parameter)
cliechti7ffcfef2004-07-28 01:08:25 +0000214
215
cliechti3e57b3d2005-08-12 21:04:44 +0000216Version 2.2 31 Jul 2005
cliechticf709e62005-12-21 00:57:56 +0000217---------------------------
218Bugfixes:
cliechti7ffcfef2004-07-28 01:08:25 +0000219
cliechticf709e62005-12-21 00:57:56 +0000220- [Bug 1014227]: property <del> broken
221- [Bug 1105687]: ``serial_tcp_example.py``: ``--localport`` option
222- [Bug 1106313]: device (port) strings cannot be unicode
223
224Bugfixes (posix):
225
226- [Patch 1043436] Fix for [Bug 1043420] (OSError: EAGAIN)
227- [Patch 1102700] ``fileno()`` added
228- ensure disabled PARMRK
229
230Bugfixes (win32):
231
232- [Patch 983106]: keep RTS/CTS state on port setting changes
233
234New Features:
235
236- ``dsrdtr`` setting to enable/disable DSR/DTR flow control independently
Jakub Wilk772a6fa2016-12-20 21:59:27 +0100237 from the ``rtscts`` setting. (Currently Win32 only, ignored on other
cliechticf709e62005-12-21 00:57:56 +0000238 platforms)
239
cliechtif46e0a82005-05-19 15:24:57 +0000240
cliechtif2d96b42008-06-19 00:37:18 +0000241Version 2.3 19 Jun 2008
cliechticf709e62005-12-21 00:57:56 +0000242---------------------------
243New Features:
244
cliechtiaaa04602006-02-05 23:02:46 +0000245- iterator interface. ``for line in Serial(...): ...`` is now possible
cliechti997b63c2008-06-21 00:09:31 +0000246 Suggested by Bernhard Bender
cliechtiaaa04602006-02-05 23:02:46 +0000247- ``sendBreak()`` accepts a ``duration`` argument. Default duration increased.
cliechtif19610b2008-06-18 23:27:30 +0000248- win32 handles \\.\COMx format automatically for com ports of higher number
249 (COM10 is internally translated to \\.\COM10 etc.)
cliechti9c592b32008-06-16 22:00:14 +0000250- miniterm.py has a new feature to send a file (upload) and configurable
251 special characters for exit and upload. Refactored internals to class based
252 structure (upload and class refactoring by Colin D Bennett)
253
cliechtib2f5fc82006-10-20 00:09:07 +0000254Bugfixes:
255
256- [Bug 1451535] TCP/serial redirect example "--help"
cliechti9c592b32008-06-16 22:00:14 +0000257- update VERSION variable
cliechtif2d96b42008-06-19 00:37:18 +0000258- update wxSerialConfigDialog.py and wxTerminal.py compatibility with
259 wxPython 2.8 (Peleg)
cliechticc8d9d22008-07-06 22:42:44 +0000260- Check for string in write function. Using unicode causes errors, this
cliechtic54b2c82008-06-21 01:59:08 +0000261 helps catching errors early (Tom Lynn)
cliechtib2f5fc82006-10-20 00:09:07 +0000262
263Bugfixes (posix):
264
cliechti949e15d2009-02-07 00:24:03 +0000265- [Bug 1554183] setRTS/setDTR reference to non existing local "on"
cliechtib2f5fc82006-10-20 00:09:07 +0000266- [Bug 1513653] file descriptor not closed when exception is thrown
cliechtieaa96882008-06-16 22:59:20 +0000267- FreeBSD now uses cuadX instead of cuaaX (Patrick Phalen)
cliechtib2f5fc82006-10-20 00:09:07 +0000268
269Bugfixes (win32):
270
271- [Bug 1520357] Handle leak
cliechticc8d9d22008-07-06 22:42:44 +0000272- [Bug 1679013] Ignore exception raised by SetCommTimeout() in close().
cliechti71058bb2008-06-19 00:21:55 +0000273- [Bug 1938118] process hang forever under XP
cliechtie8c45422008-06-20 23:23:14 +0000274
275
cliechticc8d9d22008-07-06 22:42:44 +0000276Version 2.4 6 Jul 2008
cliechtie8c45422008-06-20 23:23:14 +0000277---------------------------
278New Features:
cliechtic54b2c82008-06-21 01:59:08 +0000279
cliechti679bfa62008-06-20 23:58:15 +0000280- [Patch 1616790] pyserial: Add inter-character timeout feature
cliechti44b3cce2008-06-24 12:19:11 +0000281- [Patch 1924805] add a setBreak function
cliechtic54b2c82008-06-21 01:59:08 +0000282- Add mark/space parity
cliechticc8d9d22008-07-06 22:42:44 +0000283- Add .NET/Mono backend (IronPython)
cliechtic54b2c82008-06-21 01:59:08 +0000284
cliechtie8c45422008-06-20 23:23:14 +0000285Bugfixes (posix):
cliechtic54b2c82008-06-21 01:59:08 +0000286
cliechtie8c45422008-06-20 23:23:14 +0000287- [Bug 1783159] Arbitrary baud rates (Linux/Posix)
cliechti997b63c2008-06-21 00:09:31 +0000288
cliechti679bfa62008-06-20 23:58:15 +0000289Bugfixes (win32):
cliechtic54b2c82008-06-21 01:59:08 +0000290
291- [Patch 1561423] Add mark/space parity, Win32
cliechticc8d9d22008-07-06 22:42:44 +0000292- [Bug 2000771] serial port CANNOT be specified by number on windows
cliechti44b3cce2008-06-24 12:19:11 +0000293- examples/scanwin32.py does no longer return \\.\ names
294- fix \\.\ handling for some cases
cliechticc8d9d22008-07-06 22:42:44 +0000295
296Bugfixes (jython):
297
298 - The Jython backend tries javax.comm and gnu.io (Seo Sanghyeon)
299
cliechti54f69b62009-07-21 19:48:41 +0000300
cliechtif5716442010-01-02 03:06:21 +0000301Version 2.5-rc1 2009-07-30
cliechti949e15d2009-02-07 00:24:03 +0000302---------------------------
303New Features:
304
cliechti84508572009-07-30 21:15:57 +0000305- Python 3.x support (through 2to3)
306- compatible with Python io library (Python 2.6+)
cliechti183d4ae2009-07-23 22:03:51 +0000307- Support for Win32 is now written on the top of ctypes (bundled with
308 Python 2.5+) instead of pywin32 (patch by Giovanni Bajo).
cliechti84508572009-07-30 21:15:57 +0000309- 1.5 stop bits (STOPBITS_ONE_POINT_FIVE, implemented on all platforms)
cliechti84508572009-07-30 21:15:57 +0000310- miniterm application extended (CTRL+T -> menu)
311- miniterm.py is now installed as "script"
312- add scanlinux.py example
313- add port_publisher example
cliechti60ae7922009-08-10 01:42:59 +0000314- experimental RFC-2217 server support (examples/rfc2217_server.py)
cliechti60ae7922009-08-10 01:42:59 +0000315- add ``getSettingsDict`` and ``applySettingsDict`` serial object methods
cliechtif5716442010-01-02 03:06:21 +0000316- use a ``poll`` based implementation on Posix, instead of a ``select`` based,
cliechti32eafec2010-07-21 23:28:15 +0000317 provides better error handling [removed again in later releases].
cliechti58b481c2009-02-16 20:42:32 +0000318
cliechti949e15d2009-02-07 00:24:03 +0000319Bugfixes:
320
321- Improve and fix tcp_serial_redirector example.
cliechti58b481c2009-02-16 20:42:32 +0000322- [Bug 2603052] 5-bit mode (needs 1.5 stop bits in some cases)
cliechti949e15d2009-02-07 00:24:03 +0000323
cliechti512595f2009-07-21 22:04:58 +0000324Bugfixes (posix):
325
326- [Bug 2810169] Propagate exceptions raised in serialposix _reconfigure
cliechti53c9fd42009-07-23 23:51:51 +0000327- [Bug 2562610] setting non standard baud rates on Darwin (Emmanuel Blot)
cliechti512595f2009-07-21 22:04:58 +0000328
cliechti949e15d2009-02-07 00:24:03 +0000329Bugfixes (win32):
330
cliechti54f69b62009-07-21 19:48:41 +0000331- [Bug 2469098] parity PARITY_MARK, PARITY_SPACE isn't supported on win32
cliechti3509fba2009-07-30 21:32:05 +0000332- [SF 2446218] outWaiting implemented
cliechti9147c442009-07-21 22:12:16 +0000333- [Bug 2392892] scanwin32.py better exception handling
cliechti490a5c72009-07-21 23:48:35 +0000334- [Bug 2505422] scanwin32.py Vista 64bit compatibility
cliechtif5716442010-01-02 03:06:21 +0000335
336
337Version 2.5-rc2 2010-01-02
338---------------------------
339New Features:
340
341- Documentation update, now written with Sphinx/ReST
342- Updated miniterm.py example
343- experimental RFC-2217 client support (serial.rfc2217.Serial, see docs)
344- add ``loop://`` device for testing.
345- add ``serial.serial_for_url`` factory function (support for native ports and
346 ``rfc2217``, ``socket`` and ``loop`` URLs)
347- add new example: ``rfc2217_server.py``
348- tests live in their own directory now (no longer in examples)
349
350Bugfixes:
351
352- [Bug 2915810] Fix for suboption parsing in rfc2217
353- Packaging bug (missed some files)
354
355Bugfixes (posix):
356
357- improve write timeout behavior
358- [Bug 2836297] move Linux specific constants to not break other platforms
359- ``poll`` based implementation for ``read`` is in a separate class
360 ``PosixPollSerial``, as it is not supported well on all platforms (the
361 default ``Serial`` class uses select).
362- changed error handling in ``read`` so that disconnected devices are
363 detected.
364
365
366Bugfixes (win32):
367
cliechti5735a072009-10-26 23:57:48 +0000368- [Bug 2886763] hComPort doesn't get initialized for Serial(port=None)
cliechtif5716442010-01-02 03:06:21 +0000369
370
cliechti32eafec2010-07-21 23:28:15 +0000371Version 2.5 2010-07-22
cliechtif5716442010-01-02 03:06:21 +0000372---------------------------
cliechti07709e42010-05-21 00:30:09 +0000373New Features:
374
375- [Bug 2976262] dsrdtr should default to False
376 ``dsrdtr`` parameter default value changed from ``None`` (follow ``rtscts``
377 setting) to ``False``. This means ``rtscts=True`` enables hardware flow
378 control on RTS/CTS but no longer also on DTR/DSR. This change mostly
379 affects Win32 as on other platforms, that setting was ignored anyway.
cliechti81167532010-07-21 01:12:22 +0000380- Improved xreadlines, it is now a generator function that yields lines as they
381 are received (previously it called readlines which would only return all
Jakub Wilk772a6fa2016-12-20 21:59:27 +0100382 lines read after a read-timeout). However xreadlines is deprecated and not
cliechti32eafec2010-07-21 23:28:15 +0000383 available when the io module is used. Use ``for line in Serial(...):``
384 instead.
cliechti07709e42010-05-21 00:30:09 +0000385
386Bugfixes:
387
388- [Bug 2925854] test.py produces exception with python 3.1
cliechti04ca5372010-07-21 00:07:22 +0000389- [Bug 3029812] 2.5rc2 readline(s) doesn't work
cliechti07709e42010-05-21 00:30:09 +0000390
cliechti198b7e72010-05-25 00:38:23 +0000391Bugfixes (posix):
392
393- [BUG 3006606] Nonblocking error - Unix platform
394
cliechti07709e42010-05-21 00:30:09 +0000395Bugfixes (win32):
396
397- [Bug 2998169] Memory corruption at faster transmission speeds.
cliechti32eafec2010-07-21 23:28:15 +0000398 (bug introduced in 2.5-rc1)
cliechti07709e42010-05-21 00:30:09 +0000399
cliechtie542b362011-03-18 00:49:16 +0000400
cliechti12ad5502011-11-02 01:09:09 +0000401Version 2.6 2011-11-02
cliechtie542b362011-03-18 00:49:16 +0000402---------------------------
403New Features:
404
405- Moved some of the examples to serial.tools so that they can be used
406 with ``python -m``
cliechti7bb58832011-08-05 03:55:12 +0000407- serial port enumeration now included as ``serial.tools.list_ports``
Jakub Wilk772a6fa2016-12-20 21:59:27 +0100408- URL handlers for ``serial_for_url`` are now imported dynamically. This allows
cliechtie542b362011-03-18 00:49:16 +0000409 to add protocols w/o editing files. The list
410 ``serial.protocol_handler_packages`` can be used to add or remove user
411 packages with protocol handlers (see docs for details).
cliechti6fa19112011-08-19 01:50:49 +0000412- new URL type: hwgrep://<regexp> uses list_ports module to search for ports
413 by their description
Jakub Wilk772a6fa2016-12-20 21:59:27 +0100414- several internal changes to improve Python 3.x compatibility (setup.py,
cliechti9c4644e2011-08-22 01:17:27 +0000415 use of absolute imports and more)
cliechti8f69e702011-03-19 00:22:32 +0000416
417Bugfixes:
418
cliechti1f89a0a2011-08-05 02:53:24 +0000419- [Bug 3093882] calling open() on an already open port now raises an exception
420- [Bug 3245627] connection-lost let rfc2217 hangs in closed loop
cliechti0f2bd582011-08-05 02:58:37 +0000421- [Patch 3147043] readlines() to support multi-character eol
cliechti31000fc2011-08-05 01:47:26 +0000422
cliechti4d0af5e2011-08-05 02:18:16 +0000423Bugfixes (posix):
424
cliechti1f89a0a2011-08-05 02:53:24 +0000425- [Patch 3316943] Avoid unneeded termios.tcsetattr calls in serialposix.py
cliechti7bb58832011-08-05 03:55:12 +0000426- [Patch 2912349] Serial Scan as a Module with Mac Support
cliechti4d0af5e2011-08-05 02:18:16 +0000427
cliechti31000fc2011-08-05 01:47:26 +0000428Bugfixes (win32):
429
cliechti1f89a0a2011-08-05 02:53:24 +0000430- [Bug 3057499] writeTimeoutError when write Timeout is 0
cliechti12ad5502011-11-02 01:09:09 +0000431- [Bug 3414327] Character out of range in list_ports_windows
cliechti1f89a0a2011-08-05 02:53:24 +0000432- [Patch 3036175] Windows 98 Support fix
433- [Patch 3054352] RTS automatic toggle, for RS485 functionality.
cliechtide432902011-08-18 22:51:41 +0000434- Fix type definitions for 64 bit Windows compatibility
cliechti19fdffa2011-11-02 01:21:02 +0000435
436
cliechti5425bb02013-10-17 16:02:32 +0000437Version 2.7 2013-10-17
cliechti19fdffa2011-11-02 01:21:02 +0000438---------------------------
cliechti22175a72011-12-29 00:17:53 +0000439- Win32: setRTS and setDTR can be called before the port is opened and it will
440 set the initial state on port open.
cliechti771278b2013-10-17 03:19:00 +0000441- Posix: add platform specific method: outWaiting (already present for Win32)
cliechti22175a72011-12-29 00:17:53 +0000442- Posix: rename flowControl to setXON to match name on Win32, add
443 flowControlOut function
cliechtieada4fd2013-07-31 16:26:07 +0000444- rfc2217: zero polls value (baudrate, data size, stop bits, parity) (Erik
445 Lundh)
cliechti5425bb02013-10-17 16:02:32 +0000446- Posix: [Patch pyserial:28] Accept any speed on Linux [update]
cliechti8d744de2013-10-11 14:31:13 +0000447- Posix: [Patch pyserial:29] PosixSerial.read() should "ignore" errno.EINTR
cliechti02a8e732013-10-12 03:50:15 +0000448- OSX: [Patch pyserial:27] Scan by VendorID/Product ID for USB Serial devices
cliechti38077122013-10-16 02:57:27 +0000449- Ensure working with bytes in write() calls
cliechtifc475292011-12-28 19:39:17 +0000450
cliechti4b20ec62012-08-16 01:04:44 +0000451Bugfixes:
452
453- [Bug 3540332] SerialException not returned
cliechti49ff1de2013-05-31 01:00:57 +0000454- [Bug pyserial:145] Error in socket_connection.py
cliechti20e1fae2013-05-31 01:33:12 +0000455- [Bug pyserial:135] reading from socket with timeout=None causes TypeError
cliechti4b83d662013-10-11 01:39:00 +0000456- [Bug pyserial:130] setup.py should not append py3k to package name
cliechti5d66a952013-10-11 02:27:30 +0000457- [Bug pyserial:117] no error on lost conn w/socket://
cliechti4b20ec62012-08-16 01:04:44 +0000458
cliechtifc475292011-12-28 19:39:17 +0000459Bugfixes (posix):
460
461- [Patch 3462364] Fix: NameError: global name 'base' is not defined
cliechti4a601342011-12-29 02:22:17 +0000462- list_ports and device() for BSD updated (Anders Langworthy)
cliechtiec5c6362012-08-16 02:13:53 +0000463- [Bug 3518380] python3.2 -m serial.tools.list_ports error
cliechtia505de32013-05-31 01:27:25 +0000464- [Bug pyserial:137] Patch to add non-standard baudrates to Cygwin
cliechtiaf84daa2013-10-10 23:57:00 +0000465- [Bug pyserial:141] open: Pass errno from IOError to SerialException
cliechti5746be32013-10-11 01:51:40 +0000466- [Bug pyserial:125] Undefined 'base' on list_ports_posix.py, function usb_lsusb
cliechti88c62442013-10-12 04:03:16 +0000467- [Bug pyserial:151] Serial.write() without a timeout uses 100% CPU on POSIX
cliechti95772d32013-10-11 14:38:13 +0000468- [Patch pyserial:30] [PATCH 1/1] serial.Serial() should not raise IOError.
cliechtifc475292011-12-28 19:39:17 +0000469
cliechti1083be72011-12-28 20:45:30 +0000470Bugfixes (win32):
471
472- [Bug 3444941] ctypes.WinError() unicode error
cliechti771278b2013-10-17 03:19:00 +0000473- [Bug 3550043] on Windows in tools global name 'GetLastError' is not defined
cliechti26409782013-05-31 00:47:16 +0000474- [Bug pyserial:146] flush() does nothing in windows (despite docs)
cliechti49ff1de2013-05-31 01:00:57 +0000475- [Bug pyserial:144] com0com ports ignored due to missing "friendly name"
cliechti8d744de2013-10-11 14:31:13 +0000476- [Bug pyserial:152] Cannot configure port, some setting was wrong. Can leave
cliechti387251a2013-10-10 23:23:32 +0000477 port handle open but port not accessible
cliechti1cfa05e2012-08-16 00:48:39 +0000478
cliechti00df9702014-08-04 10:12:48 +0000479
Chris Liechtic2b26792015-09-22 23:16:07 +0200480Version 3.0a0 2015-09-22
Chris Liechti80e2ae22015-08-04 02:59:50 +0200481--------------------------
Chris Liechtic2b26792015-09-22 23:16:07 +0200482- Starting from this release, only Python 2.7 and 3.2 (or newer) are supported.
Chris Liechtib43ef052015-09-11 23:38:47 +0200483 The source code is compatible to the 2.x and 3.x series without any changes.
484 The support for earlier Python versions than 2.7 is removed, please refer to
485 the pyserial-legacy (V2.x) series if older Python versions are a
486 requirement).
Chris Liechti889308f2015-09-23 14:07:02 +0200487- Development moved to github, update links in docs.
Chris Liechtieacc3e92015-09-14 23:37:44 +0200488- API changes: properties for ``rts``, ``dtr``, ``cts``, ``dsr``, ``cd``, ``ri``,
489 ``in_waiting`` (instead of get/set functions)
Chris Liechti80e2ae22015-08-04 02:59:50 +0200490- remove file ``FileLike`` class, add ``read_until`` and ``iread_until`` to
491 ``SerialBase``
Chris Liechtib43ef052015-09-11 23:38:47 +0200492- RS485 support changed (``rts_toggle`` removed, added ``serial.rs485`` module
493 and ``rs485_mode`` property)
494- ``socket://`` and ``rfc2217://`` handlers use the IPv6 compatible
495 ``socket.create_connection``
Chris Liechti889308f2015-09-23 14:07:02 +0200496- New URL handler: ``spy:://``.
Chris Liechtib43ef052015-09-11 23:38:47 +0200497- URL handlers now require the proper format (``?`` and ``&``) for arguments
498 instead of ``/`` (e.g. ``rfc2217://localhost:7000?ign_set_control&timeout=5.5``)
Chris Liechti889308f2015-09-23 14:07:02 +0200499- Remove obsolete examples.
500- Finish update to BSD license.
Chris Liechtid14b1ab2015-08-21 00:28:53 +0200501- Use setuptools if available, fall back to distutils if unavailable.
Chris Liechtib43ef052015-09-11 23:38:47 +0200502- miniterm: changed command line options
503- miniterm: support encodings on serial port
504- miniterm: new transformations, by default escape/convert all control characters
Chris Liechtic2b26792015-09-22 23:16:07 +0200505- list_ports: improved, added USB location (Linux, Win32)
506- refactored code
Chris Liechti889308f2015-09-23 14:07:02 +0200507- [FTR pyserial:37] Support fileno() function in the socket protocol
508- Posix: [Patch pyserial:31] Mark/space parity on Linux
509- Linux: [Patch pyserial:32] Module list_ports for linux should include the
510 product information as description.
511- Java: fix 2 bugs (stop bits if/else and non-integer timeouts) (Torsten
512 Roemer)
513- Update wxSerialConfigDialog.py to use serial.tools.list_ports.
514- [Patch pyserial:34] Improvements to port_publisher.py example
515- [Feature pyserial:39] Support BlueTooth serial port discovery on Linux
Chris Liechti80e2ae22015-08-04 02:59:50 +0200516
Chris Liechtib74be012015-08-04 16:36:01 +0200517Bugfixes:
518
Chris Liechti889308f2015-09-23 14:07:02 +0200519- [Bug pyserial:157] Implement inWaiting in protocol_socket
520- [Bug pyserial:166] RFC2217 connections always fail
Chris Liechtib74be012015-08-04 16:36:01 +0200521- [Bug pyserial:172] applySettingsDict() throws an error if the settings dictionary is not complete
Chris Liechti069d32a2015-08-05 03:21:38 +0200522- [Bug pyserial:185] SocketSerial.read() never returns data when timeout==0
Chris Liechtib74be012015-08-04 16:36:01 +0200523
Chris Liechti80e2ae22015-08-04 02:59:50 +0200524Bugfixes (posix):
525
Chris Liechti889308f2015-09-23 14:07:02 +0200526- [Bug pyserial:156] PosixSerial.open raises OSError rather than
527 SerialException when port open fails
528- [Bug pyserial:163] serial.tools.list_ports.grep() fails if it encounters None type
Chris Liechti80e2ae22015-08-04 02:59:50 +0200529- fix setXON
Chris Liechti5c4d2d82015-08-04 15:27:36 +0200530- [Patch pyserial:36 / 38] Make USB information work in python 3.4 and 2.7
Chris Liechti8cf8f062015-08-04 15:44:14 +0200531- clear OCRNL/ONLCR flags (CR/LF translation settings)
Chris Liechtice621882015-08-06 19:29:31 +0200532- [Feature pyserial:38] RS485 Support
Chris Liechtie47ffe52015-08-07 01:21:55 +0200533- [Bug pyserial:170] list_ports_posix not working properly for Cygwin
Chris Liechti2ed3a572015-09-02 02:48:18 +0200534- [Bug pyserial:187] improve support for FreeBSD (list_ports_posix)
Chris Liechti80e2ae22015-08-04 02:59:50 +0200535
Chris Liechtid240cf52015-08-05 02:57:03 +0200536Bugfixes (win32):
537
538- [Bug pyserial:169] missing "import time" in serialwin32.py
539
Chris Liechti889308f2015-09-23 14:07:02 +0200540Bugfixes (cli):
541
542- [Bug pyserial:159] write() in serialcli.py not working with IronPython 2.7.4
543
Chris Liechti2fb34042015-10-02 22:16:51 +0200544
Chris Liechticc654c82015-10-20 23:22:25 +0200545Version 3.0b1 2015-10-19
Chris Liechti2fb34042015-10-02 22:16:51 +0200546--------------------------
Chris Liechti2fb34042015-10-02 22:16:51 +0200547- list_ports: add ``vid``, ``pid``, ``serial_number``, ``product``,
548 ``manufacturer`` and ``location`` attribute for USB devices.
549- list_ports: update OSX implementation.
550- list_ports: Raspberry Pi: internal port is found.
Chris Liechticc654c82015-10-20 23:22:25 +0200551- serial_for_url: fix import (multiple packages in list)
552- threaded: added new module implementing a reader thread
553- tweak examples/wx*
554- posix: add experimental implementation ``VTIMESerial``
555- new URL handler ``alt://`` to select alternative implementations
Chris Liechti2fb34042015-10-02 22:16:51 +0200556
Chris Liechti6d867272015-11-01 23:06:07 +0100557
Chris Liechti675b2932015-12-28 23:25:19 +0100558Version 3.0 2015-12-28
559------------------------
Chris Liechti6d867272015-11-01 23:06:07 +0100560- minor fixes to setup.py (file list), inter_byte_timeout (not stored when
Chris Liechtieef79232015-11-02 23:49:16 +0100561 passed to __init__), rfc2217 (behavior of close when open failed),
Chris Liechtib5f31822015-12-27 21:00:25 +0100562 list_ports (__str__), loop://, renamed ReaderThread
Chris Liechti675b2932015-12-28 23:25:19 +0100563- hwgrep:// added options to pick n'th port, skip busy ports
Chris Liechtib5f31822015-12-27 21:00:25 +0100564- miniterm: --ask option added
565
566Bugfixes (posix):
567
568- [#26/#30] always call tcsettattr on open
569- [#42] fix disregard read timeout if there is more data
Chris Liechti4233c652016-01-23 23:36:44 +0100570- [#45] check for write timeout, even if EAGAIN was raised
Chris Liechti6d867272015-11-01 23:06:07 +0100571
Chris Liechtieef79232015-11-02 23:49:16 +0100572Bugfixes (win32):
573
Chris Liechtie1927242015-11-03 00:38:43 +0100574- [#27] fix race condition in ``read()``, fix minimal timeout issue
Chris Liechtib5f31822015-12-27 21:00:25 +0100575- race condition in nonblocking case
576- [#49] change exception type in case SetCommState fails
577- [#50] fixed issue with 0 timeout on windows 10
Chris Liechtieef79232015-11-02 23:49:16 +0100578
Chris Liechti91dc0872016-01-11 23:48:41 +0100579
580Version 3.0.1 2016-01-11
581--------------------------
Chris Liechti78143f92016-01-20 23:30:19 +0100582- special case for FDTIBUS in list_ports on win32 (#61)
Chris Liechti91dc0872016-01-11 23:48:41 +0100583
584Bugfixes:
585
586- ``Serial`` keyword arguments, more on backward compatibility, fix #55
587- list_ports: return name if product is None, fix for #54
588- port_publisher: restore some sorting of ports
589
Chris Liechti78143f92016-01-20 23:30:19 +0100590
Chris Liechtic55b5ac2016-05-27 23:21:34 +0200591Version 3.1.0 2016-05-27
Chris Liechti78143f92016-01-20 23:30:19 +0100592--------------------------
Chris Liechti4233c652016-01-23 23:36:44 +0100593Improvements:
Chris Liechti78143f92016-01-20 23:30:19 +0100594
Chris Liechti4233c652016-01-23 23:36:44 +0100595- improve error handling in ``alt://`` handler
596- ``socket://`` internally used select, improves timeout behavior
Chris Liechti411fa9b2016-05-21 23:55:50 +0200597- initial state of RTS/DTR: ignore error when setting on open posix
598 (support connecting to pty's)
Chris Liechtif0223b82016-04-26 22:20:02 +0200599- code style updates
600- posix: remove "number_to_device" which is not called anymore
Chris Liechti411fa9b2016-05-21 23:55:50 +0200601- add cancel_read and cancel_write to win32 and posix implementations
Chris Liechti4233c652016-01-23 23:36:44 +0100602
603Bugfixes:
604
605- [#68] aio: catch errors and close connection
Chris Liechti01df8892016-03-17 23:01:42 +0100606- [#87] hexlify: update codec for Python 2
Chris Liechtif0223b82016-04-26 22:20:02 +0200607- [#100] setPort not implemented
608- [#101] bug in serial.threaded.Packetizer with easy fix
609- [#104] rfc2217 and socket: set timeout in create_connection
Chris Liechti411fa9b2016-05-21 23:55:50 +0200610- [#107] miniterm.py fails to exit on failed serial port
Chris Liechti78143f92016-01-20 23:30:19 +0100611
Chris Liechti01df8892016-03-17 23:01:42 +0100612Bugfixes (posix):
613
Chris Liechtif0223b82016-04-26 22:20:02 +0200614- [#59] fixes for RTS/DTR handling on open
615- [#77] list_ports_osx: add missing import
616- [#85] serialposix.py _set_rs485_mode() tries to read non-existing
617 rs485_settings.delay_rts_before_send
618- [#96] patch: native RS485 is never enabled
619
620Bugfixes (win32):
621
622- fix bad super call and duplicate old-style __init__ call
623- [#80] list_ports: Compatibility issue between Windows/Linux
Chris Liechtia9d9b3d2016-06-05 23:45:54 +0200624
625
Chris Liechtif1dec6a2016-06-12 22:47:09 +0200626Version 3.1.1 2016-06-12
Chris Liechtia9d9b3d2016-06-05 23:45:54 +0200627--------------------------
628Improvements:
629
630- deprecate ``nonblocking()`` method on posix, the port is already in this
631 mode.
Chris Liechtif1dec6a2016-06-12 22:47:09 +0200632- style: use .format() in various places instead of "%" formatting
Chris Liechtia9d9b3d2016-06-05 23:45:54 +0200633
634Bugfixes:
635
636- [#122] fix bug in FramedPacket
Chris Liechti5d772fc2016-06-10 00:08:06 +0200637- [#127] The Serial class in the .NET/Mono (IronPython) backend does not
638 implement the _reconfigure_port method
Chris Liechti8643e502016-06-11 21:27:15 +0200639- [#123, #128] Avoid Python 3 syntax in aio module
Chris Liechti279201b2016-06-09 20:27:05 +0200640
641Bugfixes (posix):
642
643- [#126] PATCH: Check delay_before_tx/rx for None in serialposix.py
Chris Liechtif1dec6a2016-06-12 22:47:09 +0200644- posix: retry if interrupted in Serial.read
645
646Bugfixes (win32):
647
648- win32: handle errors of GetOverlappedResult in read(), fixes #121
Chris Liechti68239372016-06-13 21:22:42 +0200649
Chris Liechtiffb44d62016-10-14 22:47:01 +0200650
Chris Liechtiade9ea92016-10-14 22:01:04 +0200651Version 3.2.0 2016-10-14
Chris Liechti68239372016-06-13 21:22:42 +0200652--------------------------
Chris Liechtiffb44d62016-10-14 22:47:01 +0200653See 3.2.1, this one missed a merge request related to removing aio.
654
655
656Version 3.2.1 2016-10-14
657--------------------------
Chris Liechtiecf7d6e2016-06-25 23:38:47 +0200658Improvements:
659
Chris Liechtiffb44d62016-10-14 22:47:01 +0200660- remove ``serial.aio`` in favor of separate package, ``pyserial-asyncio``
661- add client mode to example ``tcp_serial_redirect.py``
Chris Liechti06ed4a52016-09-03 23:53:12 +0200662- use of monotonic clock for timeouts, when available (Python 3.3 and up)
Chris Liechtiffb44d62016-10-14 22:47:01 +0200663- [#169] arbitrary baud rate support for BSD family
Chris Liechtid1fb2272016-10-10 02:51:02 +0200664- improve tests, improve ``loop://``
Chris Liechti9e60ac72016-06-19 20:47:23 +0200665
666Bugfixes:
667
668- [#137] Exception while cancel in miniterm (python3)
Chris Liechti1d157152016-08-04 20:47:00 +0200669- [#143] Class Serial in protocol_loop.py references variable before assigning
670 to it
Chris Liechtid1fb2272016-10-10 02:51:02 +0200671- [#149] Python 3 fix for threaded.FramedPacket
Chris Liechti9e60ac72016-06-19 20:47:23 +0200672
Chris Liechti68239372016-06-13 21:22:42 +0200673Bugfixes (posix):
674
675- [#133] _update_dtr_state throws Inappropriate ioctl for virtual serial
676 port created by socat on OS X
Chris Liechti6dc58e82016-08-29 23:02:13 +0200677- [#157] Broken handling of CMSPAR in serialposix.py
Chris Liechti68239372016-06-13 21:22:42 +0200678
Chris Liechtiab1ff482016-09-16 23:53:21 +0200679Bugfixes (win32):
680
Chris Liechtid1fb2272016-10-10 02:51:02 +0200681- [#144] Use Unicode API for list_ports
682- [#145] list_ports_windows: support devices with only VID
Chris Liechtiab1ff482016-09-16 23:53:21 +0200683- [#162] Write in non-blocking mode returns incorrect value on windows
Chris Liechtidc56ac92017-01-10 22:22:44 +0100684
685
Chris Liechti1c4bc812017-03-08 02:44:04 +0100686Version 3.3 2017-03-08
687------------------------
688Improvements:
689
690- [#206] Exclusive access on POSIX. ``exclusive`` flag added.
691- [#172] list_ports_windows: list_ports with 'manufacturer' info property
692- [#174] miniterm: change cancel impl. for console
693- [#182] serialutil: add overall timeout for read_until
694- socket: use non-blocking socket and new Timeout class
695- socket: implement a functional a reset_input_buffer
696- rfc2217: improve read timeout implementation
697- win32: include error message from system in ClearCommError exception
698- and a few minor changes, docs
699
700Bugfixes:
701
702- [#183] rfc2217: Fix broken calls to to_bytes on Python3.
703- [#188] rfc2217: fix auto-open use case when port is given as parameter
704
705Bugfixes (posix):
706
707- [#178] in read, count length of converted data
708- [#189] fix return value of write
Chris Liechtidc56ac92017-01-10 22:22:44 +0100709
710Bugfixes (win32):
711
712- [#194] spurious write fails with ERROR_SUCCESS
Chris Liechti82d568c2017-07-21 00:17:40 +0200713
714
Chris Liechtic54c81d2017-07-22 22:50:21 +0200715Version 3.4 2017-07-22
Chris Liechti82d568c2017-07-21 00:17:40 +0200716------------------------
717Improvements:
718
719- miniterm: suspend function (temporarily release port, :kbd:`Ctrl-T s`)
720- [#240] context manager automatically opens port on ``__enter__``
721- [#141] list_ports: add interface number to location string
722- [#225] protocol_socket: Retry if ``BlockingIOError`` occurs in
723 ``reset_input_buffer``.
724
725Bugfixes:
726
727- [#153] list_ports: option to include symlinked devices
Chris Liechtic54c81d2017-07-22 22:50:21 +0200728- [#237] list_ports: workaround for special characters in port names
Chris Liechti82d568c2017-07-21 00:17:40 +0200729
730Bugfixes (posix):
731
732- allow calling cancel functions w/o error if port is closed
733- [#220] protocol_socket: sync error handling with posix version
734- [#227] posix: ignore more blocking errors and EINTR, timeout only
735 applies to blocking I/O
736- [#228] fix: port_publisher typo
Chris Liechti690a8d02020-09-15 04:40:47 +0200737
738
Chris Liechtid8678712020-09-21 03:10:01 +0200739Version 3.5b0 2020-09-21
Chris Liechti690a8d02020-09-15 04:40:47 +0200740------------------------
741New Features:
742
Chris Liechtid8678712020-09-21 03:10:01 +0200743- [#411] Add a backend for Silicon Labs CP2110/4 HID-to-UART bridge.
744 (depends on `hid` module)
Chris Liechti690a8d02020-09-15 04:40:47 +0200745
746Improvements:
747
748- [#315] Use absolute import everywhere
749- [#351] win32: miniterm Working CMD.exe terminal using Windows 10 ANSI support
Chris Liechti6fa82e12020-09-21 00:44:45 +0200750- [#354] Make ListPortInfo hashable
Chris Liechti690a8d02020-09-15 04:40:47 +0200751- [#372] threaded: "write" returns byte count
752- [#400] Add bytesize and stopbits argument parser to tcp_serial_redirect
753- [#408] loop: add out_waiting
Chris Liechti6ae64c12020-09-21 02:38:31 +0200754- [#495] list_ports_linux: Correct "interface" property on Linux hosts
Chris Liechti690a8d02020-09-15 04:40:47 +0200755- [#500] Remove Python 3.2 and 3.3 from test
Chris Liechti6ae64c12020-09-21 02:38:31 +0200756- [#261, #285, #296, #320, #333, #342, #356, #358, #389, #397, #510] doc updates
Chris Liechti6fa82e12020-09-21 00:44:45 +0200757- miniterm: add :kbd:`CTRL+T Q` as alternative to exit
758- miniterm: suspend function key changed to :kbd:`CTRL-T Z`
Chris Liechti6ae64c12020-09-21 02:38:31 +0200759- add command line tool entries ``pyserial-miniterm`` (replaces ``miniterm.py``)
760 and ``pyserial-ports`` (runs ``serial.tools.list_ports``).
761- ``python -m serial`` opens miniterm (use w/o args and it will print port
762 list too) [experimental]
Chris Liechti6fa82e12020-09-21 00:44:45 +0200763
Chris Liechti690a8d02020-09-15 04:40:47 +0200764Bugfixes:
765
766- [#371] Don't open port if self.port is not set while entering context manager
767- [#437, #502] refactor: raise new instances for PortNotOpenError and SerialTimeoutException
768- [#261, #263] list_ports: set default `name` attribute
769- [#286] fix: compare only of the same type in list_ports_common.ListPortInfo
770- rfc2217/close(): fix race-condition
771- [#305] return b'' when connection closes on rfc2217 connection
772- [#386] rfc2217/close(): fix race condition
773- Fixed flush_input_buffer() for situations where the remote end has closed the socket.
774- [#441] reset_input_buffer() can hang on sockets
775- examples: port_publisher python 3 fixes
776- [#324] miniterm: Fix miniterm constructor exit_character and menu_character
777- [#326] miniterm: use exclusive access for native serial ports by default
778- [#497] miniterm: fix double use of CTRL-T + s use z for suspend instead
Chris Liechtid8678712020-09-21 03:10:01 +0200779- [#443, #444] examples: refactor wx example, use Bind to avoid deprecated
780 warnings, IsChecked, unichr
Chris Liechti690a8d02020-09-15 04:40:47 +0200781
782Bugfixes (posix):
783
784- [#265] posix: fix PosixPollSerial with timeout=None and add cancel support
785- [#290] option for low latency mode on linux
786- [#335] Add support to xr-usb-serial ports
787- [#494] posix: Don't catch the SerialException we just raised
788- [#519] posix: Fix custom baud rate to not temporarily set 38400 baud rates on linux
Chris Liechti6fa82e12020-09-21 00:44:45 +0200789- [#509 #518] list_ports: use hardcoded path to library on osx
Chris Liechti690a8d02020-09-15 04:40:47 +0200790
791Bugfixes (win32):
792
793- [#481] win32: extend RS485 error messages
794- [#303] win32: do not check for links in serial.tools.list_ports
795- [#430] Add WaitCommEvent function to win32
796- [#314, #433] tools/list_ports_windows: Scan both 'Ports' and 'Modem' device classes
797- [#414] Serial number support for composite USB devices
798- Added recursive search for device USB serial number to support composite devices
799
800Bugfixes (MacOS):
801
802- [#364] MacOS: rework list_ports to support unicode product descriptors.
803- [#367] Mac and bsd fix _update_break_state
Chris Liechti0e763472020-11-23 04:53:27 +0100804
805
806Version 3.5 2020-11-23
807----------------------
808See above (3.5b0) for what's all new in this release
809
810Bugfixes:
811
812- spy: ensure bytes in write()
813
814Bugfixes (posix):
815
816- [#540] serialposix: Fix inconsistent state after exception in open()
817
818Bugfixes (win32):
819
820- [#530] win32: Fix exception for composite serial number search on Windows
821
822Bugfixes (MacOS):
823
824- [#542] list_ports_osx: kIOMasterPortDefault no longer exported on Big Sur
825- [#545, #545] list_ports_osx: getting USB info on BigSur/AppleSilicon