Sean McArthur
banner
seanmonstar.com
Sean McArthur
@seanmonstar.com
Open Source maintainer of the rust-lang @hyper.rs.

More at seanmonstar.com
Reposted by Sean McArthur
Just published a new #rustlang reqwest release candidate: v0.13.0-rc.1.

This has some breaking changes, the biggest was switching to rustls by default.

I'd appreciate if you gave it a spin 🙏

github.com/seanmonstar/...
Release v0.13.0-rc.1 · seanmonstar/reqwest
👀 Discussion here if you give it try, thanks! Main breaking changes rustls is now default instead of native-tls rustls provider defaults to aws-lc instead of ring (rustls-no-provider exists if you...
github.com
December 23, 2025 at 10:03 PM
Just published a new #rustlang reqwest release candidate: v0.13.0-rc.1.

This has some breaking changes, the biggest was switching to rustls by default.

I'd appreciate if you gave it a spin 🙏

github.com/seanmonstar/...
Release v0.13.0-rc.1 · seanmonstar/reqwest
👀 Discussion here if you give it try, thanks! Main breaking changes rustls is now default instead of native-tls rustls provider defaults to aws-lc instead of ring (rustls-no-provider exists if you...
github.com
December 23, 2025 at 10:03 PM
New #rustlang reqwest v0.12.27 out now!

- Adds Windows Named Pipe support.

github.com/seanmonstar/...
Release v0.12.27 · seanmonstar/reqwest
tl;dr Add ClientBuilder::windows_named_pipe(name) option that will force all requests over that Windows Named Pipe. What's Changed chore: Disable unused tokio-util codec feature by @tottoto in #...
github.com
December 22, 2025 at 3:39 PM
Reposted by Sean McArthur
Announcing @hyper.rs composable pool layers!

We took the various aspects of a connection pool and made them into individual layers to combine as needed.

This is something I've been thinking about for years, I'm so glad it's finally coming out. #rustlang

seanmonstar.com/blog/hyper-u...
hyper-util Composable Pools
Announcing connection pool layers allowing advanced composition in Rust.
seanmonstar.com
December 3, 2025 at 2:22 PM
Announcing @hyper.rs composable pool layers!

We took the various aspects of a connection pool and made them into individual layers to combine as needed.

This is something I've been thinking about for years, I'm so glad it's finally coming out. #rustlang

seanmonstar.com/blog/hyper-u...
hyper-util Composable Pools
Announcing connection pool layers allowing advanced composition in Rust.
seanmonstar.com
December 3, 2025 at 2:22 PM
Reposted by Sean McArthur
New post: a defense of lock poisoning in Rust.

Followup to recent discussion: decided to write about lock poisoning, looking at the arguments on each side, and informed by our experience at @oxide.computer dealing with the parallel problem of unexpected async cancellations

Please give it a read!
In defense of lock poisoning in Rust · sunshowers
It's worth retaining one of multithreaded Rust's most valuable features.
sunshowers.io
December 2, 2025 at 7:37 PM
Reposted by Sean McArthur
I'm excited to announce the first @hyper.rs user survey!

If you've used hyper (or related libraries) just a little or a whole bunch, providing feedback is invaluable and should take less than 5 minutes. Give it a go!

seanmonstar.com/blog/hyper-u...

#rustlang
hyper User Survey 2025
I’m excited to announce the inaugural hyper user survey!
seanmonstar.com
November 18, 2025 at 3:27 PM
While I never want to _deal_ with poison, I do want the invalid state propagated.

I like one suggestion I've seen:
- lock() just panics on poison, no Result
- try_lock() let's you try to recover from poison for the 1%
November 28, 2025 at 7:11 PM
Reposted by Sean McArthur
Incredibly disappointed (shocked even) that the plan is to make the default Rust mutex not poisonable in the 2027 edition. Poisoning is one of the best examples of Rust focusing on rigor, and removing it from the default mutex would be a massive step backwards.
November 27, 2025 at 7:36 PM
I'd strongly consider the compiler yelling at me (besides my brain already) at `unwrap()` calls. But I have two cases that are common enough:

- Mutex::lock(), which well yea ok go boom please
- A field that is only an Option to support moving out in Drop
November 19, 2025 at 1:16 PM
I'm excited to announce the first @hyper.rs user survey!

If you've used hyper (or related libraries) just a little or a whole bunch, providing feedback is invaluable and should take less than 5 minutes. Give it a go!

seanmonstar.com/blog/hyper-u...

#rustlang
hyper User Survey 2025
I’m excited to announce the inaugural hyper user survey!
seanmonstar.com
November 18, 2025 at 3:27 PM
Reposted by Sean McArthur
“We adopted #rustlang for its security and are seeing a 1000x reduction in memory safety vulnerability density ... with Rust changes having a 4x lower rollback rate and spending 25% less time in code review, the safer path is now also the faster one.”

security.googleblog.com/2025/11/rust...
Rust in Android: move fast and fix things
Posted by Jeff Vander Stoep, Android Last year, we wrote about why a memory safety strategy that focuses on vulnerability prevention in ...
security.googleblog.com
November 13, 2025 at 7:52 PM
New #rustlang @hyper.rs v1.8.0 release out now!

Highlights:

- `rt::Timer` can override `now()`.
- Fix internals of HTTP/2 extended connect upgrades.

github.com/hyperium/hyp...
Release v1.8.0 · hyperium/hyper
Highlights Features rt: add Timer::now() method to allow overriding the instant returned (#3965) (5509ebe6) Bug Fixes http1: fix rare missed write wakeup on connections (#3952) (2377b893) http2:...
github.com
November 11, 2025 at 2:43 PM
Reposted by Sean McArthur
The TokioConf 2026 call for talk proposals is now open! tokio.rs/blog/2025-09...
The TokioConf 2026 Call For Talk Proposals is now open | Tokio - An asynchronous Rust runtime
Tokio is a runtime for writing reliable asynchronous applications with Rust. It provides async I/O, networking, scheduling, timers, and more.
tokio.rs
September 26, 2025 at 5:55 PM
I've been working on a proposal for composable HTTP pool utilities for hyper-util, several of them have implementation PRs linked at the bottom. I welcome any feedback! #rustlang

github.com/hyperium/hyp...
Proposal: hyper-util composable pool services · Issue #3948 · hyperium/hyper
Problem hyper's "legacy" pool did many things at once, and needed to support the ability to turn off various parts of it. Users often ask to be able to customize parts of the connection pool. Eithe...
github.com
September 16, 2025 at 3:48 PM
Reposted by Sean McArthur
We received reports of a phishing campaign targeting crates​.io users. Do not click on links asking to authenticate to protect your account. More information: blog.rust-lang.org/2025/09/12/c...
crates.io phishing campaign | Rust Blog
Empowering everyone to build reliable and efficient software.
blog.rust-lang.org
September 12, 2025 at 2:22 PM
I was recently on the Netstack.fm podcast, and had a fun time talking with Glen about:

- the beginning of hyper, and async #rustlang
- as the ecosystem grew
- the development of crates like hyper-util, headers, warp, reqwest
- being independent
- 5 years from now

seanmonstar.com/blog/podcast...
Podcast: Netstack.fm, story of Rust's networking with hyper
Last week I was a guest on the Netstack podcast. We talked abit about how I got into Rust, how async Rust developed, and the story behind hyper and its surro...
seanmonstar.com
September 2, 2025 at 1:36 PM
A new HTTP/2 MadeYouReset vulnerability disclosed (VU#767506).

@hyper.rs handles it just fine, but we also provided some patches to help.

#rustlang #security

seanmonstar.com/blog/hyper-h...
hyper HTTP/2 (Didn't) MadeYouReset
A new HTTP/2 attack vector was disclosed today called MadeYouReset. hyper’s h2 is negligably affected, weathering the attack well. But, we have provided patc...
seanmonstar.com
August 13, 2025 at 12:51 PM
Reposted by Sean McArthur
Really excited about the #rustlang reqwest v0.12.23 just out! 🦀

- Introduces `reqwest::retry`, an easy builder to make safe automatic retries.
- Adds Unix Domain Socket support.
- And of course more.

github.com/seanmonstar/...
Release v0.12.23 · seanmonstar/reqwest
tl;dr 🇺🇩🇸 Add ClientBuilder::unix_socket(path) option that will force all requests over that Unix Domain Socket. 🔁 Add ClientBuilder::retries(policy) and reqwest::retry::Builder to configure autom...
github.com
August 12, 2025 at 2:02 PM
Really excited about the #rustlang reqwest v0.12.23 just out! 🦀

- Introduces `reqwest::retry`, an easy builder to make safe automatic retries.
- Adds Unix Domain Socket support.
- And of course more.

github.com/seanmonstar/...
Release v0.12.23 · seanmonstar/reqwest
tl;dr 🇺🇩🇸 Add ClientBuilder::unix_socket(path) option that will force all requests over that Unix Domain Socket. 🔁 Add ClientBuilder::retries(policy) and reqwest::retry::Builder to configure autom...
github.com
August 12, 2025 at 2:02 PM
Reposted by Sean McArthur
Here's the write up for the `warp` v0.4 release!

- Filters remain the focus
- Upgrade to hyper v1
- Crate features on a diet
- Iterating on the Server builder (and API design in general)

seanmonstar.com/blog/warp-v04/

#rustlang
warp v0.4
Yesterday, warp v0.4 was released. warp is a Rust web server framework, with a focus on functional programming and type system routing.
seanmonstar.com
August 6, 2025 at 3:16 PM
Here's the write up for the `warp` v0.4 release!

- Filters remain the focus
- Upgrade to hyper v1
- Crate features on a diet
- Iterating on the Server builder (and API design in general)

seanmonstar.com/blog/warp-v04/

#rustlang
warp v0.4
Yesterday, warp v0.4 was released. warp is a Rust web server framework, with a focus on functional programming and type system routing.
seanmonstar.com
August 6, 2025 at 3:16 PM
So far we've backported important fixes to #rustlang hyper v0.14, but after almost 2 years, I think that's pretty close to done.

Please upgrade to v1 to get the latest fixes.
August 5, 2025 at 7:41 PM
Reposted by Sean McArthur
Just released #rustlang warp v0.4! 🦀

This includes an upgrade to hyper v1, and cleans up the crate features a bit so you can choose what to enable (less is on by default).

Most of the API stayed the same (the examples and tests barely needed any changing). 🚀

github.com/seanmonstar/...
Release v0.4.0 · seanmonstar/warp
Changes: Upgrade to hyper, http, and http-body to v1. Remove multipart and websocket features from being enabled by default. Put warp::serve() behind a server feature, not enabled by default. Put ...
github.com
August 5, 2025 at 3:30 PM