Sean McArthur
Open Source maintainer of the rust-lang @hyper.rs.
More at seanmonstar.com
- Reposted by Sean McArthurEarly 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-...
- 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...
- the copilot thing smells just like google+ a decade ago
- 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/...
- 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.
- 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
- why yes i did want to debug cmake on android
- 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...
- 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/...
- Still appreciate any experience reports! Assuming nothing is terribly wrong, the hope is to release for real next week.
- New #rustlang reqwest v0.12.27 out now! - Adds Windows Named Pipe support. github.com/seanmonstar/...
- 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
- Just one more day to fill out the hyper user survey for 2025!
- 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...
- Reposted by Sean McArthurNew 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!
- 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%
- Reposted by Sean McArthurIncredibly 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.
- 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
- 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...
- 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...
- Reposted by Sean McArthur[This post could not be retrieved]
- Reposted by Sean McArthurThe TokioConf 2026 call for talk proposals is now open! tokio.rs/blog/2025-09...
- 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...
- Reposted by Sean McArthurWe 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...
- 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...
- 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...
- 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/...
- 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
- 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.
- 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/...
- Considering reqwest should default to faster TCP disconnection: github.com/seanmonstar/...
- Hm, I wonder why that change was made... git blame: "Me, 8 years ago" *emotional damage*
- Reposted by Sean McArthurI’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).
- 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...
- Want to help #rustlang reqwest switch its default to rustls? Here's the medium-effort mentored issue: github.com/seanmonstar/...
- Reposted by Sean McArthurHello World! Announcing the inaugural TokioConf. April 20-22, 2026, in Portland, OR. tokio.rs/blog/2025-06...
- 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/...
- This transitively (ish) includes a happy eyeballs fix that improves hickory-dns in reqwest. Give it a try, it should be faster and better for your system overall (and it'd be nice to make it the default on reqwest).
- 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...
- 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?
- 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...
- I'm so excited to welcome katelyn martin as a @hyper.rs Collaborator! 🎉🎉 #rustlang 🦀 hyper.rs/blog/2025/04...
- 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.
- Reposted by Sean McArthur1K stars 🌟! facet-reflect was recently rewritten from scratch and all deserializers are now deny(unsafe_code) github.com/facet-rs/facet
- Yet another time #rustlang reminds me that `Box<dyn Error>` does not implement `Error`. 💔
- 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...
- New #rustlang `reqwest` v0.12.15 out right now! Fixes for Windows proxies and HTTP/3 github.com/seanmonstar/...
- 6 AI security reports this week, fun!
- Newest #rustlang `reqwest` release v0.12.13! 🦀 - Support SOCKS4a proxies. - Helpers for multipart forms. - Fixes for zstd, http3, Windows, WASM, and more! github.com/seanmonstar/...
- Latest #rustlang `http-body-util` v0.1.3 out! Newest thing is a `Channel` body type, backed by an in-memory channel with a sender and receiver. github.com/hyperium/htt...
- Newest #rustlang `http` release v1.3.0 out today! Perhaps biggest deal is allowing more characters in the `Uri`, because frankly that's the real world. github.com/hyperium/htt...