v0.2.4
Added
-
[breaking] implement SIP over TLS:
Transport::Tls(RFC 3261 §26.2),
a newtlscargo feature, certificate verification against the account's
SIP domain (RFC 5922 §7.3) with optional SHA-256 pinning viaTlsPolicy,
and a typedCertFailure/UntrustedCertificateerror surface
(tls_error).This ships in the 0.2.x line by deliberate maintainer decision, so it is
not a major-version bump — but it is not additive either. It carries three
source-breaking changes, and cargo treats0.2.x -> 0.2.yas compatible,
so anything depending on"0.2"picks these up on a routine
cargo update:Transportgained a new variant,Transport::Tls. An exhaustive
matchonTransportin consumer code stops compiling — add an arm
forTls.Transportis now#[non_exhaustive], so thatmatchalso needs a
wildcard arm. This is deliberately bundled into the same release as
the variant above: it is the last time adding a transport breaks a
consumer. Every future variant is additive.SipAccountgained a new field,tls_policy: TlsPolicy. Constructing
the struct with a literal stops compiling — add
tls_policy: TlsPolicy::default()(or your chosen policy).
Deserialized configs are unaffected: the field is#[serde(default)],
so no stored config file needs to change.