Skip to content

Bump uart_16550 from 0.4.0 to 0.5.0#816

Open
dependabot[bot] wants to merge 1 commit intotrunkfrom
dependabot/cargo/uart_16550-0.5.0
Open

Bump uart_16550 from 0.4.0 to 0.5.0#816
dependabot[bot] wants to merge 1 commit intotrunkfrom
dependabot/cargo/uart_16550-0.5.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Mar 23, 2026

Bumps uart_16550 from 0.4.0 to 0.5.0.

Release notes

Sourced from uart_16550's releases.

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 (@​phil-opp) and Martin Kröning (@​mkroening) 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:
serial_port.send(42);
// To receive a byte:
let data = serial_port.receive();

New (Minimalistic)

use uart_16550::{Config, Uart16550Tty};
use core::fmt::Write;
fn main() {
// SAFETY: The address is valid and we have exclusive access.
let mut uart = unsafe { Uart16550Tty::new_mmio(0x1000 as *mut _, 4, Config::default()).expect("should initialize device") };
//                                    ^ or new_port(0x3f8, Config::default())
uart.write_str("hello world\nhow's it going?");
</tr></table>

... (truncated)

Changelog

Sourced from uart_16550's changelog.

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

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 (@​phil-opp) and Martin Kröning (@​mkroening) 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:
serial_port.send(42);
// To receive a byte:
let data = serial_port.receive();

New (Minimalistic)

use uart_16550::{Config, Uart16550Tty};
use core::fmt::Write;
fn main() {
// SAFETY: The address is valid and we have exclusive access.
let mut uart = unsafe { Uart16550Tty::new_mmio(0x1000 as *mut _, 4, Config::default()).expect("should initialize device") };
//                                    ^ or new_port(0x3f8, Config::default())
</tr></table>

... (truncated)

Commits
  • c17d30c cargo: update test deps
  • fcc6f60 Merge pull request #46 from phip1611/changelog
  • 38db194 doc: update changelog
  • f9e5bf6 Merge pull request #42 from mkroening/embedded-io
  • 156ce47 feat: implement embedded-io traits
  • decb57e refactor: extract ready_to_send
  • 206b0d3 refactor: extract ready_to_receive
  • 73eea9b Merge pull request #45 from rust-osdev/dependabot/cargo/assert2-0.4.0
  • 10f34ab Merge pull request #44 from rust-osdev/dependabot/cargo/bitflags-2.11.0
  • 88a8d56 Merge pull request #43 from rust-osdev/dependabot/github_actions/crate-ci/typ...
  • Additional commits viewable in compare view

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)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Mar 23, 2026
Bumps [uart_16550](https://github.com/rust-osdev/uart_16550) from 0.4.0 to 0.5.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.5.0)

---
updated-dependencies:
- dependency-name: uart_16550
  dependency-version: 0.5.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.5.0 branch from 1248476 to c21cc93 Compare March 24, 2026 07:57
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