npm / svix
svix
What changed in svix 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-28.
3 breaking1 security2 new APIs and options2 behavior and defaults8 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initsvix 216 changes
Breaking changes 3
For 4xx responses with non-JSON bodies, the JavaScript library throws ApiException with the raw response text as body instead of throwing SyntaxError.
Go, Java, Kotlin, PHP, and Ruby default to a 15-second request timeout, matching the other SDKs.
JavaScript requests now time out after 15 seconds by default; previously there was no timeout unless requestTimeout was set.
Security 1
The CLI Docker image was rebuilt for CVE-2026-111497.
New APIs and options 2
Advanced Destinations add ElasticSearch support through the latest Svix Cloud API.
CLI commands can populate a request body from a file using cURL-style @filename syntax.
Behavior and default changes 2
Python retries on HTTP 423 responses and I/O errors.
C#, Go, Java, JavaScript, Kotlin, PHP, Ruby, and Rust retry requests that fail due to timeouts or other network errors, not just 5xx responses.
Fixes and other changes 8
The Go default retry schedule uses 50ms, 100ms, and 200ms instead of 50µs, 100µs, and 200µs.
Java and Kotlin libraries strip trailing slashes from server URLs.
PHP reuses the same svix-req-id across retries of a request.
PHP sends the svix-retry-count header on retries.
C# Async methods honor cancellation duration while waiting to retry by using Task.Delay instead of Thread.Sleep.
The Ruby method now accepts raw key bytes instead of base64 encoded bytes.
The Go method now uses a value receiver, consistent with other methods, so it works as expected.
The Go method now allows passing nil for options.