Skip to content

v0.2.4

Choose a tag to compare

@github-actions github-actions released this 21 Sep 10:08
· 4 commits to main since this release
0ed8921

Added

  • [breaking] implement SIP over TLS: Transport::Tls (RFC 3261 §26.2),
    a new tls cargo feature, certificate verification against the account's
    SIP domain (RFC 5922 §7.3) with optional SHA-256 pinning via TlsPolicy,
    and a typed CertFailure / UntrustedCertificate error 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 treats 0.2.x -> 0.2.y as compatible,
    so anything depending on "0.2" picks these up on a routine
    cargo update:

    • Transport gained a new variant, Transport::Tls. An exhaustive
      match on Transport in consumer code stops compiling — add an arm
      for Tls.
    • Transport is now #[non_exhaustive], so that match also 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.
    • SipAccount gained 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.