github fonoster/routr v2.33.0
Release v2.33.0

one hour ago

v3.0.0-alpha.6 - 2026-11-13

🎉 New Features

  • Add CreateRoute to the Go SDK for the route a REGISTER binds 638f4c2
  • Take DNS names in trustedEdgePortAddresses 73da8fd
  • Add Connect's cross-EdgePort alterations to both SDKs 5c1842c
  • Run Routr 3's own migrations image at the chart's appVersion be90a55
  • Make the RTPRelay's autoscaler opt-in with rtprelay.autoscaling.enabled 4be18e2
  • Move a PSTN call to the Trunk's next URI on 503 or a transport error 7acd8b5
  • Keep the dialog table in Redis so in-dialog requests outlive a restart (#688 by psanders) e373964

🐛 Bugfixes

  • End the Go SDK server's connections after 5 minutes so clients find new replicas 36a260c
  • Keep a Route on a transport the EdgePort doesn't listen on a0d50a0
  • Refuse insecure with a cacert, throw on a missing cacert file 7915fba
  • Complete a call on a fresh install with the chart's defaults 6469a82
  • Warn instead of erroring while the database or Redis is not up yet 54cc1a3
  • Never write a network-form localnet in the new Node alterations 7a617cc
  • Leave edgeport.podCIDR off by default 3f94c50
  • Log non-SIP UDP datagrams at Warn once per 1,000, without the payload 915e056
  • Strip platform headers from in-dialog requests caaff03
  • Forward in-dialog INFO, UPDATE and PRACK to the INVITE processor afdd62b
  • Choose a Trunk's outbound URI by enabled, priority and weight 2b7cdf9
  • Close idle stream connections and cap how many are accepted 2df35e5
  • Keep accepting after an accept error that isn't a close deba35c
  • Keep a silent WebSocket client from blocking the others 78b1b66
  • A client transaction that fails at its first write no longer answers for the caller cc4493d
  • Accept apiVersion v3 in every standalone component file (#677 by psanders) 9fb24b1
  • Enforce Domain and Peer access control lists (#684 by psanders) dba1ad9
  • Refuse disabled Agents and Agent calls across Domains (#679 by psanders) 542b72d
  • Apply methods and unknownMethodAction to out-of-dialog requests (#681 by psanders) e2d5288

🏎️ Performance Improvements

  • Soak at 70% of the measured limit 8b3296c
  • Keep the answer of a non-INVITE over UDP, not its transaction, for Timer J (#689 by psanders) 6523a33

🏗️ Build System

  • Bump golang.org/x/net to v0.62.0 in both Go modules efe99bb
  • Anchor the Nx workspace root with nx.json so nested worktrees build their own dist a3265db
  • Move to pgx 5.9.2 and Go 1.26.11, and gate CI on govulncheck 6074e70
  • Print the Go module download and keep it in a BuildKit cache b275e4b
  • Pin Go to 1.26.11 and ignore the .charts folder 57b6f66
  • Format MDX on commit de421e5
  • Publish the Go Echo as routr-echo:-go and benchmark with it (#690 by psanders) 4c84b99

🏗️ Build System

  • Pin perfkit v0.2.0-rc.6 (VPC delete retry, settle and Theil-Sen memory rule) 69722f4
  • Build the Go job's test database from ops/pgdata-migrations 3e02183
  • Check MDX formatting 9236cf4
  • Publish the migrations image with every Routr 3 alpha 1fb2198

🪚 Refactors

  • Drop the read deadline the WebSocket gate set before the hand-over f3602a7

📚 Documentation Changes

  • Use CreateRoute in the Go guide and say when replicas are found 1c70e34
  • Stop saying the Node SDK throws where RemoveSelfRoutes keeps a Route 86d9caa
  • Record that @routr/processor keeps the Route as Connect does c33da13
  • Note Location's startup index retry under v3.0.0 d8cb659
  • Point Routr 3 docs and AGENTS.md to its own migrations image 1bb733e
  • Name trustedEdgePortAddresses in the EdgePort cooperation diagram 9d7e62d
  • Match CORE.md and CONNECT.md to what v3 does adc9f9f
  • Describe RoutrOne's in-process handoff as the code does it 2767625

🔍 Tests

  • Fail when Connect's alterations and the Go SDK's copy drift apart 5df3778
  • Pin recordRouteBetween and routeFromPB in the Connect/SDK parity test 68cc0e2
  • Register sinon-chai in client.unit.test.ts so it runs alone 8270a4f
  • Synchronize two flaky tests on the event, not on time 318ba1a

💅 Code Style Changes

  • Format every MDX page with Prettier 1b7d582

BREAKING CHANGES

  • due to 7915fb: refuse insecure with a cacert, throw on a missing cacert file

rctl commands and SDK clients given both --insecure / insecure: true
and --cacert / cacert stop connecting: rctl exits with an error and the SDK constructor
throws. Keep one: remove --insecure / insecure to verify the server with the CA certificate
over TLS, or remove --cacert / cacert to connect in plaintext.

Don't miss a new routr release

NewReleases is sending notifications on new releases.