Skip to content

Soar v0.2.0

Choose a tag to compare

@myleshorton myleshorton released this 13 Oct 12:57
· 42 commits to main since this release
2167099

What's new

  • Client.PathStats() returns a read-only snapshot of every resolver path: transport (udp/tcp), verified, suspended, candidate, RTT, loss, inflight, window, query-name cap, the answer-size limit sizing has accepted, record type (TXT/AAAA), successes and last success. Use it to tell which resolvers actually carry the tunnel on a given network. (#5, thanks @mrgluek)
  • Client.Established() reports whether a session with the server is up. (#5)
  • Config.StreamOnly func(resolver string) bool marks resolvers that only speak a stream transport (plain TCP/53, or DNS over TLS through a custom DialTCP). They get a TCP path from the start and no UDP path, whatever TCP is set to. Nil keeps the previous behavior. (#5)
  • golang.org/x/crypto 0.49.0 → 0.52.0.

Compatibility

All changes are additive and the wire protocol is unchanged: v0.2.0 clients work with v0.1.0 servers and the reverse.

Also in this range

  • dnsbench (bench/, a separate Go module) is the benchmark harness behind the README's comparison table. The README and site figures are now medians of three runs on incompressible data. (#6)

Full changelog: v0.1.0...v0.2.0