async-std v1.12.0 Release Notes

Release Date: 2022-06-18 // 9 months ago
  • โž• Added

    • std::task::spawn_blocking is now stabilized. We consider it a fundamental API for bridging between blocking code and async code, and we widely use it within async-std's own implementation.
    • โž• Add TryFrom implementations to convert TcpListener, TcpStream, UdpSocket, UnixDatagram, UnixListener, and UnixStream to their synchronous equivalents, including putting them back into blocking mode.

    ๐Ÿ”„ Changed

    • async-std no longer depends on num_cpus; it uses functionality in the standard library instead (via async-global-executor).
    • ๐Ÿ“š Miscellaneous documentation fixes and cleanups.

Previous changes from v1.11.0

  • ๐Ÿš€ This release improves compile times by up to 55% on initial builds, and up to 75% on recompilation. Additionally we've added a few new APIs and made some tweaks.

    โž• Added

    • TcpListener::into_incoming to convert a TcpListener into a stream of incoming TCP connections

    โœ‚ Removed

    • ๐Ÿ“š The internal extension_trait macro had been removed. This drastically improves compile times for async-std, but changes the way our documentation is rendered. This is a cosmetic change only, and all existing code should continue to work as it did before.

    ๐Ÿ”„ Changed

    • Some internal code has been de-macro-ified, making for quicker compile times.
    • 0๏ธโƒฃ We now use the default recursion limit.

    ๐Ÿ“„ Docs

    • ๐Ÿ›  Several docs improvements / fixes.