pySerial v3.5 Release Notes

Release Date: 2020-11-23 // 10 months ago
  • ๐Ÿ†• 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

Previous changes from v3.5.b0

  • ๐Ÿ†• 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