1Version NEXT:
20000-00-00 RELEASER <releaser@domain>
3 * Fixed:
4 - Ignore missing "version" stream attribute for 0114 components.
5
6Version 5.0.0:
72025-10-28 pep <pep@bouah.net>
8 * Breaking:
9 - Remove `tokio_xmpp::ParseError` and `tokio_xmpp::starttls::ParseError`
10 which were never used
11 - Remove StreamFeatures from this crate, replaced with
12 `xmpp_parsers::stream_features::StreamFeatures` (!400)
13 - `starttls::error::ConnectorError` variants have been merged with
14 `starttls::error::Error`, except `ConnectorError::AllFailed` which was
15 not used and has been completely removed (!418)
16 - Remove `ProtocolError` and `AuthError` from crate root; access them
17 from `error` module (!423)
18 - Remove `connect::ServerConnector`'s `Error` associated type, the
19 methods return tokio_xmpp::Error directly, where Connection variant
20 contains any error type that implements connect::ServerConnectorError
21 (!421)
22 - Remove `starttls::Error`'s `TokioXMPP` variant ; only
23 tokio_xmpp::Error can contain starttls::Error, not the other way around
24 (!421)
25 - `AsyncClient::new` automatically reconnects by default (!436)
26 - `AsyncClient::poll_next` properly closes stream with
27 `Poll::Ready(None)` when disconnecting without auto reconnect (!436)
28 - Remove `tokio_xmpp::SimpleClient` because it was not widely used, and
29 not well documented ; if you need it, please let us know and it will be
30 reintegrated (!428)
31 - Change `Component::new` and `Client::new` interface ; only require
32 jid/password argument (!428)
33 - Remove `ServerConfig` and `Client::new_with_config` (!428)
34 - Add `new_plaintext`, `new_starttls` and `new_with_connector` method to
35 `Client` (!428)
36 `new_plaintext` and `new_starttls` take a DnsConfig struct for SRV/DNS
37 resolution strategy, while `new_with_connector` takes anything that
38 implements ServerConnector
39 - Add `new_plaintext` and `new_with_connector` constructors to
40 `Component`, just like `Client` but without StartTLS (!428)
41 - Rename `tokio_xmpp::AsyncClient` to `tokio_xmpp::Client` (!428)
42 - Gate `Component` behind `insecure-tcp` feature flag
43 - Remove `XMPPStream` and `XmppCodec` in favour of the newly implemented
44 `tokio_xmpp::xmlstream module.
45 - The TLS-related feature flags have been completely reworked to make
46 them easier to use. The `tls-rust-*`, `tls-native` and `starttls-*`
47 feature flags have been removed in favour of more concise flag names
48 identifying the TLS backends directly (`aws_lc_rs`, `ring`,
49 `native-tls`). The `starttls` feature is now independent of the
50 specific backend (but a backend still needs to be enabled for
51 compilation to succeed).
52
53 Please refer to the crate docs for details. (!581)
54 * Added:
55 - Add new `direct-tls` connection method to the `Client`. (!585)
56 - Support sending IQ requests while tracking their responses in a Future.
57 - `rustls` is now re-exported if it is enabled, to allow applications to
58 set the default crypto provider if needed. (!581)
59 - Derive Debug on Client and associated structs
60 - Add ktls support. On Linux, once the TLS session is established, we
61 can delegate the actual encryption and decryption to the kernel, which
62 in turn can delegate it to a hardware implementations if available.
63 This depends on the `tls-rust-ktls` feature. (!458, !490)
64 * Changes:
65 - Update rxml dependency to 0.13.
66 - Remove warnings for elided lifetimes (rustc 1.90)
67 - Use thiserror for the error types. (!616)
68 - Fix building with 'insecure-tcp' only.
69 - Remove warning when 'rustls-any-backend' feature isn't enabled
70
71Version 4.0.0:
722024-07-26 Maxime “pep” Buquet <pep@bouah.net>
73 * Breaking:
74 - Add ServerConnector API to be able to change transports for the
75 stream and the consumer.
76 - DNS/TLS deps are now optional and available behind the `starttls-rust` and
77 the `starttls-native` features.
78 - Connectors for insecure tcp are now behind the `insecure-tcp` feature
79 and are disabled by default.
80 * Changes:
81 - Add support for channel binding (RFC 9266) on TLS 1.3 (TLS 1.2
82 pending) (faabc2984)
83 - Prevent tokio-xmpp from crashing when the server closes the stream
84 under our feet (aabd19f7).
85 - New public `AsyncClient::get_stream_features` and
86 `SimpleClient::get_stream_features` methods. (060088be)
87 - Add `serde` feature to proxy jid feature. (034976748)
88 - Add XmppCodec public. (6d449e9a)
89 - Remove workaround for Debian oldoldstable. (372234b9)
90 - Update to edition 2021. Remove TryFrom/Into as they're included in the
91 prelude. (4089891)
92 - Happy eyeballs: Connect to all records in parallel. The happy eyeballs
93 implementation used not to query AAAA if it got an answer for the A
94 record. (598ffdb, 6c3081d)
95 - Allow building docs with --all-features. It used to fail because it's
96 not possible to build with both the `tls-native` and `tls-rust`.
97 features. (0298caf9)
98 - Bump all dependencies.
99 - Change trust-dns to hickory-dns. (115edf6f)
100 - Remove unnecessary features from dependencies. (2d11ada30)
101 - Fix typos with codespell
102 - Various performance optimisations
103
104Version 3.5.0:
1052023-10-24 Maxime “pep” Buquet <pep@bouah.net>
106 * Changes:
107 - Require one and only one of tls-native and tls-rust to be enabled.
108 Technically a breaking change, but enabling both wasn't working in the
109 previous release anyway.
110 - Various fixes that were guarded under the tls-rust feature. All
111 updates from dependencies.
112 - Add serde feature, passed to jid crate
113
114Version 3.4.0:
1152023-08-17 Maxime “pep” Buquet <pep@bouah.net>
116 * Breaking changes:
117 - AsyncClient::new takes a parsed Jid instead of string (#72)
118 - Properly add @id to every stanza, and also add support for components.
119 * Changes:
120 - env_logger is now included in dev_dependencies for examples debugging with RUST_LOG=debug
121 - Fix debug prints to include all XML being sent and received
122 - Add chosen DNS method to debug logs
123 - Add syntax highlighting to debug logs
124 - Update dependencies
125 - Fix a deadlock when packets were being ignored. (6ccc5cc)
126 - Re-export jid structs, minidom::Element, and parsers module