# ws_stream_wasm Changelog ## [Unreleased] [Unreleased]: https://github.com/najamelan/ws_stream_wasm/compare/release...dev ## [0.7.4] - 2023-01-29 [0.7.4]: https://github.com/najamelan/ws_stream_wasm/compare/0.7.3...0.7.4 ### Fixed - When the `WsMeta::connect` future is dropped, close websocket and unregister callbacks. This avoids some ugly error messages in the console. Thanks to @hamchapman for discovering and solving the issue and @danielhenrymantilla for reviewing the solution. ### Updated - tokio-util to 0.7 (dev-dependency) - send_wrapper to 0.6 ## [0.7.3] - 2021-06-11 [0.7.3]: https://github.com/najamelan/ws_stream_wasm/compare/0.7.2...0.7.3 ### Added - on user demand also make `WsStream` `Sync` again. ## [0.7.2] - 2021-06-26 [0.7.2]: https://github.com/najamelan/ws_stream_wasm/compare/0.7.1...0.7.2 ### Added - Make `WsStream` `Send` again. ## [0.7.1] - 2021-06-11 [0.7.1]: https://github.com/najamelan/ws_stream_wasm/compare/0.7.0...0.7.1 ### Updated - Switch to asynchronous-codec. - Remove external_doc feature for nightly 1.54. ## 0.7.0 - 2021-02-17 - **BREAKING CHANGE**: Update to tokio v1, pharos to 0.5 and async_io_stream to 0.3. - **BREAKING CHANGE**: Browsers stopped raising SECURITY_ERR when trying to connect to a [forbidden port](https://stackoverflow.com/questions/4313403/why-do-browsers-block-some-ports/4314070). It now just returns a connection failed, which is indistinguishable from any other network problems, or simply the server not listening on this port. This is an [intended change](https://bugzilla.mozilla.org/show_bug.cgi?id=1684620). - ## 0.7.0-beta.1 - 2020-11-03 - Update to tokio 0.3, will be out of beta when tokio hits 1.0. ## 0.6.1 - 2020-10-02 - Remove unnecessary `mut` in recent compiler versions. Travis stable on osx is still on 1.44 and will fail until they upgrade. - improve readme ## 0.6.0 - 2020-03-21 - **BREAKING CHANGE**: rename the basic types. `WsStream` is now called `WsMeta` and `WsIo` is now called `WsStream`. - **BREAKING CHANGE**: `WsStream` no longer implements `AsyncRead`/`AsyncWrite` directly, you have to call `into_io()`. - **BREAKING CHANGE**: The error type is now renamed to `WsErr` and is an enum directly instead of having an error kind. - **BREAKING CHANGE**: Fix: `From for WsMessage` has become `TryFrom`. This is because things actually could go wrong here. - Implement tokio `AsyncRead`/`AsyncWrite` for WsStream (Behind a feature flag). - delegate implementation of `AsyncRead`/`AsyncWrite`/`AsyncBufRead` to _async_io_stream_. This allows sharing the functionality with _ws_stream_tungstenite_, fleshing it out to always fill and use entire buffers, polling the underlying stream several times if needed. - only build for default target on docs.rs. - exclude unneeded files from package build. - remove trace and debug statements. - `WsMessage` now implements `From>` and `From`. - `WsMeta` and `WsStream` are now `Send`. You should still only use them in a single thread though. This is fine because WASM has no threads, and is sometimes necessary because all the underlying types of _web-sys_ are `!Send`. - No longer set a close code if the user doesn't set one. - Fix: Make sure `WsStream` continues to function correctly if you drop `WsMeta`. ## 0.5.2 - 2020-01-06 - fix version of futures-codec because they didn't bump their major version number after making a breaking change. ## 0.5.1 - 2019-11-14 - update futures to 0.3.1. ## 0.5 - 2019-09-28 - **BREAKING CHANGE**: update to pharos 0.4. Observable::observe is now fallible, so that is a breaking change for ws_stream_wasm - update to futures-codec 0.3 ## 0.4.1 - 2019-09-23 - fix some more errors in the readme ## 0.4.0 - 2019-09-23 - **BREAKING CHANGE**: use the new filter feature from pharos, making `NextEvent` and `WsEventType` redundant. Those types have been removed from the library. The `observe` and method off `WsStream` now takes a `pharos::ObserveConfig` to filter event types. Please refer to the documentation of [pharos](https://docs.rs/pharos) for how to use them. - spell check all docs ## 0.3.0 - 2019-09-08 - drop dependencies on async_runtime and failure and switch to std::error::Error for error handling - add a fullstack chat example (still needs documentation and cleanup) ## 0.2.1 - 2019-08-02 - Fix incorrect link to changelog in readme ## 0.2.0 - 2019-08-02 - **BREAKING CHANGE**: Fix: Correctly wake up tasks waiting for a next message if the connection gets closed externally. This prevents these tasks from hanging indefinitely. As a consequence, `WsStream::close` now returns a `Result`, taking into account that if the connection is already closed, we don't have the `CloseEvent`. Instead a `WsErr` of kind `WsErrKind::ConnectionNotOpen` is returned. - update to async_runtime 0.3