Sean McArthur
@seanmonstar.com
π€ 1389
π₯ 39
π 88
Open Source maintainer of the rust-lang
@hyper.rs
. More at seanmonstar.com
the copilot thing smells just like google+ a decade ago
10 days ago
0
10
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
11 days ago
0
5
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.
11 days ago
3
2
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
11 days ago
0
6
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/
17 days ago
0
37
6
why yes i did want to debug cmake on android
17 days ago
0
9
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/
17 days ago
0
37
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
24 days ago
1
33
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
24 days ago
1
33
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
25 days 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/
about 1 month 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/
about 1 month ago
0
34
6
reposted by
Sean McArthur
rain π¦οΈ
about 2 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
182
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/
about 2 months ago
2
18
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%
about 2 months ago
2
23
1
reposted by
Sean McArthur
rain π¦οΈ
about 2 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
113
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
about 2 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/
about 2 months ago
2
18
8
reposted by
Sean McArthur
Steve Klabnik
2 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
2 months ago
0
14
1
reposted by
Sean McArthur
TokioConf
4 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
4 months ago
0
18
5
reposted by
Sean McArthur
Rust Language
4 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
60
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/
5 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/
5 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
5 months ago
1
32
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
5 months ago
1
32
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/
5 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/
5 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.
5 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
5 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
5 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
6 months ago
0
4
0
Hm, I wonder why that change was made... git blame: "Me, 8 years ago" *emotional damage*
6 months ago
0
9
0
reposted by
Sean McArthur
Dirkjan Ochtman
6 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
45
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/
6 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
7 months ago
0
36
4
reposted by
Sean McArthur
TokioConf
7 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
8 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
8 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?
8 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/
9 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/
9 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.
9 months ago
4
8
0
reposted by
Sean McArthur
amos
9 months ago
1K stars π! facet-reflect was recently rewritten from scratch and all deserializers are now deny(unsafe_code)
github.com/facet-rs/facet
3
71
9
Yet another time
#rustlang
reminds me that `Box<dyn Error>` does not implement `Error`. π
10 months ago
0
17
0
Latest
#rustlang
hyper-util v0.1.11 is out! - New options added to server auto builder - Client additions for UDS, Windows Named Pipes, macOS and Solaris(h). - Less (more?) bugs!
github.com/hyperium/hyp...
loading . . .
Release v0.1.11 Β· hyperium/hyper-util
What's Changed fix(client): Fix HTTP/2 websocket request by @0x676e67 in #165 builder: expose methods for determining if HTTP/1.1 or HTTP/2 support are enabled by @tobz in #164 feat(server): suppo...
https://github.com/hyperium/hyper-util/releases/tag/v0.1.11
10 months ago
0
9
1
New
#rustlang
`reqwest` v0.12.15 out right now! Fixes for Windows proxies and HTTP/3
github.com/seanmonstar/...
loading . . .
Release v0.12.15 Β· seanmonstar/reqwest
What's Changed Fix http3 to support streaming response bodies by @ducaale in #2517 Fix Windows to support both ProxyOverride and NO_PROXY by @drewkett in #2601 Fix http3 dependency from public API...
https://github.com/seanmonstar/reqwest/releases/tag/v0.12.15
10 months ago
0
32
2
6 AI security reports this week, fun!
10 months ago
1
5
0
Load more
feeds!
log in