async-tungstenite
Async binding for Tungstenite, the Lightweight stream-based WebSocket implementation
0.35.0
24M downloads/mo
#1916 most downloaded on crates.io
sdroege/async-tungstenite
What this package is like to depend on
Last release 26 days ago
28 Jul 2026
Ships fairly regularly
a new release about every 2 months
Most releases are documented
notes for 43 of 58 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
58 releases · first in 2019
6 releases in the last 12 months
see the full history below
Release timeline
58 releases · Nov 2019 to Jul 2026Releases
latest 58-
0.35.028 Jul 2026Release notes
Open source →Fixed
- Fix docs.rs build.
Changed
- Update to tungstenite 0.30.
- Update to rustls-platform-verifier 0.7.
- Switch examples from async-std to smol.
- Deprecate async-tls and async-std related features.
-
0.34.102 May 2026Release notes
Open source →Added
- New
futures-rustlsfeatures for rustls support via the smol runtime.
Fixed
- Various docs and cargo-feature related fixes.
Changed
- Add deprecation notice for async-std.
- New
-
0.34.020 Mar 2026Release notes
Open source →Changed
- Update to tungstenite 0.29.
- Update to async-native-tls 0.6.
Added
- smol runtime support including smol-native-tls.
-
0.33.020 Feb 2026Release notes
Open source →Changed
- Update GLib/gio support to version 0.22 of the bindings.
- Update MSRV to 1.85.
-
0.32.105 Jan 2026Release notes
Open source →Added
- Add
tokio-rustls-platform-verifierfeature to use that crate for certificate verification.
- Add
-
0.32.031 Oct 2025Release notes
Open source →Changed
- Update to tungstenite 0.28.
Added
- Add
WebSocketStream::into_inner()to get the underlying stream.
-
0.31.009 Aug 2025Release notes
Open source →Changed
WebSocketSender::send()andclose()require a mutable reference now.
-
0.30.015 Jul 2025Release notes
Open source →Changed
- Update to tungstenite 0.27.
- Update to webpki-roots to 1.0.
- Update to glib / gio 0.21.
Added
- Add support for splitting a
WebSocketStreaminto a sender and receiver type without making use of the future'sSinktrait, and re-combining them again into a single value.
-
0.29.118 Feb 2025Release notes
Open source →Added
-
Added wrappers that allow treating a WebSocket as a byte stream.
ByteWriterallows using anySink<Stream>as anAsyncWrite.ByteReaderallows using anyStream<Item = tungstenite::Result<Message>>as anAsyncRead.Note that
ByteReaderwill treat all bytes received as uniform, including for instance the contents of Close or Ping/Pong messages; if you need to handle the contents of aClose, don't use this.You may want to wrap these in a
BufWriterorBufReaderfor efficiency.
-
-
0.29.017 Feb 2025 -
0.28.215 Dec 2024Release notes
Open source →Fixed
- Add
allocfeature tofutures_taskdependency to make surefutures-task::ArcWakeis available.
- Add
-
0.28.110 Dec 2024Release notes
Open source →Added
- Added
WebSocketStream::send()and make theSinkimpl andfutures_utildependency optional.
Changed
- Update MSRV to 1.64
- Revert workaround from 0.26.2 for
futures_task::ArcWake, which is fixed in 0.3.31.
- Added
-
0.28.004 Sep 2024Release notes
Open source →Changed
- Update to tungstenite 0.24.
- Update to rustls-native-certs 0.8.
- Update MRSV to 1.63.
-
0.27.017 Jul 2024 -
0.26.217 Jun 2024Release notes
Open source →Fixed
- Work around bug related to
futures_task::ArcWake, which causes busy looping because of spurious waker "changes" caused by creating the same waker with different vtables.
- Work around bug related to
-
0.26.106 Jun 2024Release notes
Open source →Added
- New
urlfeature that maps to the corresponding feature fromtungsteniteand allows connecting directly tows/wssURLs.
- New
-
0.26.003 Jun 2024Release notes
Open source →Changed
- Update to tungstenite 0.23.
- Don't include default features for various dependencies.
-
0.25.103 Apr 2024 -
0.25.009 Feb 2024 -
0.24.008 Dec 2023Release notes
Open source →Changed
- Update MSRV from 1.70 to 1.61.
- Update to tungstenite 0.21.
- Update to webpki-roots 0.26.
- Update tokio-rustls to 0.25 and rustls-native-certs to 0.7.
- Update example to hyper 1.0.
-
0.23.008 Aug 2023Release notes
Open source →Changed
- Update to tungstenite 0.20.
- Update to webpki-roots 0.25.
- Update to glib/gio 0.18.
- Update MSRV to 1.70.
Fixed
- Gracefully handle invalid native root certificates
- Do not flush on every
poll_ready()call.
-
0.22.220 May 2023Release notes
Open source →Added
- New
tokio-rustls-manual-rootsfeature for dropping the dependency on webpki-roots.
- New
-
0.22.108 May 2023Release notes
Open source →Fixed
- Fix
poll_flushon a closed connection.
Changed
- Add MSRV to Cargo.toml and check it with the CI.
- Fix
-
0.22.027 Apr 2023 -
0.21.012 Apr 2023Release notes
Open source →Changed
- Update to tungstenite 0.19
- Update to async-native-tls 0.5 and webpki-roots 0.23
Changed
gio::accept_async()API for the gio integration similar to the existing API for tokio and async-std- Added an echo server example using gio
-
0.20.010 Feb 2023Release notes
Open source →Changed
- Update to gio/glib 0.17.
- Update to async-tls 0.12 and env-logger 0.10.
-
0.19.011 Dec 2022Release notes
Open source →Changed
- Update to tungstenite 0.18 and make the "handshake" feature optional but enabled by default.
-
0.18.024 Oct 2022 -
0.17.223 Mar 2022Release notes
Open source →Fixed
- The
Streamimplementation onWebSocketStreamnow implementsFusedStreamand will always returnNoneafter an error was returned or the stream was closed cleanly. - Fix autobahn testsuite.
- The
-
0.17.101 Mar 2022Release notes
Open source →Fixed
- Fix
poll_closereturning WouldBlock error kind. - Fix a couple of minor clippy warnings.
- Fix
-
0.17.017 Feb 2022Release notes
Open source →Changed
- Update to tungstenite 0.17.
- Update to gio/glib 0.15.
- Update to async-native-tls 0.4.
-
0.16.106 Dec 2021Release notes
Open source →Fixed
- Fix connecting to URLs containing plain IPv6 addresses in brackets.
-
0.16.006 Nov 2021Release notes
Open source →Changed
- Update to tungstenite 0.16, rusttls 0.20, tokio-rustls 0.23, etc.
-
0.15.009 Sep 2021Release notes
Open source →Fixed
- Reduce crate package size.
- Fix and clean up autobahn tests.
Changed
- Update to tungstenite 0.15.
-
0.14.005 Jul 2021Release notes
Open source →Changed
- Remove
tokio-rustlsfeature and replace withtokio-rustls-webpki-rootsandtokio-rustls-native-certsfeatures that allow selecting the certificate checking backend. - Add
verbose-loggingfeature that enables more verbose logging via thelogcrate, which was enabled by default before. - Update
gio-runtimefeature to glib/gio 0.14.
Added
- Make
client_async_tls_with_connector_and_config()a public function to allow creating a WebSocket connection from aStream.
- Remove
-
0.13.123 Mar 2021Release notes
Open source →Fixed
- The connect API using the
tokio-opensslTLS implementation was broken in previous versions as no TLS connection was established before trying to establish the WebSocket connection. As such, connections always failed. Technically this is a breaking change when using this feature but in practice this a) wouldn't have worked anyway and b) it's unlikely someone uses the API in a way that would stop compiling now.
- The connect API using the
-
0.13.013 Feb 2021 -
0.12.009 Jan 2021Release notes
Open source →Changed
- Updated tungstenite to version 0.12
- Migrated from pin-project to pin-project-lite
TokioAdapteris now created viaTokioAdapter::new
-
0.11.030 Dec 2020 -
0.10.022 Oct 2020 -
0.9.319 Oct 2020 -
0.9.217 Oct 2020Release notes
Open source →Added
- Implemented the
tokio::client_async_tls*functions forasync-tlsandtokio-rustls
Changed
- Updated pin-project to version 1
- Implemented the
-
0.9.113 Oct 2020Nothing published for this version
-
0.9.012 Oct 2020Nothing published for this version
-
0.8.027 Jul 2020Nothing published for this version
-
0.7.108 Jul 2020Nothing published for this version
-
0.7.029 Jun 2020Nothing published for this version
-
0.6.018 Jun 2020Nothing published for this version
-
0.5.022 May 2020Nothing published for this version
-
0.4.225 Mar 2020Nothing published for this version
-
0.4.124 Mar 2020Nothing published for this version
-
0.4.001 Feb 2020Nothing published for this version
-
0.3.106 Jan 2020Nothing published for this version
-
0.3.005 Jan 2020Nothing published for this version
-
0.2.112 Dec 2019Nothing published for this version
-
0.2.029 Nov 2019Nothing published for this version
-
0.1.129 Nov 2019Nothing published for this version
-
0.1.015 Nov 2019Release notes
Open source →-->
<!-- [0.9.1]: https://github.com/sdroege/async-tungstenite/compare/0.9.1...0.9.0 [0.9.0]: https://github.com/sdroege/async-tungstenite/compare/0.9.0...0.8.0 [0.8.0]: https://github.com/sdroege/async-tungstenite/compare/0.8.0...0.7.1 [0.7.1]: https://github.com/sdroege/async-tungstenite/compare/0.7.1...0.7.0 [0.7.0]: https://github.com/sdroege/async-tungstenite/compare/0.7.0...0.6.0 [0.6.0]: https://github.com/sdroege/async-tungstenite/compare/0.6.0...0.5.0 [0.5.0]: https://github.com/sdroege/async-tungstenite/compare/0.5.0...0.4.2 [0.4.2]: https://github.com/sdroege/async-tungstenite/compare/0.4.2...0.4.1 [0.4.1]: https://github.com/sdroege/async-tungstenite/compare/0.4.1...0.4.0 [0.4.0]: https://github.com/sdroege/async-tungstenite/compare/0.4.0...0.3.1 [0.3.1]: https://github.com/sdroege/async-tungstenite/compare/0.3.1...0.3.0 [0.3.0]: https://github.com/sdroege/async-tungstenite/compare/0.3.0...0.2.1 [0.2.1]: https://github.com/sdroege/async-tungstenite/compare/0.2.1...0.2.0 [0.2.0]: https://github.com/sdroege/async-tungstenite/compare/0.2.0...0.1.1 [0.1.1]: https://github.com/sdroege/async-tungstenite/compare/0.1.1...0.1.0 [0.1.0]: https://github.com/sdroege/async-tungstenite/releases/tag/v0.1.0 -->