The user may have to call some global rustls functions depending on the exact feature set of rustls enabled. Hence, we have to expose it. Concretely, if the user somehow ends up with more than one rustls backend, they have to configure one of the backends as default backend at startup.
96 lines
5.5 KiB
Text
96 lines
5.5 KiB
Text
Version NEXT:
|
||
XXXX-YY-ZZ RELEASER <admin@example.com>
|
||
* Breaking:
|
||
- Remove `tokio_xmpp::ParseError` and `tokio_xmpp::starttls::ParseError` which were never used
|
||
- Removed StreamFeatures from this crate, replaced with xmpp_parsers::stream_features::StreamFeatures (!400)
|
||
- `starttls::error::ConnectorError` variants have been merged with `starttls::error::Error`, except `ConnectorError::AllFailed`
|
||
which was not used and has been completely removed (!418)
|
||
- `ProtocolError` and `AuthError` are no longer exported in crate root;
|
||
access them from `error` module (!423)
|
||
- `connect::ServerConnector` no longer has `Error` associated type, the methods return tokio_xmpp::Error directly,
|
||
where Connection variant contains any error type that implements connect::ServerConnectorError (!421)
|
||
- `starttls::Error` no longer has `TokioXMPP` variant ; only tokio_xmpp::Error can contain starttls::Error,
|
||
not the other way around (!421)
|
||
- `AsyncClient::new` automatically reconnects by default (!436)
|
||
- `AsyncClient::poll_next` properly closes stream with `Poll::Ready(None)` when disconnecting without auto reconnect (!436)
|
||
- remove `tokio_xmpp::SimpleClient` because it was not widely used, and not well documented ; if you need it,
|
||
please let us know and it will be reintegrated (!428)
|
||
- `Component::new` and `Client::new only require jid/password argument (!428)
|
||
- `ServerConfig` and `Client::new_with_config` have been removed (!428)
|
||
- ``Client` now has `new_plaintext`, `new_starttls` and `new_with_connector` method (!428)
|
||
`new_plaintext` and `new_starttls` take a DnsConfig struct for SRV/DNS resolution strategy, while `new_with_connector` takes
|
||
anything that implements ServerConnector
|
||
- `Component` now has `new_plaintext` and `new_with_connector` constructors, just like `Client` but without StartTLS (!428)
|
||
- `tokio_xmpp::AsyncClient` has been renamed `tokio_xmpp::Client` (!428)
|
||
- `Component` is now gated behind `insecure-tcp` feature flag
|
||
- `XMPPStream` and `XmppCodec` were removed in favour of the newly
|
||
implemented `tokio_xmpp::xmlstream module.
|
||
* Added:
|
||
- Support for sending IQ requests while tracking their responses in a
|
||
Future.
|
||
- `rustls` is now re-exported if it is enabled, to allow applications to
|
||
set the default crypto provider if needed. (!581)
|
||
* Changes:
|
||
- On Linux, once the TLS session is established, we can delegate the
|
||
actual encryption and decryption to the kernel, which in turn can
|
||
delegate it to a hardware implementations if available. This depends
|
||
on the `tls-rust-ktls` feature. (!458, !490)
|
||
- Building with insecure-tcp and no other feature got fixed.
|
||
- Update rxml dependency to 0.13.
|
||
|
||
Version 4.0.0:
|
||
2024-07-26 Maxime “pep” Buquet <pep@bouah.net>
|
||
* Breaking:
|
||
- Add ServerConnector API to be able to change transports for the
|
||
stream and the consumer.
|
||
- DNS/TLS deps are now optional and available behind the `starttls-rust` and
|
||
the `starttls-native` features.
|
||
- Connectors for insecure tcp are now behind the `insecure-tcp` feature
|
||
and are disabled by default.
|
||
* Changes:
|
||
- Add support for channel binding (RFC 9266) on TLS 1.3 (TLS 1.2
|
||
pending) (faabc2984)
|
||
- Prevent tokio-xmpp from crashing when the server closes the stream
|
||
under our feet (aabd19f7).
|
||
- New public `AsyncClient::get_stream_features` and
|
||
`SimpleClient::get_stream_features` methods. (060088be)
|
||
- Add `serde` feature to proxy jid feature. (034976748)
|
||
- Add XmppCodec public. (6d449e9a)
|
||
- Remove workaround for Debian oldoldstable. (372234b9)
|
||
- Update to edition 2021. Remove TryFrom/Into as they're included in the
|
||
prelude. (4089891)
|
||
- Happy eyeballs: Connect to all records in parallel. The happy eyeballs
|
||
implementation used not to query AAAA if it got an answer for the A
|
||
record. (598ffdb, 6c3081d)
|
||
- Allow building docs with --all-features. It used to fail because it's
|
||
not possible to build with both the `tls-native` and `tls-rust`.
|
||
features. (0298caf9)
|
||
- Bump all dependencies.
|
||
- Change trust-dns to hickory-dns. (115edf6f)
|
||
- Remove unnecessary features from dependencies. (2d11ada30)
|
||
- Fix typos with codespell
|
||
- Various performance optimisations
|
||
|
||
Version 3.5.0:
|
||
2023-10-24 Maxime “pep” Buquet <pep@bouah.net>
|
||
* Changes:
|
||
- Require one and only one of tls-native and tls-rust to be enabled.
|
||
Technically a breaking change, but enabling both wasn't working in the
|
||
previous release anyway.
|
||
- Various fixes that were guarded under the tls-rust feature. All
|
||
updates from dependencies.
|
||
- Add serde feature, passed to jid crate
|
||
|
||
Version 3.4.0:
|
||
2023-08-17 Maxime “pep” Buquet <pep@bouah.net>
|
||
* Breaking changes:
|
||
- AsyncClient::new takes a parsed Jid instead of string (#72)
|
||
- Properly add @id to every stanza, and also add support for components.
|
||
* Changes:
|
||
- env_logger is now included in dev_dependencies for examples debugging with RUST_LOG=debug
|
||
- Fix debug prints to include all XML being sent and received
|
||
- Add chosen DNS method to debug logs
|
||
- Add syntax highlighting to debug logs
|
||
- Update dependencies
|
||
- Fix a deadlock when packets were being ignored. (6ccc5cc)
|
||
- Re-export jid structs, minidom::Element, and parsers module
|