NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3591 most downloaded on npm
Svix webhooks API client and webhook verification library
Last release 4 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
10 versions withdrawn
withdrawn after publishing
5 years old
390 releases · first in 2021
One column per quarter.
Libs/All: Update to latest Svix Cloud spec
Libs/Rust: Revert an accidental breaking change to AutoConfigConsumer that made a couple methods require unique access to the object ( &mut self ) ins…
destination and stream APIsAutoConfigConsumerAutoConfigConsumer that made a couple methods&mut self) instead of shared access (&self)Full Changelog: v2.5.0...v2.6.0
Libs (New) : Add AutoConfig API support to create and rotate AutoConfig tokens
Version 2.5.0
Full Changelog: v2.4.0...v2.5.0
Libs (New) : Add destination API support
destination API supportauto_v2 prefix)AutoConfigConsumer.subscribe() return type changed from EndpointOut to DestinationOutAutoConfigConsumer class (it will be reintroduced in the next version)listen mode, don't follow redirects returned by the local serviceFull Changelog: v2.3.0...v2.4.0
Libs/All: Add new streaming sink types
connector, streaming APIsFull Changelog: v2.2.0...v2.3.0
Libs/JavaScript (Breaking) : Remove JSON parsing from Webhook.verify , for consistency with SDKs for other languages (this was meant to be part of the
Webhook.verify, for consistency withWebhook.verify, for consistency withSvix, Webhook, AutoConfig and AutoConfigConsumer,Error and Result at the crate rootFull Changelog: v2.1.0...v2.2.0
Libs/All: Add support for new bulk-expunge endpoint ( svix.message.bulkExpungeContent )
svix.message.bulkExpungeContent)
Svix::server_url accessor methodFull Changelog: v2.0.0...v2.1.0
svix.message.bulkExpungeContent)
Svix::server_url accessor methodLibs/All (Breaking) : The PatchConfig -suffixed types are now ConfigPatch -suffixed
PatchConfig-suffixed types are now ConfigPatch-suffixed
Config types like S3Config,GoogleCloudPubSubConfig etc. were split into separate *ConfigIn and *ConfigOut types
SinkOtelTracingConfig* to OtelTracingConfig*Configuration from the public API
svix.token(), if you were using any of the other fields let us know!js_option to 0.2.0https://api.svix.com/ and https://api.svix.comtolerance constructor argument (in seconds;See also the changes for v2.0.0-rc.1.
Full Changelog: v2.0.0-rc.2...v2.0.0
Breaking changes:
with_content query parameter available in some message- and attempt-related operations to falsefilterTypes to eventTypes in endpoint and related modelsupdate" operations for Applications, Endpoints, Event Types, Connectors, Ingest Sources, Streams, and Sinks to upsert;ingest.dashboard to ingest.authentication.consumer-portal-accessendpoint.update-headers to endpoint.set-headers (same for ingest.endpoint etc.)svix.operationalWebhookEndpoint in favor of svix.operationalWebhook.endpointsnake_case to camelCase, e.g. svix.operational_webhook to svix.operationalWebhooksvix.endpoint.{headersUpdate, headersPatch} in favor of svix.endpoint.{setHeaders, patchHeaders}EndpointRateLimitStatusOut to EndpointThrottleRateStatusOutsvix namespace; import them from svix.api or svix.models insteadWebhook.verify; if you were using this, simply call json.loads on the passed-in data after the verify callkotlin.time.InstantsthrottleRate (in ApplicationIn, EndpointIn etc.) from Long to ShortbatchSize and maxWaitSecs (in StreamSinkIn etc.) from Long to Shortsvix.Ingest.Endpoint to svix.Ingest().Endpoint()::new function that takes more than one parameter.EventTypeIn::new()s name and description parameters have been swapped.Strings to being chrono::DateTime<Utc>si32s (most notably, the limit parameter in list operation types) were updated to more appropriate integer typesVecs to BTreeSetsHashMaps to BTreeMapssvix::api; import them from svix::models insteadhttp crateDefault implementations*Out models, which often had too many parameters to be readable, and could get broken by newly introduced fieldsimpl From<String> for svix::error::ErrorWebhook.verifyoptions parameters on GET operations non-nullable (but they still have a default value, so this only affects calls that explicitly passed a null)Other improvements:
Full Changelog: v1.99.1...sdks-v2.0.0-rc.1
Libs/JS: Fix a publishing issue
Full Changelog: https://github.com/svix/svix-webhooks/compare/v2.0.0-rc.1...v2.0.0-rc.2
Libs/JavaScript: Fix empty retryScheduleInMs not being honored
retryScheduleInMs not being honored0 entries in retryScheduleInMs not being honoredFull Changelog: v1.99.0...v1.99.1
Server: Fix warning when opentelemetry is disabled
Full Changelog: v1.98.0...v1.99.0
CLI, Server, Bridge: Set OCI metadata on Docker images
Full Changelog: v1.97.0...v1.98.0
CLI: Ignore EPIPE when printing output
EPIPE when printing outputstatusText to EndpointMessageOut (the response type for v1.message-attempt.list-attempted-messages), matching the cloud versionstatusText to MessageEndpointOut (the response type for v1.message-attempt.list-attempted-destinations), matching the cloud versioncanceled to EndpointStatsOut, matching the cloud version. This is always 0 in the OSS server, which doesn't currently track message cancellationsupdatedAt to RecoverOut (the response type for v1.endpoint.recover), matching the cloud version. Note that EE does not support incrementally checking background job status, so this always contains the timestamp at which the job was createdgracePeriodSeconds to EndpointSecretRotateIn, allowing users to customize how long the old key is still valid for (in a range from 0, which means immediate expiry, to 7 days)Full Changelog: v1.96.1...v1.97.0
Libs/Java: Upgrade jackson dependency to v2.21.4
MessagePollerv2Consumer*Options publicFull Changelog: v1.96.0...v1.96.1
CLI (New): Add --token option to svix listen
--token option to svix listenFull Changelog: https://github.com/svix/svix-webhooks/compare/v1.95.2...v1.96.0
Libs/Kotlin: Webhooks AutoConfig SDK
health.get to Go, Python and Rust SDK
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.95.1...v1.95.2
Libs/Python: Fix release workflow (1.95.0 of the Python SDK failed publishing)
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.95.0...v1.95.1
Libs/PHP: Fix deprecation warning for DateTimeImmutable construction from null (thanks @VincentLanglet)
setup.py to PEP-518-compliant pyproject.toml build systemDateTimeImmutable construction from null (thanks @VincentLanglet)Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.94.0...v1.95.0
Libs (New): Webhooks AutoConfig SDK
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.93.0...v1.94.0
Server: Warn when Redis pending timeout is shorter than worker request timeout + buffer (thanks @vinay0826)
--help outputFull Changelog: https://github.com/svix/svix-webhooks/compare/v1.92.2...v1.93.0
Libs/JavaScript: Remove dependency on uuid (thanks @ulrichstark)
uuid (thanks @ulrichstark)Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.91.1...v1.92.2
cli: bump rand to 0.9 by @svix-jbrown in https://github.com/svix/svix-webhooks/pull/2265
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.91.0...v1.91.1
Server: Remove old endpoint secrets on rotation
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.90.0...v1.91.0
This replaces rateLimit because the name caused some confusion (but is kept as a deprecated field for backwards compatibility)
throttleRate to endpoint and application
rateLimit because the name caused some confusion
(but is kept as a deprecated field for backwards compatibility)Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.89.0...v1.90.0
Server: Add a prune helper command to delete old data
__str__ on errorsFull Changelog: https://github.com/svix/svix-webhooks/compare/v1.88.0...v1.89.0
Libs/Go: Add support for v1.management.authentication.patch-api-token (Internal endpoint)
v1.management.authentication.patch-api-token (Internal endpoint)Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.87.0...v1.88.0
Server: Respect retry-after header on error responses (within limits) (thanks [@vinay0826])
retry-after header on error responses (within limits) (thanks @vinay0826)Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.86.0...v1.87.0
Server: Fix non-determinism with regards to overrides of specific header names
v1.message.create-precheck (Svix Cloud exclusive endpoint)(note: the server changes were technically part of the previous release but the DockerHub release process failed in an unrecoverable way so the changelog entries are repeated here)
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.85.0...v1.86.0
Server: Fix non-determinism with regards to overrides of specific header names
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.84.1...v1.85.0
There are no new changes in this version.
There are no new changes in this version.
Libs/All: Add support for connector UIDs
-v --verbose flagFull Changelog: https://github.com/svix/svix-webhooks/compare/v1.81.0...v1.82.0
Libs/All: Add support for the new Connector API (see also the corresponding docs section)
svix listen failing with "Could not automatically determine the process-level CryptoProvider"Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.80.0...v1.81.0
Libs/PHP added support for $svix->application->getOrCreate
$svix->application->getOrCreateLibs/Kotlin: Add SvixOptions to the com.svix.kotlin namespace
SvixOptions to the com.svix.kotlin namespace
typealias for backwards compatibilityPOST /api/v1/app/{app_id}/msg and the POST /api/v1/auth/app-portal-access/{app_id} API callsLibs/Python: Fix bug preventing the generic webhook ingest source from being deserialized
Libs/All: Add API for the new Svix Stream
[] instead of {}Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.76.1...v1.77.0
Libs/Go: Fix bug causing 422 errors on message.create with messages created using the NewMessageInRaw helper
message.create with messages created using the NewMessageInRaw helperLibs/PHP: Added support for the full svix SDK!
Libs/Go: Fix bug preventing time.time query params from serializing correctly
time.time query params from serializing correctlydeleteHeaders field in EndpointHeadersPatchInFull Changelog: https://github.com/svix/svix-webhooks/compare/v1.75.0...v1.75.1
Bridge, CLI, Server: Modify Dockerfiles to use cache mounts for improved build time; these now require Docker 1.2 or later to build
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.74.1...v1.75.0
Bridge, CLI: Fix installation of ca-certificates in Docker images
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.74.0...v1.74.1
Libs/Rust: Add support for custom retry schedule (thanks @KranzAklilu)
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.73.0...v1.74.0
Libs/(Java and Kotlin): Fix bug causing runtime exceptions when unknown fields were sent from the server
Libs/JavaScript: Use native fetch API
fetch APIuser-agent to requests made by the new http outputFull Changelog: https://github.com/svix/svix-webhooks/compare/v1.71.0...v1.72.0
Bridge: Add http output to receivers
http output to receivers
bridge/svix-bridge.example.receivers.yaml for a usage exampleFull Changelog: https://github.com/svix/svix-webhooks/compare/v1.70.1...v1.71.0
Libs/All: Re-add endpoint.transformationPartialUpdate as a deprecated operation
endpoint.transformationPartialUpdate as a deprecated operation
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.70.0...v1.70.1
This is a breaking change, but based on server statistics this method is barely used by anybody
svix seed command to create testing resources (thanks @KranzAklilu)endpoint.transformationPartialUpdate to endpoint.patchTransformationEndpointTransformationIn with EndpointTransformationPatch
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.69.0...v1.70.0
Server: Reduce allocations (thanks @fluiderson!)
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.68.0...v1.69.0
Server: Ensure messagecontent expiration is set
Libs/Go: Disable HTTP/2 for API calls because it was causing issues for some users
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.66.0...v1.67.0
Libs/JavaScript: Fix response processing code for endpoints with an optional datetime field in the response body
Full Changelog: https://github.com/svix/svix-webhooks/compare/v1.65.0...v1.66.0
Libs/Python: Bring back the (deprecated) sync dashboard_access method, which was accidentally removed in v1.64.1
dashboard_access method, which was accidentally
removed in v1.64.1options argument to the SvixClient initializer is now optional.SvixOptions.BaseUrl field is deprecated in favor of SvixOptions.ServerUrl<Enum>From<UnderlyingType> map to all enums. For example BackgroundTaskStatusFromString["running"] will result in BACKGROUNDTASKSTATUS_RUNNINGcontent-type was not set on PUT requests/health endpoint by @CodeMan62 in https://github.com/svix/svix-webhooks/pull/1903Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Libs/JavaScript: Add HTTPValidationError, HttpErrorOut, ValidationError and ApiException to the top level exports.
HTTPValidationError, HttpErrorOut,
ValidationError and ApiException to the top level exports.pydantic >=2.10 in
setup.py.Your coding agent can read these notes before it upgrades. Set up the MCP server →