Sean McArthur
@seanmonstar.com
π€ 1409
π₯ 41
π 92
Open Source maintainer of the rust-lang
@hyper.rs
. More at seanmonstar.com
Humans be like: "I did this".
1 day ago
1
4
1
Just read: "Junior[s] have always been useless." Hm. I've found Conway (1968) to be true instead: > We should take particular note of the fact that the quantum jumps in compiler design progress were associated with new groups of people on territory previously trampled chiefly by [experts].
2 days ago
1
15
0
reposted by
Sean McArthur
Finally finished my "2025 in review" post. They always take longer than I think. But it's always so valuable to reflect, follow the story, and extract the lessons.
seanmonstar.com/blog/2025-in...
loading . . .
2025 in review
Come along with me as I review the past year from my eyes. Heh, I often start these kinds of posts right at the start of the year, but it takes a few weeks l...
https://seanmonstar.com/blog/2025-in-review/
about 1 month ago
0
11
2
reposted by
Sean McArthur
TokioConf
about 1 month ago
Early bird pricing for TokioConf 2026 ends in just a few days. If youβve been thinking about joining us this April, nowβs a great time to grab a ticket before prices increase. Get your ticket:
www.eventbrite.com/e/tokioconf-...
loading . . .
TokioConf 2026
Join the inaugural TokioConf, which will gather developers to exchange ideas, learn from one another, and explore the future of async Rust.
https://www.eventbrite.com/e/tokioconf-2026-tickets-1595919270499?aff=socialEarly
0
3
2
Finally finished my "2025 in review" post. They always take longer than I think. But it's always so valuable to reflect, follow the story, and extract the lessons.
seanmonstar.com/blog/2025-in...
loading . . .
2025 in review
Come along with me as I review the past year from my eyes. Heh, I often start these kinds of posts right at the start of the year, but it takes a few weeks l...
https://seanmonstar.com/blog/2025-in-review/
about 1 month ago
0
11
2
the copilot thing smells just like google+ a decade ago
about 2 months ago
0
11
0
Latest
#rustlang
h2 release v0.4.13 out! - API support for 1xx responses - Fixes for DATA frame padding and stream capacity when pending
github.com/hyperium/h2/...
loading . . .
Release v0.4.13 Β· hyperium/h2
What's Changed Implement HTTP/2 informational responses (1xx) support by @apu031 in #865 fix: Unparent connection span by @Jesse-Bakker in #868 fix: auto-release padding from DATA frames by @seanm...
https://github.com/hyperium/h2/releases/tag/v0.4.13
about 2 months ago
0
6
0
I'm imagining a native-rustls crate, which uses rustls on unix, and schannel on windows, and the user doesn't have to care, like native-tls.
about 2 months ago
3
3
0
rustls is definitely much better, and aws-lc-rs is likely a good idea but i'm frustated at how poor the experience is for windows users
about 2 months ago
0
7
0
reposted by
Sean McArthur
To end the year, a new major version of
#rustlang
reqwest, v0.13.0 is out! π - This brings rustls by default, replacing native-tls. π¦ - Some feature and method cleanup. - But easy to upgrade for most everyone.
seanmonstar.com/blog/reqwest...
loading . . .
reqwest v0.13 - rustls by default
reqwest v0.13 brings rustls by default, feature cleanup, but otherwise easy to upgrade.
https://seanmonstar.com/blog/reqwest-v013-rustls-default/
2 months ago
1
38
6
why yes i did want to debug cmake on android
2 months ago
0
10
0
To end the year, a new major version of
#rustlang
reqwest, v0.13.0 is out! π - This brings rustls by default, replacing native-tls. π¦ - Some feature and method cleanup. - But easy to upgrade for most everyone.
seanmonstar.com/blog/reqwest...
loading . . .
reqwest v0.13 - rustls by default
reqwest v0.13 brings rustls by default, feature cleanup, but otherwise easy to upgrade.
https://seanmonstar.com/blog/reqwest-v013-rustls-default/
2 months ago
1
38
6
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/...
loading . . .
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...
https://github.com/seanmonstar/reqwest/releases/tag/v0.13.0-rc.1
2 months ago
1
34
11
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/...
loading . . .
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...
https://github.com/seanmonstar/reqwest/releases/tag/v0.13.0-rc.1
2 months ago
1
34
11
New
#rustlang
reqwest v0.12.27 out now! - Adds Windows Named Pipe support.
github.com/seanmonstar/...
loading . . .
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 #...
https://github.com/seanmonstar/reqwest/releases/tag/v0.12.27
2 months ago
0
11
1
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...
loading . . .
hyper-util Composable Pools
Announcing connection pool layers allowing advanced composition in Rust.
https://seanmonstar.com/blog/hyper-util-composable-pools/
3 months ago
0
34
6
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...
loading . . .
hyper-util Composable Pools
Announcing connection pool layers allowing advanced composition in Rust.
https://seanmonstar.com/blog/hyper-util-composable-pools/
3 months ago
0
34
6
reposted by
Sean McArthur
rain π¦οΈ
3 months ago
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!
loading . . .
In defense of lock poisoning in Rust Β· sunshowers
It's worth retaining one of multithreaded Rust's most valuable features.
https://sunshowers.io/posts/on-poisoning/
7
183
44
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
loading . . .
hyper User Survey 2025
Iβm excited to announce the inaugural hyper user survey!
https://seanmonstar.com/blog/hyper-user-survey-2025/
4 months ago
2
19
8
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%
3 months ago
2
23
1
reposted by
Sean McArthur
rain π¦οΈ
3 months ago
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.
9
114
21
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
4 months ago
3
4
0
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
loading . . .
hyper User Survey 2025
Iβm excited to announce the inaugural hyper user survey!
https://seanmonstar.com/blog/hyper-user-survey-2025/
4 months ago
2
19
8
reposted by
Sean McArthur
Steve Klabnik
4 months ago
β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...
loading . . .
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 ...
https://security.googleblog.com/2025/11/rust-in-android-move-fast-fix-things.html?m=1
3
323
97
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...
loading . . .
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:...
https://github.com/hyperium/hyper/releases/tag/v1.8.0
4 months ago
0
14
1
reposted by
Sean McArthur
TokioConf
5 months ago
The TokioConf 2026 call for talk proposals is now open!
tokio.rs/blog/2025-09...
loading . . .
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.
https://tokio.rs/blog/2025-09-26-announcing-tokio-conf-cfp
0
26
7
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...
loading . . .
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...
https://github.com/hyperium/hyper/issues/3948
6 months ago
0
18
5
reposted by
Sean McArthur
Rust Language
6 months ago
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...
loading . . .
crates.io phishing campaign | Rust Blog
Empowering everyone to build reliable and efficient software.
https://blog.rust-lang.org/2025/09/12/crates-io-phishing-campaign/
0
112
59
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...
loading . . .
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...
https://seanmonstar.com/blog/podcast-netstackfm/
6 months ago
0
11
3
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...
loading . . .
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...
https://seanmonstar.com/blog/hyper-http2-didnt-madeyoureset/
7 months ago
0
8
5
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/...
loading . . .
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...
https://github.com/seanmonstar/reqwest/releases/tag/v0.12.23
7 months ago
1
31
4
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/...
loading . . .
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...
https://github.com/seanmonstar/reqwest/releases/tag/v0.12.23
7 months ago
1
31
4
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
loading . . .
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.
https://seanmonstar.com/blog/warp-v04/
7 months ago
0
9
2
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
loading . . .
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.
https://seanmonstar.com/blog/warp-v04/
7 months ago
0
9
2
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.
7 months ago
0
11
1
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/...
loading . . .
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 ...
https://github.com/seanmonstar/warp/releases/tag/v0.4.0
7 months ago
0
7
2
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/...
loading . . .
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 ...
https://github.com/seanmonstar/warp/releases/tag/v0.4.0
7 months ago
0
7
2
Considering reqwest should default to faster TCP disconnection:
github.com/seanmonstar/...
loading . . .
fix: add default tcp keepalive and user_timeout values by seanmonstar Β· Pull Request #2780 Β· seanmonstar/reqwest
It seems reasonable for an "opinionated" HTTP client to help detect dead connections faster.
https://github.com/seanmonstar/reqwest/pull/2780
7 months ago
0
4
0
Hm, I wonder why that change was made... git blame: "Me, 8 years ago" *emotional damage*
7 months ago
0
9
0
reposted by
Sean McArthur
Dirkjan Ochtman
8 months ago
Iβve been maintaining the Rust flamegraph implementation for three years, releasing about every 3 months on average. Consider sponsoring my work if itβs been valuable to you(r team).
add a skeleton here at some point
1
44
8
Exploring easy HTTP redirects in
#rustlang
reqwest! π¦ This adds a builder to configure how retries work, while helping you do so responsibly. And the goal is to upstream what we can to tower.
seanmonstar.com/blog/reqwest...
loading . . .
reqwest retries
One part of working on a more modular reqwest was adding support for retries.
https://seanmonstar.com/blog/reqwest-retries/
8 months ago
0
9
2
Want to help
#rustlang
reqwest switch its default to rustls? Here's the medium-effort mentored issue:
github.com/seanmonstar/...
loading . . .
Switch default TLS to rustls Β· Issue #2723 Β· seanmonstar/reqwest
We want to change the default TLS library used by reqwest from native-tls to rustls. We will still offer native-tls as an option, since some people need it for some reason or another. But the vast ...
https://github.com/seanmonstar/reqwest/issues/2723
8 months ago
0
36
4
reposted by
Sean McArthur
TokioConf
9 months ago
Hello World! Announcing the inaugural TokioConf. April 20-22, 2026, in Portland, OR.
tokio.rs/blog/2025-06...
loading . . .
Announcing TokioConf 2026 | 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.
https://tokio.rs/blog/2025-06-19-announcing-tokio-conf
0
45
11
New
#rustlang
reqwest v0.12.16 out now! π¦ - Several HTTP/3 improvements. - A redirect limit off-by-1 fix. - Add headers for a proxy. Includes internal refactors of types now in hyper-util or tower, like redirects, proxy matchers, and proxy connectors!
github.com/seanmonstar/...
loading . . .
Release v0.12.16 Β· seanmonstar/reqwest
Highlights Add ClientBuilder::http3_congestion_bbr() to enable BBR congestion control. Add ClientBuilder::http3_send_grease() to configure whether to send use QUIC grease. Add ClientBuilder::http3...
https://github.com/seanmonstar/reqwest/releases/tag/v0.12.16
9 months ago
1
17
0
New
#rustlang
hyper-util v0.1.12 out now! This one has the things. Part of making reqwest "more modular". - A proxy matcher type that can use environment/system variables. - SOCKS and HTTP Tunnel connector adapters. - Graceful shutdown made more flexible. - Bug fixes!
github.com/hyperium/hyp...
loading . . .
Release v0.1.12 Β· hyperium/hyper-util
tl;dr Add client::legacy::proxy::Tunnel connector that wraps another connector with HTTP tunneling. Add client::legacy::proxy::{SocksV4, SocksV5} connectors that wraps another connector with SOCKS...
https://github.com/hyperium/hyper-util/releases/tag/v0.1.12
10 months ago
0
10
1
I have this suspicion that as JavaScript devs get a taste through TypeScript, they started to desire a much better type system and end up in
#rustlang
. Was that you?
10 months ago
6
15
1
A new
@hyper.rs
proposal: Body::poll_progress When piping a body into a sink, how can we forward cancelation when backpressure is applied?
#rustlang
π¦
seanmonstar.com/blog/body-po...
loading . . .
Body::poll_progress
This describes a proposal for a cancelation problem with hyperβs request and response bodies. hyper is an HTTP library for the Rust language.
https://seanmonstar.com/blog/body-poll-progress/
11 months ago
2
9
1
I'm so excited to welcome katelyn martin as a
@hyper.rs
Collaborator! ππ
#rustlang
π¦
hyper.rs/blog/2025/04...
loading . . .
Welcome katelyn martin
Weβre thrilled to welcome katelyn martin (@cratelyn) as a hyper Collaborator. katelyn first contributed back in 2020, and more recently has been improving various utilities and documentation. Some hig...
https://hyper.rs/blog/2025/04/21/welcome-katelyn-martin/
11 months ago
0
22
3
Another case where I don't like booleans: `filter`. Because of natural English, my brain assumes I'm "filtering out" things, but programming usually wants me to ... filter in? Keep whatever is true.
11 months ago
4
8
0
Load more
feeds!
log in