xmpp_dart 0.1.3
xmpp_dart: ^0.1.3 copied to clipboard
A lightweight, dependency-minimal Dart XMPP client over TCP: STARTTLS/direct TLS, SASL SCRAM-SHA-1/PLAIN, resource binding, IQ, XEP-0198 with resumption, and DNS SRV.
Changelog #
0.1.3 #
- Fix stream parser leaving
XmlElement.namespaceUrinull on received stanzas.XmlStreamParsernow enableswithNamespaceonpackage:xml's event decoder so default and prefixed xmlns declarations resolve the same way asXmlDocument.parse.
0.1.2 #
- Fix unhandled
StreamSink is closedwhen sending an IQ over a closed socket:IqCaller/IqRespondernow takeFutureOr<void> Function(XmlElement)and await async send callbacks (e.g.XmppConnection.send) instead of discarding the Future.
0.1.1 #
- Fix STARTTLS handshake failure caused by canceling the plaintext socket
subscription before calling
SecureSocket.secure. - Add optional
onBadCertificatetoTcpTransport.connectfor development servers with self-signed certificates.
0.1.0 #
Initial release. A lightweight TCP XMPP client.
- TCP transport with STARTTLS (required), opportunistic, and direct TLS modes.
- SASL PLAIN and SCRAM-SHA-1 authentication.
- Stream negotiation state machine and resource binding.
- Send/receive stanzas; IQ request/response caller and inbound IQ responder with automatic XEP-0199 ping replies.
- XEP-0198 Stream Management, including session resumption across reconnects (replays unacknowledged stanzas).
- DNS SRV resolution (
_xmpps-client/_xmpp-client) with an injectable resolver and a plaintext fallback. - Auto-reconnect with exponential backoff and permanent/transient failure classification.
see-other-hoststream-error redirects (bounded).- Structured error hierarchy with an
isPermanentclassification and a client-level diagnostics stream.