- Published on
Svix Changelog January 2025
- Authors
- Name
- Tom Hacohen
- @TomHacohen
Svix is the enterprise ready webhooks sending service. With Svix, you can build a secure, reliable, and scalable webhook platform in minutes. Looking to send webhooks? Give it a try!
Earlier this month we sent out an email to our newsletter asking an important question: What should Svix build, fix, or improve in 2025?
I want to thank again to everyone who replied, your feedback has been invaluable and we've already improved the product thanks to it. So thanks again! If you haven't responded yet, please do. I want to hear from you so that we can make the product better for everyone.
It was also great seeing people adopting both Svix Ingest and Polling Endpoints, and we already heard from multiple customers that they are planning on exposing Polling Endpoints to their customers soon.
Without further ado, here are some of the things we launched this month:
Polling Endpoints
In case you missed it, earlier this month we publicly released Polling Endpoints. Polling endpoints are similar to regular endpoints, except that instead of sending messages to a webhook URL they expose a special URL your customers can poll to get the messages.
This means that in addition to receiving webhooks to their HTTP endpoints, your customers can now also poll an endpoint to get all of the events in real-time and a consistent order.
Please read the announcement post for more information.
Svix Ingest improvements
We have made a few improvements to Svix Ingest since launch based on everyone's feedback (thanks again!). We have increased the payload size limits to 3mb to accommodate more use-cases (though that's much too large for webhooks), added many new source types, and implemented an easier way to rotate endpoint tokens.
Additionally, because Svix Ingest uses Svix under the hood, it now supports Polling Endpoints as well. Meaning you can use Svix Ingest to turn webhooks from any provider from push to pull (useful in some scenarios!).
Atomically modify endpoint headers in the app portal
Svix supports setting headers on an endpoint which are sent to the endpoint as part of webhook delivery. Before this change, each header was updated individually, so for example if you deleted an header it would immediately update the endpoint.
There are a few problems with this approach, but one of them was that you couldn't modify multiple endpoints atomically. We have now added "Save" and "Cancel" button to the UI in order to make the saving explicit and atomic.
"Replace all" when importing event types from an OpenAPI spec
Svix supports creating event types from an OpenAPI spec through the dashboard, the API, and the Github action. Before this change, this only supported adding and updating event types, but it would leave any other event types that already existed unmodified. With this change you can have Svix automatically archive every event type that doesn't exist in the OpenAPI spec.
const eventTypeImportOpenApiOut = await svix.eventType.importOpenapi({
spec: {
/* ... */
},
replaceAll: true, // Set this to true to delete redundant event types
})
API reference: type docs for list members
The tool we use for our API reference documentation (redoc) had a bug where they weren't correctly showing the type annotations of list members in the API docs. For example, our endpoint creation API would show channels
as a list of 10 items, without showing any restrictions on the items themselves. It now correctly shows the length and regex restrictions on these items. It's a small change, but quite a few people got confused by this. Thanks Redocly for fixing this!
Overhauled Svix CLI
Last, but not least: the Svix CLI got a major overhaul! The Svix CLI has been rewritten from the ground up and includes many improvements. First of all, a lot of it is now automatically generated from our OpenAPI spec (similarly to our libraries), which means it will be much easier for us to keep it up to date. Thanks to that, it's now fully up to date, and implements the full Svix API!
We also made a few quality of life improvements to how the commands are structured and the arguments that they accept to make it even easier to use. Another are that was improved is svix listen
, which now lets you run multiple instances in parallel!
Closing words
We have big plans for 2025, and we can't wait to share them. Please let us know if you have any feedback on the product, or anything else we can add or build to make your lives easier. Both Ingest and Polling Endpoints came from customer feedback, and we are sure ${next_big_thing}
will come from feedback as well. No feedback is too small!
For more content like this, make sure to follow us on Twitter, Github, RSS, or our newsletter for the latest updates for the Svix webhook service, or join the discussion on our community Slack.