Skip to content

async-std deprecation

The async-std runtime has been discontinued by the developers, and they recommend that users migrate to smol instead. We have some tracking issues for adding smol support (#1901, #2120), but we should also deprecate async-std.

Since async-std is supported in the arti crate, we can't remove async-std until arti has a major version bump. Also, removing support for async-std has a high likelihood of breaking arti-client users. But we can deprecate it in arti and lower-level crates (arti-client, tor-rtcompat, etc).

I propose that we mark async-std as deprecated in the docs and in the code, but that we don't have any immediate plans to remove it. We can discuss at a later time when it should be removed, but the earlier we mark it as deprecated, the easier it will be to remove in the future.

I don't think we need to wait for smol support to be stable before marking async-std as deprecated, since (1) we're not removing async-std any time soon, and (2) tokio works fine. By deprecating, we hope to discourage new users from using async-std and to indicate our long-term plans of removal.

/cc @nield

Edited by opara