serial
Rust library for accessing serial ports.
0.4.0
8.6M downloads/mo
#3386 most downloaded on crates.io
dcuddeback/serial-rs
What this package is like to depend on
Last release 9 years ago
no release in 18 months
Ships unpredictably
gaps range from 8 days to 13 months
Nearly every release is documented
notes for 16 of 16 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
17 releases · first in 2015
0 releases in the last 12 months
see the full history below
Release timeline
17 releases · Mar 2015 to Jul 2017
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 17-
0.4.002 Jul 2017Release notes
Open source →Changed
- Split implementation into multiple crates:
serial-corecontains core abstractions.serial-unixprovides Unix implementation.serial-windowsprovides Windows implementation.serialprovides cross-platform interface.
- Renamed
serial::posixmodule toserial::unix.
Removed
- Removed implementation of
DefaultforPortSettings.
Fixed
- Fixed bugs in the Windows implementation that did not reset parity, binary, or DTR control settings.
- Split implementation into multiple crates:
-
0.3.402 Jun 2016 -
0.3.320 Mar 2016 -
0.3.206 Nov 2015 -
0.3.105 Nov 2015 withdrawnNothing published for this version
-
0.3.016 Oct 2015Release notes
Open source →Added
- Added support for FreeBSD.
Changed
- Replaced dependence on
timecrate withstd::time. - Minimum supported version of Rust is now 1.3.0.
-
0.2.104 Oct 2015 -
0.2.021 Jun 2015Release notes
Open source →Added
- Added
SerialDevicetrait as implementation trait for new serial port types. All types that implementSerialDevicewill automatically implementSerialPort. - Added new
ErrorKindvariant:NoDevice.
Changed
- Changed
reconfigure()method to be object-safe and moved fromSerialPortExttoSerialPort. - Changed return type of
serial::open()fromio::Resulttoserial::Result. - Improved usefulness of errors returned by many methods by explicitly handling system error codes and using system error descriptions.
Removed
- Removed methods from
SerialPorttrait that required knowledge of the port'sSettingstype. Removed methods areread_settings()andwrite_settings(). They are still available viaSerialDevice. - Removed
SerialPortExttrait.
Fixed
- (#4)
Made
SerialPortusable as a trait object.SerialPortobjects can now be boxed asBox<SerialPort>.
- Added
-
0.1.307 Jun 2015Release notes
Open source →Added
- Added support for control signals to
SerialPorttrait. RTS and DTR control signals are settable. CTS, DSR, RI, and CD signals are readable. - Implemented control signals for Unix TTY devices.
- Implemented control signals for Windows COM ports.
- Added support for control signals to
-
0.1.203 Jun 2015Release notes
Open source →Fixed
- (#5)
Fixed bug that kept PTY devices created with
socatlocked after closing device.
- (#5)
Fixed bug that kept PTY devices created with
-
0.1.127 May 2015Release notes
Open source →Added
- When opening Unix TTY ports, they are now locked for exclusive access with
TIOCEXLioctl.
- When opening Unix TTY ports, they are now locked for exclusive access with
-
0.1.025 May 2015Release notes
Open source →Added
- Added support for stable release channel.
- Added
serial::Errortype to represent errors. - Added
SerialPort::configure()method to configure port directly from aPortSettingsobject. - Implemented
AsRawFdfor Unix TTY ports. - Implemented
AsRawHandlefor Windows COM ports.
Changed
- Renamed
SerialPort::settings()toSerialPort::read_settings(). - Renamed
SerialPort::apply_settings()toSerialPort::write_settings(). - Changed
io::Resultreturn types toserial::Result. - Returning
serial::ResultfromSerialPort::set_timeout()to allow function to perform I/O. - Changed return type of
SerialPortSettingsgetter methods toOption<T>, so undetermined settings can be represented asNone. - Changed return type of
SerialPortSettings::set_baud_rate()toserial::Resultto allow the method to return an error for unsupported baud rates.
Removed
- Removed uncommon baud rates: 50, 75, 134, 150, 200, 1800, and 230400 (still available with
BaudOther).
-
0.0.517 Apr 2015Release notes
Open source →Added
- Added support for Windows COM ports.
- Added cross-platform function
serial::open()for opening system serial ports.
Changed
- Return
io::ResultfromSerialPort::settings().
-
0.0.413 Apr 2015Release notes
Open source →Changed
- Replaced use of built-in
libccrate withlibcpackage from crates.io. - (#1)
Replaced use of unstable
std::timemodule withtimepackage from crates.io.
Fixed
- Updated to support Rust 1.0.0-beta compiler.
- Replaced use of built-in
-
0.0.303 Apr 2015 -
0.0.229 Mar 2015Release notes
Open source →Changed
- Migrated to new
std::iomodule formstd::old_io.
Fixed
- Updated to support latest Rust nightly compiler.
- Migrated to new
-
0.0.129 Mar 2015