Skip to content

Bump uart_16550 from 0.4.0 to 0.8.1 - #923

Open
dependabot[bot] wants to merge 1 commit into
trunkfrom
dependabot/cargo/uart_16550-0.8.1
Open

dependabot[bot] wants to merge 1 commit into
trunkfrom
dependabot/cargo/uart_16550-0.8.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 18, 2026

Copy link
Copy Markdown
Contributor

Bumps uart_16550 from 0.4.0 to 0.8.1.

Release notes

Sourced from uart_16550's releases.

v0.8.0

What's Changed

Full Changelog: rust-osdev/uart_16550@v0.7.0...v0.8.0

v0.6.0

What's Changed

Full Changelog: rust-osdev/uart_16550@v0.5.0...v0.6.0

v0.5.0 (rewrite of the crate!)

  • Complete rewrite of the crate
  • The crate is by no means "minimalist" anymore. Now, uart_16550, is a simple yet highly configurable low-level driver for 16550 UART devices, typically known and used as serial ports or COM ports. Easy integration into Rust while providing fine-grained control where needed (e.g., for kernel drivers).
  • Changes were made to use this on real hardware
  • Common API for x86 port I/O and MMIO
  • 100% typed spec

We thank all past contributors. We've decided to completely rewrite the crate to clean up technical debt from the past, maintain the highest possible coding and API standards, and to make this crate ready for usage on real hardware, while keeping it easy to use in virtual machines.

Special Thanks

Special Thanks to Philipp Oppermann (@鈥媝hil-opp) and Martin Kr枚ning (@鈥媘kroening) for their very valuable review on the new crate!

Migration to v0.5.0

Old

use uart_16550::SerialPort;
const SERIAL_IO_PORT: u16 = 0x3F8;
let mut serial_port = unsafe { SerialPort::new(SERIAL_IO_PORT) };
serial_port.init();
// Now the serial port is ready to be used. To send a byte:
</tr></table>

... (truncated)

Changelog

Sourced from uart_16550's changelog.

CHANGELOG

Unreleased

  • New public method Uart16550::check_present(): probes for a device through the scratch register. Uart16550::init() now delegates its existing presence check to it and still fails with InitError::DeviceNotPresent.

0.8.0 - 2026-08-16

  • Breaking: Config::default() now disables all interrupts by default (was IER::DATA_READY).
  • Made Uart16550::init() enable configured interrupts only at the end. Also documented when interrupts can still become pending.

0.7.0 - 2026-08-15

  • Breaking: Changed the return type of Uart16550::config(&self) from (&Config, &B::Address) to (&Config, &B)
  • Breaking: ready_to_send() (and send_bytes() in turn) doesn't check MSR::CTS anymore by default, as modern hardware tends to leave that pin disconnected. This behavior is configurable through Config::check_cts_before_sending. Additionally, for manual checks, users can check if device.msr().contains(MSR::CTS) {}.

0.6.0 - 2026-03-28

  • Rename Uart16550::try_send_bytes() to Uart16550::send_bytes()
  • Rename Uart16550::try_receive_bytes() to Uart16550::receive_bytes()
  • New public methods:
    • Uart16550::ready_to_receive()
    • Uart16550::ready_to_send()
  • Documentation improvements
  • Internal safety fixes (there was no UB, just making the internal code more robust)
  • Uart16550::new_mmio() and Uart16550Ttty::new_mmio() now accept a NonNull<u8> instead of a *mut u8. The recommended way to construct the MMIO address is to use:
    fn main() {
      // External MMIO address.
      let mmio_address = ptr::with_exposed_provenance_mut::<u8>(0x1000);
      let mmio_address = NonNull::new(mmio_address).unwrap();
      let mut uart = unsafe { Uart16550::new_mmio(mmio_address, 4).unwrap() };
    }

0.5.0 - 2026-03-20

  • Complete rewrite of the crate

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [uart_16550](https://github.com/rust-osdev/uart_16550) from 0.4.0 to 0.8.1.
- [Release notes](https://github.com/rust-osdev/uart_16550/releases)
- [Changelog](https://github.com/rust-osdev/uart_16550/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-osdev/uart_16550/commits)

---
updated-dependencies:
- dependency-name: uart_16550
  dependency-version: 0.8.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants