Skip to content

Bump uart_16550 from 0.4.0 to 0.8.0 - #896

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

Bump uart_16550 from 0.4.0 to 0.8.0#896
dependabot[bot] wants to merge 1 commit into
trunkfrom
dependabot/cargo/uart_16550-0.8.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 20, 2026

Copy link
Copy Markdown
Contributor

Bumps uart_16550 from 0.4.0 to 0.8.0.

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.

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
  • 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

... (truncated)

Commits
  • 176b07b Merge pull request #69 from phip1611/interrupts-fixes
  • 6b314f3 chore: v0.8.0
  • 37b3f3e uart: make init() more robust against invalid device state
  • e73f64c uart: enable interrupts last in Uart16550::init()
  • 82ad27a doc: document more side effects
  • 72a1534 config: disable interrupts by default
  • 7d813b1 chore: prepare v0.7.0
  • e7a9822 Merge pull request #68 from phip1611/doc
  • 114d2ec doc: tighten CTS/hardware flow control wording
  • 88a0674 doc: tighten cts/hw control flow wording
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Aug 20, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/uart_16550-0.8.0 branch from a06b87a to 09c1344 Compare August 21, 2026 07:32
Bumps [uart_16550](https://github.com/rust-osdev/uart_16550) from 0.4.0 to 0.8.0.
- [Release notes](https://github.com/rust-osdev/uart_16550/releases)
- [Changelog](https://github.com/rust-osdev/uart_16550/blob/main/CHANGELOG.md)
- [Commits](rust-osdev/uart_16550@v0.4.0...v0.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/uart_16550-0.8.0 branch from 09c1344 to bb5be4a Compare August 25, 2026 21:07
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