All Versions
37
Latest Version
3.5
Avg Release Cycle
272 days
Latest Release
1243 days ago

Changelog History
Page 1

  • v3.5 Changes

    November 23, 2020

    ๐Ÿ†• New Features:

    • [#354] Make ListPortInfo hashable
    • [#411] Add a backend for Silicon Labs CP2110/4 HID-to-UART bridge. (depends on hid module)

    ๐Ÿ‘Œ Improvements:

    • [#315] Use absolute import everywhere
    • ๐Ÿ [#351] win32: miniterm Working CMD.exe terminal using Windows 10 ANSI support
    • [#372] threaded: "write" returns byte count
    • [#400] Add bytesize and stopbits argument parser to tcp_serial_redirect
    • [#408] loop: add out_waiting
    • ๐Ÿšš [#500] Remove Python 3.2 and 3.3 from test
    • โšก๏ธ doc updates [#261, #296, #320, #333, #285, #356, #358, #342, #397, #389, #510]

    ๐Ÿ›  Bugfixes:

    • [#371] Don't open port if self.port is not set while entering context manager
    • ๐Ÿ”จ [#437, #502] refactor: raise new instances for PortNotOpenError and SerialTimeoutException
    • 0๏ธโƒฃ [#261, #263] list_ports: set default name attribute
    • [#286] fix: compare only of the same type in list_ports_common.ListPortInfo
    • rfc2217/close(): fix race-condition
    • [#305] return b'' when connection closes on rfc2217 connection
    • [#386] rfc2217/close(): fix race condition
    • Fixed flush_input_buffer() for situations where the remote end has closed the socket.
    • [#441] reset_input_buffer() can hang on sockets
    • ๐Ÿ›  examples: port_publisher python 3 fixes
    • [#324] miniterm: Fix miniterm constructor exit_character and menu_character
    • 0๏ธโƒฃ [#326] miniterm: use exclusive access for native serial ports by default
    • [#497] miniterm: fix double use of CTRL-T + s use z for suspend instead
    • ๐Ÿ”จ [#443, #444] examples: refactor wx example, use Bind to avoid deprecated warnings, IsChecked, unichr

    ๐Ÿ›  Bugfixes (posix):

    • โฑ [#265] posix: fix PosixPollSerial with timeout=None and add cancel support
    • ๐Ÿง [#290] option for low latency mode on linux
    • ๐Ÿ‘ [#335] Add support to xr-usb-serial ports
    • [#494] posix: Don't catch the SerialException we just raised
    • ๐Ÿง [#519] posix: Fix custom baud rate to not temporarily set 38400 baud rates on linux

    ๐Ÿ›  Bugfixes (win32):

    • [#481] win32: extend RS485 error messages
    • [#303] win32: do not check for links in serial.tools.list_ports
    • [#430] Add WaitCommEvent function to win32
    • [#314, #433] tools/list_ports_windows: Scan both 'Ports' and 'Modem' device classes
    • ๐Ÿ‘ [#414] Serial number support for composite USB devices
    • โž• Added recursive search for device USB serial number to support composite devices

    ๐Ÿ›  Bugfixes (MacOS):

    • ๐ŸŽ [#364] MacOS: rework list_ports to support unicode product descriptors.
    • โšก๏ธ [#367] Mac and bsd fix _update_break_state
  • v3.5.b0 Changes

    September 21, 2020

    ๐Ÿ†• New Features:

    • [#411] Add a backend for Silicon Labs CP2110/4 HID-to-UART bridge. (depends on hid module)

    ๐Ÿ‘Œ Improvements:

    • [#315] Use absolute import everywhere
    • ๐Ÿ [#351] win32: miniterm Working CMD.exe terminal using Windows 10 ANSI support
    • [#354] Make ListPortInfo hashable
    • [#372] threaded: "write" returns byte count
    • [#400] Add bytesize and stopbits argument parser to tcp_serial_redirect
    • [#408] loop: add out_waiting
    • [#495] list_ports_linux: Correct "interface" property on Linux hosts
    • ๐Ÿšš [#500] Remove Python 3.2 and 3.3 from test
    • โšก๏ธ [#261, #285, #296, #320, #333, #342, #356, #358, #389, #397, #510] doc updates
    • miniterm: add :kbd:CTRL+T Q as alternative to exit
    • miniterm: suspend function key changed to :kbd:CTRL-T Z
    • โž• add command line tool entries pyserial-miniterm (replaces miniterm.py) and pyserial-ports (runs serial.tools.list_ports).
    • ๐Ÿ–จ python -m serial opens miniterm (use w/o args and it will print port list too) [experimental]

    ๐Ÿ›  Bugfixes:

    • [#371] Don't open port if self.port is not set while entering context manager
    • ๐Ÿ”จ [#437, #502] refactor: raise new instances for PortNotOpenError and SerialTimeoutException
    • 0๏ธโƒฃ [#261, #263] list_ports: set default name attribute
    • [#286] fix: compare only of the same type in list_ports_common.ListPortInfo
    • rfc2217/close(): fix race-condition
    • [#305] return b'' when connection closes on rfc2217 connection
    • [#386] rfc2217/close(): fix race condition
    • Fixed flush_input_buffer() for situations where the remote end has closed the socket.
    • [#441] reset_input_buffer() can hang on sockets
    • ๐Ÿ›  examples: port_publisher python 3 fixes
    • [#324] miniterm: Fix miniterm constructor exit_character and menu_character
    • 0๏ธโƒฃ [#326] miniterm: use exclusive access for native serial ports by default
    • [#497] miniterm: fix double use of CTRL-T + s use z for suspend instead
    • ๐Ÿ”จ [#443, #444] examples: refactor wx example, use Bind to avoid deprecated warnings, IsChecked, unichr

    ๐Ÿ›  Bugfixes (posix):

    • โฑ [#265] posix: fix PosixPollSerial with timeout=None and add cancel support
    • ๐Ÿง [#290] option for low latency mode on linux
    • ๐Ÿ‘ [#335] Add support to xr-usb-serial ports
    • [#494] posix: Don't catch the SerialException we just raised
    • ๐Ÿง [#519] posix: Fix custom baud rate to not temporarily set 38400 baud rates on linux
    • [#509 #518] list_ports: use hardcoded path to library on osx

    ๐Ÿ›  Bugfixes (win32):

    • [#481] win32: extend RS485 error messages
    • [#303] win32: do not check for links in serial.tools.list_ports
    • [#430] Add WaitCommEvent function to win32
    • [#314, #433] tools/list_ports_windows: Scan both 'Ports' and 'Modem' device classes
    • ๐Ÿ‘ [#414] Serial number support for composite USB devices
    • โž• Added recursive search for device USB serial number to support composite devices

    ๐Ÿ›  Bugfixes (MacOS):

    • ๐ŸŽ [#364] MacOS: rework list_ports to support unicode product descriptors.
    • โšก๏ธ [#367] Mac and bsd fix _update_break_state
  • v3.4 Changes

    July 22, 2017

    ๐Ÿ‘Œ Improvements:

    • ๐Ÿš€ miniterm: suspend function (temporarily release port, :kbd:Ctrl-T s)
    • [#240] context manager automatically opens port on __enter__
    • [#141] list_ports: add interface number to location string
    • [#225] protocol_socket: Retry if BlockingIOError occurs in reset_input_buffer.

    ๐Ÿ›  Bugfixes:

    • [#153] list_ports: option to include symlinked devices
    • โ†ช [#237] list_ports: workaround for special characters in port names

    ๐Ÿ›  Bugfixes (posix):

    • ๐Ÿ‘ allow calling cancel functions w/o error if port is closed
    • ๐Ÿ”€ [#220] protocol_socket: sync error handling with posix version
    • โฑ [#227] posix: ignore more blocking errors and EINTR, timeout only applies to blocking I/O
    • [#228] fix: port_publisher typo
  • v3.3 Changes

    March 08, 2017

    ๐Ÿ‘Œ Improvements:

    • [#206] Exclusive access on POSIX. exclusive flag added.
    • [#172] list_ports_windows: list_ports with 'manufacturer' info property
    • [#174] miniterm: change cancel impl. for console
    • โฑ [#182] serialutil: add overall timeout for read_until
    • โฑ socket: use non-blocking socket and new Timeout class
    • socket: implement a functional a reset_input_buffer
    • โฑ rfc2217: improve read timeout implementation
    • ๐Ÿ‘ป win32: include error message from system in ClearCommError exception
    • ๐Ÿ“„ and a few minor changes, docs

    ๐Ÿ›  Bugfixes:

    • [#183] rfc2217: Fix broken calls to to_bytes on Python3.
    • [#188] rfc2217: fix auto-open use case when port is given as parameter

    ๐Ÿ›  Bugfixes (posix):

    • [#178] in read, count length of converted data
    • [#189] fix return value of write

    ๐Ÿ›  Bugfixes (win32):

    • [#194] spurious write fails with ERROR_SUCCESS
  • v3.2.1 Changes

    October 14, 2016

    ๐Ÿ‘Œ Improvements:

    • โœ‚ remove serial.aio in favor of separate package, pyserial-asyncio
    • add client mode to example tcp_serial_redirect.py
    • ๐Ÿ‘‰ use of monotonic clock for timeouts, when available (Python 3.3 and up)
    • ๐Ÿ‘ [#169] arbitrary baud rate support for BSD family
    • ๐Ÿ‘Œ improve tests, improve loop://

    ๐Ÿ›  Bugfixes:

    • ๐Ÿ‘ป [#137] Exception while cancel in miniterm (python3)
    • [#143] Class Serial in protocol_loop.py references variable before assigning to it
    • [#149] Python 3 fix for threaded.FramedPacket

    ๐Ÿ›  Bugfixes (posix):

    • โšก๏ธ [#133] _update_dtr_state throws Inappropriate ioctl for virtual serial port created by socat on OS X
    • [#157] Broken handling of CMSPAR in serialposix.py

    ๐Ÿ›  Bugfixes (win32):

    • [#144] Use Unicode API for list_ports
    • [#145] list_ports_windows: support devices with only VID
    • ๐Ÿ [#162] Write in non-blocking mode returns incorrect value on windows
  • v3.2.0 Changes

    October 14, 2016

    ๐Ÿ‘€ See 3.2.1, this one missed a merge request related to removing aio.

  • v3.1.1 Changes

    June 12, 2016

    ๐Ÿ‘Œ Improvements:

    • ๐Ÿ—„ deprecate nonblocking() method on posix, the port is already in this mode.
    • ๐Ÿ’… style: use .format() in various places instead of "%" formatting

    ๐Ÿ›  Bugfixes:

    • [#122] fix bug in FramedPacket
    • [#127] The Serial class in the .NET/Mono (IronPython) backend does not implement the _reconfigure_port method
    • [#123, #128] Avoid Python 3 syntax in aio module

    ๐Ÿ›  Bugfixes (posix):

    • [#126] PATCH: Check delay_before_tx/rx for None in serialposix.py
    • posix: retry if interrupted in Serial.read

    ๐Ÿ›  Bugfixes (win32):

    • ๐Ÿ›  win32: handle errors of GetOverlappedResult in read(), fixes #121
  • v3.1.0 Changes

    May 27, 2016

    ๐Ÿ‘Œ Improvements:

    • ๐Ÿ‘Œ improve error handling in alt:// handler
    • โฑ socket:// internally used select, improves timeout behavior
    • ๐ŸŽ‰ initial state of RTS/DTR: ignore error when setting on open posix (support connecting to pty's)
    • ๐Ÿ’… code style updates
    • posix: remove "number_to_device" which is not called anymore
    • add cancel_read and cancel_write to win32 and posix implementations

    ๐Ÿ›  Bugfixes:

    • [#68] aio: catch errors and close connection
    • โšก๏ธ [#87] hexlify: update codec for Python 2
    • [#100] setPort not implemented
    • [#101] bug in serial.threaded.Packetizer with easy fix
    • โฑ [#104] rfc2217 and socket: set timeout in create_connection
    • [#107] miniterm.py fails to exit on failed serial port

    ๐Ÿ›  Bugfixes (posix):

    • ๐Ÿ›  [#59] fixes for RTS/DTR handling on open
    • [#77] list_ports_osx: add missing import
    • [#85] serialposix.py _set_rs485_mode() tries to read non-existing rs485_settings.delay_rts_before_send
    • [#96] patch: native RS485 is never enabled

    ๐Ÿ›  Bugfixes (win32):

    • fix bad super call and duplicate old-style init call
    • ๐Ÿง [#80] list_ports: Compatibility issue between Windows/Linux
  • v3.0.1 Changes

    January 11, 2016

    ๐Ÿ”„ Changes since V3.0:

    • Serial keyword arguments, more on backward compatibility, fix #55
    • list_ports: return name if product is None, fix for #54
    • โช port_publisher: restore some sorting of ports
    • special case for FDTIBUS in list_ports on win32

    ๐Ÿ‘€ See changes for more details.

  • v3.0 Changes

    December 28, 2015

    ๐Ÿ”„ Changes since V2.7:

    • ๐Ÿ‘ one code base for Python 2.7 and 3.2+ (support for older Python versions is dropped)
    • ๐Ÿ†• new API (old one is still available for backwards compatibility)
    • ๐Ÿ†• new URL handlers spy:// and alt://, improvements to rfc2217:// and socket:// (bugfixes, IPv6)
    • URL parameter format has been changed
    • experimental convenience APIs for threading and asyncio (the later only under Posix)
    • โšก๏ธ updated miniterm: changed handling of bytes/Unicode/encoding
    • ๐Ÿ›  a number of bugfixes

    ๐Ÿ”„ Changes since V3.0b1:

    • ๐Ÿ›  minor fixes, hwgrep:// now has options
    • ๐Ÿ›  tcsetattr bugfix for Posix

    ๐Ÿ‘€ See changes for more details.